系统相关
首页 > 系统相关> > Linux(入门基础)113---内核模块(depmod、lsmod、modinfo、insmod、rmmod、modprobe)

Linux(入门基础)113---内核模块(depmod、lsmod、modinfo、insmod、rmmod、modprobe)

作者:互联网

一、内核

二、内核模块(.ko文件)

三、内核与内核模块的文件目录

如果内核被顺利加载到系统中,有几个信息会记录下来

四、编译内核模块

如果我们有个新的硬件,但是操作系统不支持,可以进行内核的重新编译

五、内核模块放置目录

 

  • arch:与硬件平台有关的选项。例如CPU的等级等
  • crypto:内核所支持的加密技术,例如md5或des等
  • drivers:一些硬件的驱动程序,例如显卡、网卡、PCI相关硬件等
  • fs:内核所支持的文件系统,例如vfat、reiserfs、nfs等
  • lib:一些函数库
  • net:与网络有关的各项协议数据,还有防火墙模块(net/ipv4/netfilter/*等)
  • sound:与音效有关的各项模块

六、modules.dep文件

七、depmod命令

1.功能

2.命令格式

相关参数与选项

3.演示案例

例如我有一个网卡驱动程序,文件名为a.ko,因为是新加入的模块,所以我使用depmod来更新模块依赖性的记录文件

八、lsmod命令

1.功能

2.查看

信息被分为三栏

  • Modele:模块名称
  • Size:模块的大小
  • Used by:此模块是否被其他模块所使用

九、模块依赖性

十、modinfo命令

1.功能

2.命令格式

相关参数与选项

3.演示案例

十一、内核模块的加载与删除

insmod命令

  • 格式:insmod  模块完整路径名

注意事项

  • 模块必须使用完整路径名

演示案例

  • 加载fat.ko这个模块:insmod   /lib/modules/4.4.0-31-generic/kernel/fs/fat/fat.ko

rmmod命令

  • 格式:rmmod  [-fw]  模块名
  • -f:强制将该模块删除,不论是否正在被使用

演示案例

  • 将刚刚加载的fat模块删除:rmmod  fat.ko

modprobe命令

  • 格式:modprobe  [-cfr]  模块名
  • -c:列出目前系统所有的模块(更详细的代号对应表)
  • -f:强制加载该模块
  • -r:删除该模块

注意事项

  • modprobe是根据modules.depmodules.dep文件的内容自动加载/删除模块,可以解决依赖性问题
  • 并且后面的模块名不需要绝对路径

演示案例

  • 加载vfat模块:modprobe  vfat

标签:depmod,lsmod,dep,modules,内核,模块,内核模块,加载
来源: https://blog.csdn.net/qq_41453285/article/details/88636238