亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學(xué)院 > 操作系統(tǒng) > 正文

kerneld mini-HOWTO

2024-07-26 00:31:26
字體:
供稿:網(wǎng)友
kerneld mini-HOWTO
1.7 版,上次由 Henrik Storner (storner@osiris.ping.dk)於 1997 年 7 月 19 日(storner@osiris.ping.dk) 更新。

曾達(dá)康 (a9504480@graduate.hku.hk) 於 1998 年 6 月 14 日完成翻譯。


--------------------------------------------------------------------------------


導(dǎo)言
此文件解釋如何使用 linux 核心中的 kerneld 功能。它會(huì)說明:

kerneld 是什麼 
為什麼要用它 
如何取得所需東西 
如何設(shè)定它 
如何告訴 kerneld 它不認(rèn)識(shí)的模組的資料 
如何偵察 kerneld (設(shè)定時(shí)可能有用) 
kerneld 的特別用途 
常見問題及怪事 
此文件的最新版本可在 http://eolicom.olicom.dk/~storner/kerneld-mini-HOWTO.html 找到。(譯按:中文版則可在 http://www.linux.org.tw/CLDP/mini/Kerneld.html 找到)在此 mini-HOWTO 推出的正式版本期間,你可在 http://eolicom.olicom.dk/~storner/kern.html 找到未經(jīng)組織的更新清單?!?

榮譽(yù)
如果你發(fā)現(xiàn)此文件中出現(xiàn)錯(cuò)誤,請(qǐng)告訴文章的原作者。以下各人都曾對(duì)本文作出貢獻(xiàn):

Bjorn Ekwall  
Ben Galliart  
Cedric Tefft  
Brian Miller  
James C. Tsiao  
我非常感謝此 mini-HOWTO 讀者寄給我們的鼓勵(lì)和提議。

(譯按∶當(dāng)然,如果問題出在譯文中,請(qǐng)通知曾達(dá)康?。?



--------------------------------------------------------------------------------


kerneld 是什麼?
kerneld 是由 Bjorn Ekwall 引入 1.3 版的發(fā)展核心 (development kernel) 的功能。它可在所有 2.0 及 2.1 版本的核心找到。它令模組 (modules)—即驅(qū)動(dòng)程式 (device drivers)、網(wǎng)絡(luò)驅(qū)動(dòng)器 (network drivers)、檔案系統(tǒng) (filesystems)—自動(dòng)在有需要時(shí)載入,而不需自行使用 modPRobe 或 insmod。

還有更有趣的東西,雖然它們尚未整合到標(biāo)準(zhǔn)的核心中∶

它可設(shè)定成不使用內(nèi)定的空白畫面,而讓你選擇其他程式,使你可自選螢?zāi)槐Wo(hù)器 (screen saver)。 
和螢?zāi)槐Wo(hù)器相似,你可把主控臺(tái) (console) 的‘嗶’聲改為完全不同的東西… 
kerneld 包括兩個(gè)獨(dú)立部分:

核心向監(jiān)控程式 (daemon) 就所需模組提出要求的支援?!?
懂找出所需模組來滿足核心要求的使用者層面 (user-level) 監(jiān)控程式?!?
要使用 kerneld,兩個(gè)部分都要正常運(yùn)作。只設(shè)定好其中一個(gè)是沒用的。



--------------------------------------------------------------------------------


為什麼要用它?
有不少好理由去使用 kerneld。這里提出的是我個(gè)人的——其他人可能有其他的理由。

如果你要為多個(gè)只有少許不同的系統(tǒng)(如使用不同的網(wǎng)絡(luò)控制卡)建立核心,你只需建立一個(gè)核心和數(shù)個(gè)模組,而不需為每個(gè)系統(tǒng)建立不同的核心?!?
對(duì)開發(fā)人員而言,模組比較容易測(cè)試—你不需重新啟動(dòng)電腦以載入及卸下驅(qū)動(dòng)程式(這點(diǎn)適用於所有模組,并不限於 kerneld 載入的)?!?
它減少核心占用的記憶體,即你有更多記憶體供其他程式使用。核心所占用的記憶體是 *永不* 被換出 (swap-out) 的,所以如果你的核心中有 100kB 沒用的驅(qū)動(dòng)程式的話,那只是在浪費(fèi)你的記憶體?!?
有一些我要用的東西,如 ftape floppy-tape driver 或 iBCS,只以模組形式出現(xiàn)。但我懶得自己載入和卸下它們?!?
Linux 發(fā)行者不再需要建立 284 個(gè)不同的開機(jī)影象 (boot images) —使用者只載入配合其硬件的驅(qū)動(dòng)程式。例如 RedHat 4.0 就使用了這方法。 
當(dāng)然,你也有不使用它的理由—你可能喜歡在一個(gè)核心映象 (kernel image) 中包括所有你要的驅(qū)動(dòng)程式。如果是這樣,你看錯(cuò)文章了。



--------------------------------------------------------------------------------


如何取得所需東西?
對(duì) kerneld 的支援始於 1.3.57 版。如果你正使用較舊的版本,你需要更新它才可用 kerneld 了。所有主要的 Linux ftp 臺(tái)都有核心的原程式碼。我建議你更新至最新版本的穩(wěn)定核心,2.0,目前是嵌補(bǔ)等級(jí) (patch level) 2.0.29?。ㄗg按:現(xiàn)時(shí)已是 2.0.35):

  ftp://sunsite.unc.edu/pub/Linux/kernel/v2.0/linux-2.0.29.tar.gz
  ftp://tsx-11.mit.edu/pub/linux/sources/system/v2.0/linux-2.0.29.tar.gz
  ftp://ftp.funet.fi/pub/Linux/PEOPLE/Linus/v2.0/linux-2.0.29.tar.gz
使用者層面的監(jiān)控程式包含在 modules-1.2.8 及更新的 modules-2.0 中。它們一般會(huì)和核心源程式碼在同一地點(diǎn)找到,而官方位置包括:

  ftp://sunsite.unc.edu/pub/Linux/kernel/v2.0/modules-2.0.0.tar.gz
  ftp://tsx-11.mit.edu/pub/linux/sources/sbin/modules-2.0.0.tar.gz
  ftp://ftp.funet.fi/pub/Linux/tools/modules-2.0.0.tar.gz
注意:如果你想在 2.1 版的開發(fā)核心嘗試載入模組,你必須用最新的 modutils-(不是 modules-)。但請(qǐng)看 以下有關(guān)模組和 2.1 版核心部分的問題。



--------------------------------------------------------------------------------


如何設(shè)定它?
首先要取得所需的東西:合用的核心部分及最新版的 modules-utilities。之後你要安裝 modules-utilities。十分簡單:只需把原程式碼解壓及執(zhí)行 make install. 這樣便會(huì)編譯 genksysm, insmod, lsmod, modprobe, depmod, kerneld,及把它們安裝到 /sbin。我建議你加數(shù)行到你的開機(jī)命令手稿 (startup-script) 來完成啟動(dòng)時(shí)所需的設(shè)定。如果你使用 Slackware,請(qǐng)把以下數(shù)行加入你的 /etc/rc.d/rc.S 檔,如果你使用 SysVinit,如 Debian, RedHat, Caldera,請(qǐng)把以下數(shù)行加入你的 /etc/rc.d/rc.sysinit 檔。(譯按:據(jù)我所知,RedHat 5.0的 SysVinit已加入此功能): 

        # Start kerneld - this should happen very early in the
        # boot process, certainly BEFORE you run fsck on filesystems
        # that might need to have disk drivers autoloaded
        if [ -x /sbin/kerneld ]
        then
                /sbin/kerneld
        fi

        # Your standard fsck commands go here
        # And you mount command to mount the root fs read-write

        # Update kernel-module dependencies file
        # Your root-fs MUST be mounted read-write by now
        if [ -x /sbin/depmod ]
        then
                /sbin/depmod -a
        fi

第一部分啟動(dòng) kerneld。

第二部分開始時(shí)執(zhí)行 'depmod -a'。depmod 建立所有可找到的模組的清單及分析它們之間互相依賴的情況。所以,它會(huì)知道載入一個(gè)模組前是否需要先載入其他模組。

注意∶最新版本的 kerneld 可選擇鏈結(jié) (link) GNU 的 dbm 程式庫 libgdbm。如果在編譯 module-utilities 時(shí)作了此抉擇,找不到 libgdbm 時(shí) kerneld 便不能啟動(dòng)。這很有可能當(dāng) /usr 在另一個(gè)磁碟分區(qū) (partition),而企圖在掛 (mount) /usr 前啟動(dòng) kerneld 時(shí)發(fā)生。建議的解決方法是把 libgdbm 從 /usr/lib 移到 /lib,或靜態(tài)連結(jié) kerneld (link kerneld statically)。 

之後,你要把核心的源程式解壓,設(shè)定及建立一個(gè)你喜歡的核心。如果你未試過這樣做,你必須閱讀在 Linux 源程式碼頂層目錄 (top directory) 中的 README 檔。在執(zhí)行 make config 設(shè)定核心時(shí),你要注意數(shù)條在早期出現(xiàn)的問題:

  Enable loadable module support (CONFIG_MODULES) [Y/n/?] Y

你要選擇 loadable module support,否則根本不會(huì)有模組讓 kerneld 載入。答 Yes?!?

  Kernel daemon support (CONFIG_KERNELD) [Y/n/?] Y

當(dāng)然,這也是需要的,很多東西都可建立為模組。你會(huì)見到類似的問題: 

  Normal floppy disk support (CONFIG_BLK_DEV_FD) [M/n/y/?] 

你可回答 'M' 來代表模組。通常只有開機(jī)時(shí)必須的驅(qū)動(dòng)程式,如硬碟機(jī)驅(qū)動(dòng)程式,和根目錄的檔案系統(tǒng)等必需建立在核心中。其他皆可建立為模組?!?

完成 'make config' 後,執(zhí)行 'make dep', 'make clean', 'make zImage' 或 'make zlilo', 'make modules' 和 'make modules_install'。

成功!

'make zImage' 會(huì)把你的新核心映像 (kernel image) 放到 arch/i386/boot/zImage。你要把它拷貝到你放置啟動(dòng)映像的地方或用 LILO 安裝它。

想得到更多有關(guān)設(shè)定,建立及安裝核心部分的資料,請(qǐng)閱讀定時(shí)貼上 comp.os.linux.answers 的Kernel-HOWTO ,你也可在 sunsite.unc.edu 的 /pub/Linux/docs/HOWTO 找到它。(譯按:中文版可在 http://www.linux.org.tw/CLDP/Kernel-HOWTO.html找到。) 



--------------------------------------------------------------------------------


試用 kerneld
現(xiàn)在你可用新的核心部分開機(jī)。在系統(tǒng)啟動(dòng)後,執(zhí)行 'ps -ax',你應(yīng)該會(huì)見到 kerneld 的一行:

    PID TTY STAT  TIME COMMAND
     59  ?  S     0:01 /sbin/kerneld

kerneld 其中一個(gè)好處是只要你有所需的核心及安裝好監(jiān)控程式,你只需作很少設(shè)定?,F(xiàn)在,你可嘗試用一個(gè)建立成模組的驅(qū)動(dòng)程式—它多數(shù)會(huì)不需再作設(shè)定而能使用。我把軟磁碟的驅(qū)動(dòng)程式建立成模組,所以我放入一只 DOS 磁碟及 

  osiris:~ $ mdir a:
   Volume in drive A has no label
   Volume Serial Number is 2E2B-1102
   Directory for A:/

  binuti~1 gz       1942 02-14-1996  11:35a binutils-2.6.0.6-2.6.0.7.diff.gz
  libc-5~1 gz      24747 02-14-1996  11:35a libc-5.3.4-5.3.5.diff.gz
          2 file(s)        26689 bytes

即是說軟磁碟的驅(qū)動(dòng)程式運(yùn)作正?!?dāng)我嘗試使用軟磁碟時(shí),它被自動(dòng)載入。

要看到軟磁碟的模組真的被載入,你可執(zhí)行 /sbin/lsmod,它會(huì)列出現(xiàn)時(shí)載入了的模組。

  osiris:~ $ /sbin/lsmod 
  Module:        #pages:  Used by:
  floppy            11    0 (autoclean)

"(autoclean)" 代表如果有一分鐘沒用此模組,它就會(huì)被 kerneld 自動(dòng)移走。所以,那 11 頁記憶體(44 kB,一頁等於 4kB)只會(huì)在我使用軟碟機(jī)時(shí)被占用。如果我一分鐘不用軟碟,它會(huì)被釋放。如果你的記憶體不敷應(yīng)用,這就太棒了!



--------------------------------------------------------------------------------


kerneld 如何知道該載入什麼模組?
雖然 kerneld 本身對(duì)常用的模組有所認(rèn)識(shí),有時(shí)它會(huì)不知如何應(yīng)付核心提出的要求。例如光碟機(jī)驅(qū)動(dòng)程式或網(wǎng)絡(luò)驅(qū)動(dòng)程式等可能需要超過一個(gè)模組的情形?!?

