在Linux启动时加载内核模块

8030阅读 0评论2015-07-23 seaquester
分类:LINUX

在Linux启动时加载内核模块

在Linux启动的时候加载一个内核模块(不是硬件驱动,所以没法通过硬件ID和modules.pcimap 和modules.dep来自动加载)。

1. Debian/Ubuntu:
$ sudo echo "loop" >> /etc/modules

2. CentOS/Redhat/Fedora:
$ sudo echo "modprobe loop" >> /etc/rc.modules
$ sudo chmod +x /etc/rc.modules
或者 
$ sudo echo "modprobe loop" >> /etc/sysconfig/modules/loop.modules
$ sudo chmod +x /etc/sysconfig/modules/loop.modules
/etc/rc.modules 和 /etc/sysconfig/modules/*.modules 都是在 rc.sysinit 中被执行。所以,直接将 modprobe 指令写到 rc.sysinit 中也是可以的。这几个位置加载的时间都要比rc.local早。在 CentOS7中,尽管在systemd里面已经没有 rc.sysinit,仍然兼容上面两种方式加载模块。
 
3. systemd(CentOS7/Redhat7/Fedora) 和upstart (Debian/Ubuntu):
在下列 module-load.d 目录(之一)创建一个 *.conf 文件,将模块的名字写入该文件即可。
/etc/modules-load.d/
/lib/modules-load.d/
/run/modules-load.d/
/usr/lib/modules-load.d/
/usr/local/lib/modules-load.d/
例如:
$ sudo echo "loop" > /etc/modules-load.d/loop.conf
上一篇:在RPC中使用Unix Domain Socket
下一篇:bash 中的 trap 和 wait