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文件才能生效。
阅读(2662) | 评论(0) | 转发(0) |