kerneld 從核心部分會(huì)收到以下種類的要求:

區(qū)塊設(shè)備驅(qū)動(dòng)程式 (a block-device driver) 
字元設(shè)備驅(qū)動(dòng)程式 (a character-device driver) 
二元格式 (a binary format) 
tty 連線規(guī)則 (a tty line discipline) 
檔案系統(tǒng) (a filesystem) 
網(wǎng)絡(luò)設(shè)備 (a network device) 
網(wǎng)絡(luò)服務(wù) (a network service),如 rarp 
網(wǎng)絡(luò)協(xié)定 (a network protocol),如 IPX 
kerneld 從架構(gòu)檔案 (configuration file) /etc/conf.modules 中得知有什麼模組需要載入。這里有兩類項(xiàng)目:路徑 (paths)(模組檔案的位置)和代號(hào) (aliases)(要載入什麼模組)。如果你未有此檔,你可用以下方法自己制造: 

  /sbin/modprobe -c | grep -v '^path' >/etc/conf.modules

如果你想加多一個(gè)路徑到預(yù)定路徑中,你必須包括所有現(xiàn)有的路徑。因?yàn)樵凇?etc/conf.modules 里的一個(gè)路徑項(xiàng)目會(huì)取代 所有 modprobe 內(nèi)置的路徑!

通常你是不用自己加上路徑的,因?yàn)轭A(yù)設(shè)的路行將己照顧到所有正常的設(shè)定。我可保證!

另一方面,如果你只想加入代號(hào) (alias) 或者選項(xiàng) (option directive),你在 /etc/conf.modules 的新項(xiàng)目會(huì)加入到 modprobe 所知的。如果你想再定義一個(gè)代號(hào)或選擇,你在 /etc/conf.modules 中的項(xiàng)目會(huì)凌駕預(yù)設(shè)那個(gè)。

區(qū)塊設(shè)備
如果你執(zhí)行 '/sbin/modprobe -c',你會(huì)得到一個(gè) kerneld 已知的模組的名單及它們所對(duì)應(yīng)的要求。例如,導(dǎo)致載入軟碟驅(qū)動(dòng)程式的要求是主號(hào)碼 (major number) 是 2 的區(qū)塊設(shè)備?!?

  osiris:~ $ /sbin/modprobe -c | grep floppy
  alias block-major-2 floppy

為什麼是 block-major-2?因?yàn)檐浀O(shè)備 /dev/fd* 的主號(hào)碼 (major number) 是 2 ,又是區(qū)塊設(shè)備。

  osiris:~ $ ls -l /dev/fd0 /dev/fd1
  brw-rw-rw-   1 root     root       2,   0 Mar  3  1995 /dev/fd0
  brw-r--r--   1 root     root       2,   1 Mar  3  1995 /dev/fd1

字元設(shè)備
字元設(shè)備的方法處理也差不多。例如 ftape floppy tape driver 的是 major-device 27:

  osiris:~ $ ls -lL /dev/ftape 
  crw-rw----   1 root     disk      27,   0 Jul 18  1994 /dev/ftape

但 kerneld 本身并不知道 ftape 驅(qū)動(dòng)程式,它不會(huì)在 '/sbin/modprobe -c' 的結(jié)果中出現(xiàn)。

所以,要使 kerneld 載入 ftape 驅(qū)動(dòng)程式,我要加一行到 kerneld 的設(shè)定檔 /etc/conf.modules 中:

  alias char-major-27 ftape

網(wǎng)絡(luò)設(shè)備
你也可以用設(shè)備的名稱來代替那些 'char-major-xxx' 或 'block-major-yyy' 設(shè)定。這樣對(duì)網(wǎng)絡(luò)設(shè)備尤其有用,例如把 ne2000 網(wǎng)絡(luò)卡用作 eth0 可以籍此載入:

  alias eth0 ne

如果你需要傳遞一些選項(xiàng)給你的驅(qū)動(dòng)程式,例如告訴模組這網(wǎng)絡(luò)卡使用什麼 IRQ,你可加上如下一 'options' 行:

  options ne irq=5

這樣會(huì)使 kerneld 用以下指令來載入 NE2000 驅(qū)動(dòng)程式∶

  /sbin/modprobe ne irq=5

當(dāng)然,實(shí)際上所用的選項(xiàng)會(huì)因應(yīng)所用模組而有所不同。

二元格式
二元格式也以相似的方法處理。每當(dāng)你嘗試執(zhí)行一個(gè)核心不懂載入的程式,kerneld 便會(huì)收到一個(gè) "binfmt-xxx" 的要求, xxx 是一個(gè)由檔案開頭數(shù)個(gè)字元決定的數(shù)字。使 kerneld 為 ZMAGIC (a.out) 執(zhí)行檔載入 binfmt_aout 模組的設(shè)定是:

  alias binfmt-267 binfmt_aout

因?yàn)椤MAGIC 檔的幻數(shù) (magic number) 是 267。(如果你查看 /etc/magic,你會(huì)見到 0413 這個(gè)數(shù)字,但 /etc/magic 使用八進(jìn)位數(shù) (octal numbers) 而 kerneld 使用十進(jìn)數(shù) (decimal),而八進(jìn)位的 413 即十進(jìn)數(shù)的 267。)由於 a.out 格式共有三款稍為稍為不同的可執(zhí)行檔 (NMAGIC, QMAGIC and ZMAGIC),要全面支援 binfmt_aout 模組我們需要 

  alias binfmt-264 binfmt_aout  # pure executable (NMAGIC)
  alias binfmt-267 binfmt_aout  # demand-paged executable (ZMAGIC)
  alias binfmt-204 binfmt_aout  # demand-paged executable (QMAGIC)

kerneld 可自動(dòng)辨認(rèn) a.out, java 和 iBCS 二元格式,毋須特別設(shè)定。

連線規(guī)則 (slip, cslip and ppp)
連線規(guī)則用 "tty-ldisc-x"來作要求,而 x 一般是 1 (slip) 或 3 (ppp)。kerneld 本身都認(rèn)識(shí)這兩樣。

說起 ppp,如果你想 kerneld 載入 bsd_comp 資料壓縮模組,你需要加兩行到 /etc/conf.modules 中:

  alias tty-ldisc-3 bsd_comp
  alias ppp0 bsd_comp

網(wǎng)絡(luò)協(xié)定 (IPX, AppleTalk, AX.25)
部分網(wǎng)絡(luò)協(xié)定也可以模組載入。核心要用到一個(gè)網(wǎng)絡(luò)家族 (network family)(如 IPX)時(shí),會(huì)向 kerneld 作出對(duì)一個(gè)類似 "net-pf-X" 的要求,而 X 是一個(gè)代表所屬家族的數(shù)字。例如 net-pf-3 是 AX.25,net-pf-4 是 IPX,而 net-pf-5 是 AppleTalk。(這些數(shù)字是由 linux 源程式檔 include/linux/socket.h 中 AF_AX25, AF_IPX 的定義而來的。)故此要自動(dòng)載入 IPX 模組,你要加一個(gè)類似以下的項(xiàng)目到 /etc/conf.modules 中:

  alias net-pf-4 ipx

也請(qǐng)閱讀以下有關(guān)防止開機(jī)時(shí)出現(xiàn)關(guān)於未定義的協(xié)定的常見問題。

檔案系統(tǒng)
有關(guān)檔案系統(tǒng)的 kerneld 要求就是檔案系統(tǒng)的名稱。一個(gè)常見的用途是為光碟載入 isofs 的模組,例如 "iso9660" 檔案系統(tǒng):

  alias iso9660 isofs



--------------------------------------------------------------------------------


需要特別設(shè)定的設(shè)備
部分設(shè)備不只要使用代碼 (aliasing),還要其他設(shè)定,如模組的設(shè)備 (a device to a module)?!?

主數(shù)碼 10 的字元設(shè)備:雜項(xiàng)設(shè)備 (The miscellaneous devices) 
SCSI 設(shè)備 
需特別初始化 (initialization) 的設(shè)備 



char-major-10:滑鼠、看門狗和隨機(jī)數(shù) (Mice, watchdogs and randomness)
大多數(shù)硬件設(shè)備都以主數(shù)碼分辨,例如 ftape 是 char-major-27。但如果你看看在 /dev 中主數(shù)碼是 10 的字元設(shè)備,你會(huì)見到一堆毫無關(guān)連的設(shè)備,包括:

各種各樣的滑鼠(bus mice, PS/2 mice) 
看門狗設(shè)備 (watchdog devices) 
核心的 'random' 設(shè)備 
APM 介面 (Advanced Power Management interface) 
很明顯,這些設(shè)備是由多個(gè)不同的模組控制的。所以,這些雜項(xiàng)設(shè)備的 kerneld 設(shè)定用到主號(hào)碼及副號(hào)碼 (the major number and the minor number):

        alias char-major-10-1 psaux     # For PS/2 mouse
        alias char-major-10-130 wdt     # For WDT watchdog

要用到此特性,你需要一個(gè) 1.3.82 或之後的核心部分。較舊的核心不會(huì)把副號(hào)碼傳給 kerneld,因此,kerneld 不能找出所需要的雜項(xiàng)設(shè)備。


載入 SCSI 驅(qū)動(dòng)程式: scsi_hostadapter 項(xiàng)目
SCSI 設(shè)備包括一個(gè) SCSI 配接卡 (SCSI host adapter, 例如 Adaptec 1542)及一個(gè)所需設(shè)備(如硬碟機(jī) (hard disk)、光碟機(jī) (CD-ROM) 或磁帶機(jī) (tape-drive))的驅(qū)動(dòng)程式。這全都可以模組來載入。但是,當(dāng)你想存取連接到 Adaptec 卡的光碟機(jī)時(shí),核心和 kerneld 只知道它需要載入 sr_mod 模組來支援那 SCSI 光碟機(jī)—它不知道那光碟機(jī)連接到什麼 SCSI 控制器 (SCSI controller),所以不知道載入什麼模組來支援那光碟機(jī)。

要解決這問題,你可加一個(gè)你的 SCSI 驅(qū)動(dòng)程式的項(xiàng)目到你的 /etc/conf.modules 中,籍以告訴 kerneld 如何在眾多 SCSI 控制器模組中選擇:

        alias scd0 sr_mod               # sr_mod for SCSI CD-ROM's ...
        alias scsi_hostadapter aha1542  # ... need the Adaptec driver

這只適用於 1.3.82 或之後的核心。

這方法只當(dāng)你只用一個(gè) SCSI 控制器時(shí)適用。如果你有超過一個(gè),難度就高一點(diǎn)。

一般來說,如果已經(jīng)載入了一個(gè)配接器,你不能再叫 kerneld 載入另一個(gè)。你可把兩個(gè)都編譯到核心中(不用模組),或自己把模組載入。

事實(shí)上,有一個(gè)方法可使 kerneld 載入多個(gè) SCSI 驅(qū)動(dòng)程式。James Tsiao 有以下提議:


  只要你親手建立 modules.dep 的倚賴 (dependency),你可很輕易使
  得 kerneld 載入第二個(gè) SCSI 驅(qū)動(dòng)程式。你只需一個(gè)類似的項(xiàng)目:
  
     /lib/modules/2.0.30/scsi/st.o: /lib/modules/2.0.30/scsi/aha1542.o
     
  來使 kerneld 在載入 st.o 前先載入 aha1542.o。我家中的電腦就使用
  了幾乎相同的設(shè)定,對(duì)我所有二級(jí) SCSI 設(shè)備 (secondary scsi devices),
  包括磁帶機(jī)、光碟機(jī)和其他一般的 SCSI 設(shè)備都沒問題。缺點(diǎn)是
  'depmod -a' 不能自動(dòng)查出這些倚賴,所以你要自己加入這些,而且不
  可在開機(jī)時(shí)執(zhí)行 'depmod -a'。但只要設(shè)定好了,kerneld 就能自動(dòng)載入
  aha1542.o。
你要知道這技考只當(dāng)你有不同種類的 SCSI 設(shè)備接駁在兩個(gè)控制器時(shí)才有用,例如,把硬碟駁在其中一個(gè),而把光碟機(jī)、磁帶或其他 SCSI 駁到另一個(gè)。



