Linux的驱动模块管理:modprobe

由一段脚本开始:
MODULE_PATH=/lib/modules/`uname -r`
if [ ! -f ${MODULE_PATH}/modules.dep.bb ]; then
# depmod — to generate modules.dep and map files
# 产生modules.dep文件和映射文件的程序
        depmod
        sleep 1
fi

modprobe mod_1.ko
modprobe mod_2.ko


机制:

1、modprobedepmod机制的目的是让Linux模块的管理更加便捷,不论是对终端用户、管理员还是发行版的维护者。
2、modprobe可以自动加载相关的模块,但是它本身并不知道模块之间的相关性,它是通过读取一个依赖文件来获知这种相关信息。这个依赖文件由depmod创建。
3、modprobe可以用来加载单个模块,一些依赖性(dependent )模块,或者那些被特别标记(specified tag)了的所有模块。
4、modprobe依据依赖文件modules.dep的描述自动加载所有需要的基本模块。如果任一模块加载失败,该过程中加载的所有其他模块会被自动卸载。
5、modprobe加载模块的方式有两种:
(1) 加载列表之外的单个模块:一旦模块加载成功,modprobe立即停止加载
(2) 加载列表上的所有模块。带上-r选项,modprobe将自动卸载一些具有相关性的模块,效果类似rmmod -r
注意:modprobe -r将会清除已经加载但无用的模块。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。