在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