要載入超過一個(gè)模組時(shí):“post-install”項(xiàng)目
有時(shí),只把模組載入不足以使設(shè)備運(yùn)作。例如,如果你把音效卡編譯為模組,你也會(huì)希望調(diào)整至適當(dāng)音量。問題題你的設(shè)定在下次載入時(shí)便會(huì)失去。這里是由 Ben Galliart (bgallia@luc.edu) 提供的秘訣:

  最終的解決方法需要安裝 setmix-0.1
   ( ftp://sunsite.unc.edu/pub/Linux/apps/sound/mixers/setmix-0.1.tar.gz )

  之後把以下一行加到我的 /etc/conf.modules:
       post-install sound /usr/local/bin/setmix -f /etc/volume.conf

這樣,當(dāng)音效的模組載入後,kerneld 會(huì)執(zhí)行 'post-install sound' 項(xiàng)目的指令。因此該模組會(huì)被 '/usr/local/bin/setmix -f /etc/volume.conf 指令設(shè)定好?!?

這方法對(duì)其他模組也有用,例如 lp 模組可籍以下一句用 tunelp 程式設(shè)定好:

        post-install lp tunelp 

只有 1.3.69f 版或之後的 kerneld 才支援這些選項(xiàng)。

注意:?。捍恕ini-HOWTO 的較舊版本曾提及一個(gè) "pre-remove" 選項(xiàng),讓你可在 kerneld 卸下一個(gè)模組時(shí)執(zhí)行一個(gè)指令。但這從未成功,因此并不鼓勵(lì)使用。這個(gè)選項(xiàng)多數(shù)會(huì)在未來版本的 kerneld 中消失。所有有關(guān)模組 "設(shè)定" 的事情都在改變中,在你看到這文件時(shí),可能已有所不同了。



--------------------------------------------------------------------------------


偵察 kerneld
如果你什麼方法都已試過,但仍找不出核心在要在 kerneld 做什麼,你可用一個(gè)方法找出 kerneld 收到什麼要求,從而知道該加什麼到 /etc/conf.modules。你需要 kdstat 程式。

這個(gè)好用的程式已包括在 modules-package 中,但預(yù)定是不會(huì)編譯及安裝的。你可用以下方法建立它:

  cd /usr/src/modules-2.0.0/kerneld
  make kdstat

之後,要使 kerneld 顯示它正在做什麼,執(zhí)行 

  kdstat debug

kerneld 便會(huì)開始在主控臺(tái)印出其工作的資料。當(dāng)你執(zhí)行所需的指令時(shí),你會(huì)見到 kerneld 收到的要求。這些要求可放到 /etc/conf.modules 中,加上所需模組的別名 (alias),便可使工作完成。

要停止除錯(cuò)時(shí),執(zhí)行 '/sbin/kdstat nodebug'。



--------------------------------------------------------------------------------


kerneld 的特殊用途
我知道你想問如何設(shè)定螢?zāi)槐Wo(hù)程式 (screensaver) 的模組…

modules-package 的 'kerneld/GOODIES' 目錄中有一些和螢?zāi)槐Wo(hù)程式及主控臺(tái)嗶聲支援有關(guān)的核心修補(bǔ) (kernel patches)。它們尚未在官方的核心出現(xiàn)。所以你要自行修正及重新編譯核心。

要安裝修補(bǔ),你要用 "patch" 指令:

  cd /usr/src/linux
  patch -s -p1 
之後重建安裝新核心。

當(dāng)螢?zāi)槐Wo(hù)程式啟動(dòng)時(shí),kerneld 會(huì)執(zhí)行 "/sbin/screenblanker" 指令。這可以是一個(gè)執(zhí)行你喜歡的螢?zāi)槐Wo(hù)程式的命令手稿 (shell script)。

在核心想重繪螢?zāi)粫r(shí),它會(huì)送出一個(gè) SIGQUIT 訊號(hào)到正執(zhí)行 /sbin/screenblanker 的行程 (process)。你的命令稿或螢?zāi)槐Wo(hù)程式要捕捉 (trap) 這訊號(hào)及結(jié)□。記著之後還要把螢?zāi)贿€原到原本的文字模式 (text mode)。



--------------------------------------------------------------------------------


常見問題及你可能懷疑的事情
為何當(dāng)我執(zhí)行 ifconfig 時(shí)為何我會(huì)得到 "Cannot locate module for net-pf-X" 訊息
在核心 1.3.80 左右,網(wǎng)絡(luò)的程式修改至容許把通訴協(xié)定 (protocol families,如 IPX, AX.25 和 AppleTalk) 載入為模組。這導(dǎo)致額外的 kerneld 要求:net-pf-X,X 是一個(gè)用以辨別通訊協(xié)定的數(shù)字(參看 /usr/src/linux/include/linux/socket.h 來找出不同數(shù)字的意思)。
不幸地,ifconfig 會(huì)意外地造成這些訊息,所以很多人會(huì)在開機(jī)期間執(zhí)行 ifconfig 來設(shè)定回歸設(shè)備 (loopback device) 時(shí)收到。這些訊息并無壞處,你可在 /etc/conf.modules 中加入以下數(shù)行來避免它們:

        alias net-pf-3 off      # Forget AX.25
        alias net-pf-4 off      # Forget IPX
        alias net-pf-5 off      # Forget AppleTalk

當(dāng)然,如果你把 IPX 編譯了為模組,你不可加上和它有關(guān)的一行。


開始 Kerneld 後,啟動(dòng) PPP 連線會(huì)使我的電腦慢如蝸牛
已經(jīng)有多個(gè)這類個(gè)案。這似乎是因?yàn)椤erneld 和部分系統(tǒng)用來設(shè)定和監(jiān)察 PPP 連線的 tkPPP script 不正常地互相影向所致。因?yàn)槟恰cript 在執(zhí)行 ifconfig 時(shí)好像用到回圈 (loops)。這樣會(huì)觸發(fā) kerneld 找尋 net-pf-X 模組(見前),增加系統(tǒng)工作量和可能導(dǎo)致系統(tǒng)紀(jì)錄 (system log) 中出現(xiàn)大量 "Cannot locate module for net-pf-X" 訊息。除了不使用 tkPPP 或改用其他方法來監(jiān)察連線,這問題未有其他解決方法。

kerneld 不載入我的 SCSI 驅(qū)動(dòng)程式!
在你的 /etc/conf.modules 中加上一個(gè) SCSI 配接器的項(xiàng)目。詳情這看之前有關(guān) scsi_hostadapter 的部分?!?

modprobe 投訴 'gcc2_compiled' 未定義 (undefined)
這是 module-utilities 的一個(gè)錯(cuò)誤。它只在使用 binutils 2.6.0.9 或更新版本時(shí)出現(xiàn),而且已在 binutils 的出版說明 (release note) 中說明。所以你應(yīng)該看看它。你也可更新 module-utilities,如 modules-2.0.0 來解決這問題。

