kerneld mini-HOWTO(3)
2008-02-23 07:23:36来源:互联网 阅读 ()
/sbin/modprobe -c | grep -v '^path' >/etc/conf.modules
如果你想加多一个路径到预定路径中,你必须包括所有现有的路径。因为在 /etc/conf.modules 里的一个路径项目会取代 所有 modprobe 内置的路径!
通常你是不用自己加上路径的,因为预设的路行将己照顾到所有正常的设定。我可保证!
另一方面,如果你只想加入代号 (alias) 或者选项 (option directive),你在 /etc/conf.modules 的新项目会加入到 modprobe 所知的。如果你想再定义一个代号或选择,你在 /etc/conf.modules 中的项目会凌驾预设那个。
区块设备
如果你执行 '/sbin/modprobe -c',你会得到一个 kerneld 已知的模组的名单及它们所对应的要求。例如,导致载入软碟驱动程式的要求是主号码 (major number) 是 2 的区块设备。
osiris:~ $ /sbin/modprobe -c | grep floppy
alias block-major-2 floppy
为什麽是 block-major-2?因为软碟设备 /dev/fd* 的主号码 (major number) 是 2 ,又是区块设备。
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
字元设备
字元设备的方法处理也差不多。例如 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 驱动程式,它不会在 '/sbin/modprobe -c' 的结果中出现。
所以,要使 kerneld 载入 ftape 驱动程式,我要加一行到 kerneld 的设定档 /etc/conf.modules 中:
alias char-major-27 ftape
网络设备
你也可以用设备的名称来代替那些 'char-major-xxx' 或 'block-major-yyy' 设定。这样对网络设备尤其有用,例如把 ne2000 网络卡用作 eth0 可以籍此载入:
alias eth0 ne
如果你需要传递一些选项给你的驱动程式,例如告诉模组这网络卡使用什麽 IRQ,你可加上如下一 'options' 行:
options ne irq=5
这样会使 kerneld 用以下指令来载入 NE2000 驱动程式∶
/sbin/modprobe ne irq=5
当然,实际上所用的选项会因应所用模组而有所不同。
二元格式
二元格式也以相似的方法处理。每当你尝试执行一个核心不懂载入的程式,kerneld 便会收到一个 "binfmt-xxx" 的要求, xxx 是一个由档案开头数个字元决定的数字。使 kerneld 为 ZMAGIC (a.out) 执行档载入 binfmt_aout 模组的设定是:
alias binfmt-267 binfmt_aout
因为 ZMAGIC 档的幻数 (magic number) 是 267。(如果你查看 /etc/magic,你会见到 0413 这个数字,但 /etc/magic 使用八进位数 (octal numbers) 而 kerneld 使用十进数 (decimal),而八进位的 413 即十进数的 267。)由於 a.out 格式共有三款稍为稍为不同的可执行档 (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 可自动辨认 a.out, Java 和 iBCS 二元格式,毋须特别设定。
连线规则 (slip, cslip and ppp)
连线规则用 "tty-ldisc-x"来作要求,而 x 一般是 1 (slip) 或 3 (ppp)。kerneld 本身都认识这两样。
说起 ppp,如果你想 kerneld 载入 bsd_comp 资料压缩模组,你需要加两行到 /etc/conf.modules 中:
alias tty-ldisc-3 bsd_comp
alias ppp0 bsd_comp
网络协定 (IPX, AppleTalk, AX.25)
部分网络协定也可以模组载入。核心要用到一个网络家族 (network family)(如 IPX)时,会向 kerneld 作出对一个类似 "net-pf-X" 的要求,而 X 是一个代表所属家族的数字。例如 net-pf-3 是 AX.25,net-pf-4 是 IPX,而 net-pf-5 是 AppleTalk。(这些数字是由 linux 源程式档 include/linux/socket.h 中 AF_AX25, AF_IPX 的定义而来的。)故此要自动载入 IPX 模组,你要加一个类似以下的项目到 /etc/conf.modules 中:
alias net-pf-4 ipx
也请阅读以下有关防止开机时出现关於未定义的协定的常见问题。
档案系统
有关档案系统的 kerneld 要求就是档案系统的名称。一个常见的用途是为光碟载入 isofs 的模组,例如 "iso9660" 档案系统:
alias iso9660 isofs
--------------------------------------------------------------------------------
需要特别设定的设备
部分设备不只要使用代码 (aliasing),还要其他设定,如模组的设备 (a device to a module)。
主数码 10 的字元设备:杂项设备 (The miscellaneous devices)
SCSI 设备
需特别初始化 (initialization) 的设备
char-major-10:滑鼠、看门狗和随机数 (Mice, watchdogs and randomness)
大多数硬件设备都以主数码分辨,例如 ftape 是 char-major-27。但如果你看看在 /dev 中主数码是 10 的字元设备,你会见到一堆毫无关连的设备,包括:
各种各样的滑鼠(bus mice, PS/2 mice)
看门狗设备 (watchdog devices)
核心的 'random' 设备
APM 介面 (Advanced Power Management interface)
很明显,这些设备是由多个不同的模组控制的。所以,这些杂项设备的 kerneld 设定用到主号码及副号码 (the major number and the minor number):
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:Bzip2 Howto
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash
