6

我想在启动时自动加载一些内核模块。我已经阅读了手册,但无能为力。现在我要自动加载vboxdrv vboxnetadp vboxpci vboxnetflt的模块是,模块目录是/lib/modules/3.0.6-gentoo/,配置文件目录是/etc/modules.autoload.d/kernel-3.0.6,在这个文件中,模块都包含在内。现在我重新启动它后,使用lsmod,我看不到这些模块已加载。有什么问题?

thinkpad walle # ls -l /boot/
总用量 17068
lrwxrwxrwx 1 root root       1  1月 10 01:22 boot -> .
drwxr-xr-x 2 root root    4096  4月 27 10:55 grub
-rw-r--r-- 1 root root 5771120  3月 23 09:27 kernel-3.0.6
-rw-r--r-- 1 root root 5771120  4月 26 17:48 kernel-3.0.6-n5
-rw-r--r-- 1 root root 5876784  4月 27 10:55 kernel-3.0.6-n6
drwx------ 2 root root   16384  1月 17 15:47 lost+found

现在我kernel-3.0.6-n6用作我的引导内核。

thinkpad walle # cat /etc/modules.autoload.d/kernel-3.0.6 
xt_mark
test_nx
scsi_wait_scan
wlagn
ext2
vboxdrv
vboxnetadp
vboxpci
vboxnetflt
4

3 回答 3

12

/etc/conf.d/modules根据http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=1&chap=7#doc_chap5指定自动加载的模块

/etc/init.d/modules脚本读取/etc/conf.d/modules文件并加载模块。它应该已经在启动运行级别,但如果不是,请运行rc-update add modules boot以在启动时加载它们。

于 2012-05-24T05:38:37.577 回答
8

/etc/conf.d/modules 现在不使用了。Systemd 使用自己的结构

将你的模块列表文件放在 /etc/modules-load.d/ man modules-load.d

把你的模块选项文件放在 /etc/modprobe.d/ man modprobe.d

于 2012-05-24T07:06:57.990 回答
1

好吧,编辑 /etc/conf.d/modules 不是自动加载,因为你需要在每次内核重建后编辑这个文件。

关于自动加载硬件内核模块 的主要思想在这里描述:http: //doc.opensuse.org/documentation/html/openSUSE/opensuse-reference/cha.udev.htmlhttp://wiki.gentoo.org/wiki/乌德夫

简而言之:udev 正在管理您的硬件,每次出现新硬件时(内核在 /dev 中创建链接),udev 都会搜索适当的内核模块,如果找到则加载它。所有设备信息均由 sysfs 提供。

于 2013-02-21T08:48:17.613 回答