我的音響驅(qū)動(dòng)程式 (sound driver) 老是忘記音量之類設(shè)定
模組載入後的設(shè)定是儲(chǔ)存在模組之內(nèi)的。所以,當(dāng) kerneld 自動(dòng)卸下模組時(shí),你所做的設(shè)定都會(huì)被忘掉,下次載入時(shí)又回復(fù)原狀。

你可使 kerneld 在自動(dòng)載入模組後執(zhí)行一個(gè)程式,以作出設(shè)定。請(qǐng)參看以上有關(guān) 'post-install' 項(xiàng)目的部分。

DOSEMU 需要一些模組,我怎樣使 kerneld 載入它們?
你不能。不論是官方 (official) 或開發(fā) (development) 版的 dosemu,都不支援用 kerneld 載入 dosemu 模組。不過,如果你有 2.0.26 或更新的核心,你不再需要那些 dosemu 模組 -- 你只需要更新 dosemu 至 0.66.1 版。(譯按∶目前最新的 DOSEMU 穩(wěn)定版本 (stable version) 是 0.66.7。)

為何會(huì)有 "Ouch, kerneld timed out, message failed" 這訊息?
當(dāng)核心對(duì) kerneld 作出要求時(shí),它會(huì)期望在 1 秒之內(nèi)得到應(yīng)答 (acknowledgement)。如果 kerneld 不作出回應(yīng),這個(gè)訊息會(huì)被記錄下來 (logged)。這要求會(huì)再被提出,直到完成為止。

這通常在系統(tǒng)負(fù)荷 (load) 非常高時(shí)發(fā)生。因?yàn)椤erneld 也是一個(gè)使用者行程 (user-process),它會(huì)如其他程序般排程 (scheduling)。負(fù)荷高時(shí),它可能來不及在核心超時(shí) (time out) 前作出回應(yīng)。

如果這問題在負(fù)荷低時(shí)也發(fā)生,請(qǐng)?jiān)賳?dòng) kerneld?。⒌簟erneld 行程,以 /usr/sbin/kerneld指令來重新開始它)。如果仍有問題,你應(yīng)該寄一份錯(cuò)誤報(bào)告給linux-kernel@vger.rutgers.edu,但在寄出前請(qǐng)先確保你的核心和 kerneld 都是最新的。

mount 不等待 kerneld 載入檔案系統(tǒng)模組
已經(jīng)收到一定數(shù)目有關(guān) mount (8) 指令不等待 kerneld 載入檔案系統(tǒng)模組的報(bào)告?!smod 顯示模組已被載入,如果你立刻再執(zhí)行 mount 的話便會(huì)成功。這似乎是 module-utilities 1.3.69f 版中一個(gè)會(huì)影響 Debian 使用者的錯(cuò)誤,使用一個(gè)新版的 module-utilities 可解決這問題。

kerneld 不能載入 ncpfs 模組
你編譯 ncpfs utilities 時(shí)要用 -DHAVE_KERNELD。請(qǐng)參閱 ncpfs 的 Makefile。

kerneld 不能載入 smbfs 模組
你在使用一個(gè)舊的 smbmount utilities。請(qǐng)從 ftp://tsx-11.mit.edu/pub/linux/filesystems/smbfs/ 下載最新版本 (0.10 或之後)。

我把所有東西都編譯成模組,現(xiàn)在我的系統(tǒng)不能啟動(dòng)
kerneld 不能載入根檔案系統(tǒng) (root filesystem) 模組。
你不可把所有東西都編譯成模組∶核心要有足夠的驅(qū)動(dòng)程式以使它能掛上 (mount) 根檔案系統(tǒng),和執(zhí)行所有要用於啟動(dòng) kerneld 的程式。所以你不能把以下東西模組化∶

根檔案系統(tǒng)所在的硬碟的驅(qū)動(dòng)程式 
根檔案系統(tǒng)的驅(qū)動(dòng)程式 
init, kerneld和其他程式的二元格式載入程式 (binary format loader) 
[事實(shí)上,這并不正確。新的 1.3.x 及所有 2.0.x 核心都容許 LILO 或 LOADLIN 載入初始的 ram-disk,而你可以在啟動(dòng)的早期在這『磁碟』中載入模組。做法可在核心原程式碼中的 Documentation/initrd.txt 檔中可找到。] 

kerneld 不能在啟動(dòng)時(shí)載入 -- 投訴 libgdbm
較新版的 kerneld 要 GNU dbm 程式庫 libgdbm.so 才能執(zhí)行。大多數(shù)的安裝程式都會(huì)把這檔案放在 /usr/lib,而你多數(shù)是在掛上 /usr 檔案系統(tǒng)前執(zhí)行了 kerneld。這問題的其中一個(gè)癥狀是 kerneld 在啟動(dòng)時(shí)不能籍 rc-scripts 載入,但如果你在啟動(dòng)系統(tǒng)後自己開始它,它便沒有問題。解決方法,一是把 kerneld 的啟動(dòng)放在掛上 /usr 後,另一是把 gdbm 程式庫放到你的根檔案系統(tǒng),如 /lib。

我重新設(shè)定核心至沒有 xxx 支援後出現(xiàn) "Cannot load module xxx"
Slackware(其他也可能)會(huì)在安裝時(shí)籍執(zhí)行 modprobe 來建立一個(gè)預(yù)設(shè)的 /etc/rc.d/rc.modules。modprode 得出來的結(jié)果會(huì)因原本的核心的設(shè)定而異。你可能在重新設(shè)定時(shí)排除了一些在 rc.modules 的模組,因此造成錯(cuò)誤。你可把你在 rc.modules 中不用的模組變?yōu)樽⑨尅?comment out),或刪除 rc.modules,讓 kerneld 在需要模組時(shí)自行載入。

我重新建立了核心及模組,但在啟動(dòng)時(shí)仍出現(xiàn)未分辨的符號(hào) (unresolved symbol) 訊息
你可能在設(shè)定或建立新核心時(shí)排除了一些模組,但已不用的舊模組仍在 /lib/modules 目錄下。最簡單的解決方法是刪除你的 /lib/modules/x.y.z 目錄及在核心的源程式碼的目錄下做一次 'make modules_install'。這問題只在重新設(shè)定同一版本的核心時(shí)發(fā)生。如果你在更新核心時(shí)遇到此問題,你有其他問題。

我安裝了 Linux 2.1 後不能載入任何模組
Linux 2.1 是目前的開發(fā)核心 (development kernel)。也就是說,它隨時(shí)可能出現(xiàn)錯(cuò)誤。其中一樣大幅改變的是模組的處理方法,及核心和模組載入到什麼地方。Richard Henderson 現(xiàn)正負(fù)責(zé)核心的模組發(fā)展。

