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 更智能。