|
Gentoo中的模块的配置文件如下: root@localhost:/etc# ls -p | grep mod modprobe.conf modprobe.d/ modules.autoload.d/ modules.conf modules.d/
从表面上看,又有文件,又有文件夹,似乎很乱,但如果明白了它们的关系,就不会觉得复杂了,modprobe.conf文件对应了modprobe.d/文件夹。modules.conf文件对应了modules.d/文件夹,这两个文件夹的内容是: root@localhost:/etc# ls -p modprobe.d/
./ ../ blacklist pnp-aliases
root@localhost:/etc# ls -p modules.d/
./ ../ aliases alsa i386 .keep 两个conf文件都是其对应的文件夹中的文件内容的汇总,是在系统启动时的初始化过程中或者执行modules-update命令后在文件中自动形成的记录,所以不必手工修改。 /sbin目录下的两个命令modules-update与update-modules实际上是完全相同的命令,在执行它们的时候,如果终端毫无反应,像这个样子: root@localhost:/etc# modules-update root@localhost:/etc# update-modules root@localhost:/etc# 说明了两个文件夹中的内容都没什么改变,如果 root@localhost:/etc# modules-update * Updating /etc/modprobe.conf ... [ ok ] * Updating modules.dep ... [ ok ] 说明了modprobe.d文件夹中的文件内容改动被识别并被更新到了modprobe.conf 。
这些模块的配置文件中包含了udev与rc两种模块加载方式,系统启动的时候,udev加载在先,rc方式在后,syslog会显示udev加载了哪些模块,如果alsa模块被udev抢先加载,那么将很难保存对消除静音与音量的设置,即使用rc-update加进了alsa,它也起不到作用,所以往往需要把自己的声卡的alias名称放在/etc/modprobe.d/blacklist中,禁止udev加载,并用modules-update将这个黑名单更新到modprobe.conf文件中。
对于声卡,如果用rc的方式随系统启动而加载: # rc-update add alsa default 那么要保证有自己声卡的alias,比如: alias snd-card-0 snd-intel8x0 alias snd-card-1 snd-mpu401 这样的记录如果只存在于某个conf文件中是无济于事的,必须要写在/etc/modules.d/alsa中,然后用modules-update更新到conf文件才能生效。
|