内核模块的加载与卸载

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

你可能感兴趣的:(linux,工具,内核基础)