内核模块的加载与卸载
作者:互联网
1: 内核源码存放的位置 /usr/src/linux 或者 /usr/src/kernel
2: 内核模块存放的位置 /lib/modules/($uname -r)/kernel
3: 模块的依赖性:检查 /lib/modules/($uname -r)/modules.dep文件,它记录了内核支持模块的依赖关系。
.dep文件的制作:通过depmod命令
eg:如果做好了一个网卡的驱动程序,名为a.ko,该如何跟新内核的依赖性?
cp a.ko /lib/modules/($ uname -r)/kernel/drivers/net
depmod
通过以上的二步操作,新的模块的依赖性就会被跟新进来。具体表现在modules.dep文件中。这个文件非常重要,在模块
加载或卸载命令modprobe应用中非常重要。
4: 内核模块的查看命令:lsmod 列出模块名 modinfo + 模块名 列出块的相关信息
5:内核模块的加载与删除
内核加载:insmod 完整路径
eg:加载一个名为cifs.ko的文件系统模块
insmod /lib/modules/($uname -r)/kernels/fs/cifs/cifs.ko
6: 内核模块的卸载:rmmod
7: 最建议使用的内核加载与卸载的方式:modprobe 模块名(加载) modprobe -r 模块名(卸载模块)
区别:insmod与remod 必须自行找到完整的文件名,万一文件之间存在依赖性,将无法加载与删除。 为了克服依赖性的
问题,配合modules.dep文件,使用modprobe是很方便的。eg:modprobe cifs 这样就可以加载模块,原因在于/lib/modules
/($uname -r)/modules.dep已经完整记录文件名。卸载使用 modprobe -r cifs
标签:modules,模块,卸载,modprobe,内核模块,加载 来源: https://blog.csdn.net/hzj_001/article/details/99748789