1.modprobe 和 insmod加载驱动的区别:
(1)insmod需指定所需加载模块的路径,且只加载所指定的模块,如果所指定的模块依赖于其他模块,insmod不会自动添加,insmod使用方法如下:insmod 某路径/xxx.ko
(2)modprobe相比较于insmod更加智能,使用modprob加载模块时只需指定模块名称而不是模块的路径,使用modprobe加载内核模块时,如果加载的模块依赖于其他模块,modprobe会自动加载被依赖的模块,比如我们需要加载模块A,但是模块A依赖于模块B,那么我们在使用modprobe加载内核模块A时,modprobe会先加载内核模块B,然后再加载内核模块A。使用方法如下:modprobe xxx
2.insmod 命令不能解决模块的依赖关系,比如 drv.ko 依赖 first.ko 这个模块,就必须先使用
insmod 命令加载 first.ko 这个模块,然后再加载 drv.ko 这个模块。但是 modprobe 就不会存在这
个问题, modprobe 会分析模块的依赖关系,然后会将所有的依赖模块都加载到内核中,因此
modprobe 命令相比 insmod 要智能一些。
modprobe 命令主要智能在提供了模块的依赖性分析、错误检查、错误报告等功能,推荐使用 modprobe 命令来加载驱动。
注意:depmod //第一次加载驱动的时候需要运行此命令