總結(jié)一句,如果你想在 2.1 版核心使用模組,你要∶

閱讀 Documentation/Changes 檔案及找出更新你的系統(tǒng)所需的模組 
使用最新的 modutils,可從以下地方得到ftp://ftp.redhat.com/pub/alphabits/ 或在ftp://tsx-11.mit.edu/pub/linux/packages/alphabits/ 的映像站 (mirror site) 
如果你想在 2.1 版核心使用模組的話,我會(huì)建議最少使用 2.1.29 版的核心。



自選撥號(hào) (dial-on-demand) 網(wǎng)絡(luò)又怎樣?
kerneld 對(duì)有需要時(shí)建立網(wǎng)絡(luò)連線原本有些支援。嘗試在沒有連線時(shí)傳送訊息包 (packet) 會(huì)使 kerneld 執(zhí)行 /sbin/request_route 命令稿來建立 PPP 或 SLIP 連線。

這并不是一個(gè)好方法。Linux 網(wǎng)絡(luò)發(fā)展人員 Alan Cox 在 Linux 核心的通信論壇 (Mailing List) 中批評(píng)∶ 

  路徑要求 (request-route) 的東西是過時(shí)、不對(duì)及無用的 [...],它已在
  2.1.x 的源程式碼中消失。
我誠心建議你從 http://www.dna.lth.se/~erics/diald.html 取 Eric Schenk 的 diald 套裝軟件來安裝,而不要使用路徑要求及 kerneld。



--------------------------------------------------------------------------------


版權(quán)訊息
This document is Copyright (c) Henrik Storner, 1996, 1997.

Unless otherwise stated, Linux HOWTO documents are copyrighted by their respective authors. Linux HOWTO documents may be reproduced and distributed in whole or in part, in any medium physical or electronic, as long as this copyright notice is retained on all copies. Commercial redistribution is allowed and encouraged; however, the author would like to be notified of any such distributions. 

All translations, derivative works, or aggregate works incorporating any Linux HOWTO documents must be covered under this copyright notice. That is, you may not produce a derivative work from a HOWTO and impose additional restrictions on its distribution. Exceptions to these rules may be granted under certain conditions; please contact the Linux HOWTO coordinator at the address given below. 

In short, we wish to promote dissemination of this information through as many channels as possible. However, we do wish to retain copyright on the HOWTO documents, and would like to be notified of any plans to redistribute the HOWTOs. 

