首页 > 编程知识 正文

Modprobe,linux modprobe加载模块

时间:2023-05-04 23:40:09 阅读:259345 作者:3754

modprobe工具可以智能的添加和删除一个模块,之所以说它智能,是因为它能够通过配置的一些预定义的规则解析出模块之间的依赖关系,并且自动加载依赖的模块。

modprobe会从 /lib/modules/uname -r目录中查找要加载的模块以及对应的依赖规则,除了这个目录以外,modprobe还有一个配置目录/etc/modprobe.d,这个配置目录中是用户可以自定义的一些modprobe行为。

(1)依赖关系配置

modprobe是从/lib/modules/uname -r/modules.dep文件来查找依赖关系的,默认modprobe也是在/lib/modules/uname -r/目录中查找模块进行加载的。

以我的机器为例,截取部分的依赖文件/lib/modules/3.13.0-19-generic/modules.dep:

kernel/drivers/gpio/gpio-adp5520.ko:
kernel/drivers/gpio/gpio-kempld.ko: kernel/drivers/mfd/kempld-core.ko
kernel/drivers/gpio/gpio-max730x.ko:
kernel/drivers/gpio/gpio-max7300.ko: kernel/drivers/gpio/gpio-max730x.ko
kernel/drivers/gpio/gpio-max7301.ko: kernel/drivers/gpio/gpio-max730x.ko

(2)modprobe.d配置

/etc/modprbe.d中定义的关键功能如下:

functiondescalias wildcard modulename用来配置模块的别名blacklist modulename忽略该模块的内部别名install modulename command…使用modprobe加载模块时的替换命令,此时并不执行默认的加载操作,而是执行commandremove modulename command…同install功能,只不过是在使用modprobe -r操作时会执行的commandoptions modulename option…为模块添加option功能,也就相当于module参数

参考:

Manual page modprobe

Manual page modprobe.d

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。