Linux模块加载
Linux系统加载哪些内核模块,和配置文件有关系。
- 模块保存在
/lib/modules/
下。 - 使用
/etc/modules-load.d/
来配置系统启动时加载哪些模块。 - 使用
/etc/modprobe.d/
下配置模块加载时的一些参数,
也可以利用blacklist
来屏蔽模块的自动加载。例如,在安装NVIDIA显卡驱动时,需要屏蔽开源的nouveau
驱动,就可以将其加入blacklist
。
如何添加一个自己编译的模块
- 将编译好的
.ko
模块放到目录/lib/modules/`uname -r`/
- 注意特别重要的一步:在命令行输入命令
depmod
,此命令是用来更新模块启动配置表的,没有depmod
这个命令,就无法使用modprobe
命令来启动模块。 - 为
*.modules
文件加可执行权限,我这里这就执行:chmod 755 helloworld.modules
开机自动加载
配置启动时加载哪些内核模块,一般位于/etc/modules-load.d/
。
比如,对于virtual box
虚拟机:
$ cat /etc/modules-load.d/virtualbox.conf
vboxdrv
vboxnetflt
vboxnetadp
vboxpci
目录允许多个配置文件存在并同时生效。例如,anything.conf
文件里面就记录了deepin-anything
需要加载的模块vfs_monitor
:
$ cat /usr/lib/modules-load.d/anything.conf
vfs_monitor