If you have questions, please contact Tim Bynum, the Linux HOWTO coordinator, at linux-howto@sunsite.unc.edu via email. 

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
av超碰在线| 老司机一区二区三区| 狠狠狠狠狠狠狠| 日韩一区二区免费视频| 欧美中文字幕在线| 久久爱一区二区| 制服.丝袜.亚洲.中文.综合懂色| 亚洲国产成人一区二区三区| 亚洲日韩欧美一区二区在线| 免费网站免费进入在线| 欧美国产综合色视频| 一区二区三区精品国产| 日韩欧美在线一区| 国产麻豆一区二区三区在线观看| 91wwwcom在线观看| 五月婷婷激情五月| p色视频免费在线观看| 亚洲电影二区| 亚洲伦理影院| 无码久久精品国产亚洲av影片| 免费成人美女女| 久久影院朴妮唛| 欧美aaa免费| 欧美老女人性生活| 最新热久久免费视频| 无遮挡h肉3d动漫在线观看| 色8久久人人97超碰香蕉987| av片在线观看| 1024精品合集| 精品久久久久香蕉网| 久久青草欧美一区二区三区| 卡一卡二卡三在线观看| 久久午夜激情| 欧美精品精品精品精品免费| 天天性天天草| 国产精品国产三级国产专播品爱网| 午夜电影网一区| h视频免费在线观看| 天堂在线观看免费视频| 精品婷婷伊人一区三区三| 精品久久一二三区| 91精品国产自产在线老师啪| 成人免费在线网址| 一区二区三区免费在线看| 清纯粉嫩极品夜夜嗨av| 尤物视频在线免费观看| 国产乡下妇女做爰毛片| 日韩电影中文字幕av| 国产一级片一区二区| 成人片在线免费看| 自产国语精品视频| 91精品综合久久久久久五月天| 黄网站免费久久| 中文字幕一区二区三区四区五区人| 日韩大胆视频| 鲁大师私人影院在线观看| 337p粉嫩大胆噜噜噜噜噜91av| 中国人体摄影一区二区三区| 天天操天天干天天玩| 国产在线观看网站| 日韩你懂的电影在线观看| 亚洲天堂av片| 福利视频网站导航| 久久艹精品视频| 国产精品露脸av在线| 波多野结衣三级在线| 久久精品国产久精国产思思| 天堂免费在线视频| 成人国产1314www色视频| 成人在线视频区| 波多野结衣视频免费观看| av电影网站在线观看| 日韩精品在线视频免费观看| www狠狠操| 345成人影院| 91精品一区二区三区在线观看| 欧美啪啪精品| 98视频在线噜噜噜国产| 中文字幕一区在线| 亚洲免费看av| 精品视频在线视频| 成人观看免费完整观看| 日日橹狠狠爱欧美超碰| 99t1这里只有精品| 亚洲永久在线| 欧美性猛交内射兽交老熟妇| 国产一区二区三区视频在线| 伊人久久大香线蕉av一区| 五月天婷婷社区| 国产精品美女久久福利网站| 果冻天美麻豆一区二区国产| 黄在线免费观看| 国产精品.www| 成人免费在线观看| 亚洲欧美日韩国产中文专区| 成年人网站免费观看| 久久久久久成人网| 欧美成熟毛茸茸复古| aaa免费在线观看| 亚洲一区二区三区香蕉| 国内久久婷婷综合| 夫妇露脸对白88av| 伊人成年综合电影网| 少妇高潮一69aⅹ| 激情久久一区二区| 日产电影一区二区三区| 国产片侵犯亲女视频播放| 特黄特色欧美大片| 四色成人av永久网址| 野花国产精品入口| 午夜视频在线观看免费视频| 一区二区三区在线免费| 免费看一级大片| 国产精品国产三级国产aⅴ原创| 免费高清完整在线观看| 欧美极品视频在线观看| 亚洲免费福利视频| 日本wwww视频| 午夜亚洲性色视频| 美女在线视频免费| 天天综合日日夜夜精品| 精品视频免费看| 欧美在线性视频| 国产精品色呦呦| 久久91超碰青草是什么| 99久久久久久中文字幕一区| 亚洲妇女屁股眼交7| 我想看黄色大片| 色老汉av一区二区三区| 国产99久久精品一区二区300| 国产一区二区在线网站| 日韩一区二区a片免费观看| 综合激情网五月| 久久久久久久久久久久久国产精品| 欧美激情精品在线| 久久精品视频在线观看免费| 蜜臀av一区二区在线免费观看| 1769视频在线播放免费观看| 刘亦菲一区二区三区免费看| 伊人午夜电影| 国产精品第一页第二页第三页| 国产精品网站在线观看| 久久这里只有精品视频网| 天天做日日爱夜夜爽| 国产综合视频在线| 日本在线播放一区| 日韩大片在线观看视频| 69xxxx国产| 欧美精品a∨在线观看不卡| 欧美亚洲另类在线观看| 国产aⅴ精品一区二区四区| 精品三级久久| 国产69精品久久777的优势| 中文字幕永久免费| 在线高清一区| 91popny丨九色丨国产| 特黄毛片在线观看| 欧美理论在线播放| 国产又大又长又粗| 999视频精品| 69堂亚洲精品首页| 开心久久婷婷综合中文字幕| 国产最新免费视频| 91看片淫黄大片一级在线观看| 99久热re在线精品视频| 欧美床上激情在线观看| 香蕉视频国产精品| 国产日韩欧美中文在线| 欧美色精品在线视频| 日韩欧美在线观看强乱免费| 国产寡妇亲子伦一区二区三区四区| 欧美激情网址| 久久精品日韩| 国产伦精品一区三区精东| 3d动漫精品啪啪| 无圣光视频在线观看| 91国产精品电影| 免费色片视频| 国产精品视频在线免费观看| 清清草免费视频| 欧美亚洲一区二区三区| 中出在线观看| 精品人伦一区二区三区| 国产盗摄一区二区三区在线| 色婷婷综合久久久中文一区二区| 日韩欧美国产激情| 久久99精品一区二区三区三区| 中文字幕在线播放一区二区| 欧美日本中文字幕| 精品人伦一区二区三区蜜桃网站| 天天综合网 天天综合色| 黑人一区二区| 亚洲视频视频在线| 成人在线视频一区二区三区| 四虎地址8848精品| 亚洲AV无码成人精品区明星换面| 在线成人av| aa成人免费视频| 一本—道久久a久久精品蜜桃| 精品在线视频一区| 久久91在线| 少女频道在线观看免费播放电视剧| 国产精品天堂| 成人动漫在线视频| 超碰国产一区| 国产一区二区三区天码| xx欧美xxx| 久久精品成人一区二区三区蜜臀| 国产一二三四区在线观看| 亚洲a v网站| 久久久亚洲国产| 国产精品电影一区二区三区| 黄色网页大全| 黄页网站大全在线观看| 婷婷五月综合缴情在线视频| 精品午夜久久| 日韩在线第二页| 天天插天天干天天操| 99视频精品视频高清免费| 最新中文字幕在线观看视频| 精品无人区卡一卡二卡三乱码免费卡| 视频二区欧美| 99热这里都是精品| 国产一区导航| 香蕉视频在线播放| 亚洲免费在线视频| 国产模特av私拍大尺度| 日本久久电影网| 亚洲无在线观看| 瑜伽美女视频| 国产成人精品免费看在线播放| 精久久久久久久久久久| 久久久久久免费毛片精品| 国产成人综合亚洲91猫咪| 欧美在线影院一区二区| 国产h视频在线观看| 在线观看视频污| 91丨porny丨首页| 亚洲地区一二三色| 污视频在线免费观看网站| 九九九九九伊人| 色又黄又爽网站www久久| 成人自拍网站| 91网在线免费观看| 粉嫩的18在线观看极品精品| 欧美日韩国内自拍| 亚洲男人天堂2017| 成人免费性视频| 亚洲一区二区自偷自拍| 刘亦菲久久免费一区二区| 一区二区三区四区在线视频| 26uuu国产在线精品一区二区| 韩国女主播成人在线观看| 精品在线视频免费观看| 91久久国产婷婷一区二区| 国产成人在线影院| 国产精品久久久久久久天堂第1集| 国产精品久久久久7777按摩| 久久久久久国产精品久久| av免费播放| 国产成人永久免费视频| 91精品视频网| 四虎成人精品永久免费av| 午夜黄色小视频| 国产在线视频2019最新视频| 中文字幕亚洲成人| 中文字幕国产视频| 自拍偷拍亚洲区| 国产一区在线观看免费| 国产一区二区三区四区大秀| 成人羞羞视频在线看网址| 国产一级网站视频在线| 精品成人18| 成人国产综合| 日韩在线观看免费高清完整版| 韩日一区二区三区| 999精品网| 国产精品二区在线观看| 亚洲一区二区综合| 中文字幕日韩经典| 一区二区在线观看不卡| 免费啪视频在线观看| 成人性生生活性生交12| 丁香五精品蜜臀久久久久99网站| 在线观看免费视频综合| 视频二区欧美毛片免费观看| 国产无遮挡aaa片爽爽| 欧美成aaa人片免费看| 米奇777四色精品人人爽| 亚洲www啪成人一区二区麻豆| 久久久久久久久久久久久久久国产| 正在播放木下凛凛xv99| 国产对白在线正在播放| 好男人官网在线观看| 欧美日韩123| 国产精品视频99| 色综合久久网| 午夜欧美不卡精品aaaaa| 国产成人自拍偷拍| 欧美激情2020午夜免费观看| 国产日韩精品在线| 国内一区二区三区精品视频| 欧美黑人极品猛少妇色xxxxx| 亚州一区二区| 欧美不卡在线| 欧美日一区二区在线观看| 欧美影视一区| 波多野结衣视频一区| 69堂精品视频| 亚洲成年人网站在线观看| 国产精品国产三级国产aⅴ无密码| 四虎亚洲成人| 色橹橹欧美在线观看视频高清| 91久久久久久白丝白浆欲热蜜臀| 亚洲人成人99网站| 2023av视频| 亚洲国产精品久久久久久6q| 久久er精品视频| 亚洲av午夜精品一区二区三区| 亚洲综合一区二区三区| 亚洲成人在线观看视频| 日韩欧中文字幕| 丁香婷婷综合激情| 九九爱在线视频观看免费视频| 欧洲av在线精品| 欧美孕妇孕交黑巨大网站| 欧美wwww| brazzers在线观看|