modprobe 和 insmod 区别


1 关于内核加载方式

  1) insmod : insmod一次只能加载特定的一个设备驱动,且需要驱动的具体地址
          举例说明: insmod pblk.ko     // 需要制定pblk.ko的详细地址 ,例如 insmod  /home/linusrc/drivers/lightnvm/pblk.ko

  2) modprobe: modprobe则可以一次将有依赖关系的驱动全部加载到内核
          举例说明:  
         1> copy the pblk.ko to /lib/module/#uname =r#/ 目录下, 其中“#uname =r#” 指的是操作系统版本号全称
         2> depmod 这里会在上述路径“ /lib/module/#uname =r#/ ” 下生成moduels.dep 和modules.dep.bb 文件, 表明模块的依赖关系
        3> modprobe pblk (此处无需加后缀 .ko )

2 显示已加载的驱动模块列表
   lsmod


 3) 卸载modlue: rmmod  <module name>    module name 不包含ko 后缀

结论: modprobe 可以解析相关的依赖,这种依赖关系是通过 /lib/modules/#uname -r/modules.dep(bb) 文件查找的, 比insmod 更智能。

posted @ 2019-06-06 09:41  simkxa  阅读(1181)  评论(0编辑  收藏  举报