Linux内核模块插入和删除简介

Linux 内核具有模块化设计。在引导时,只有少量的驻留内核被载入内存。这之后,无论何时用户要求使用驻留内核中没有的功能,某内核模块(kernel module),有时又称驱动程序(driver)。就会被动态地载入内存。

在安装过程中,系统上的硬件会被探测。基于探测结果和用户提供的信息,安装程序会决定哪些模块需要在引导时被载入。安装程序会设置动态载入机制来透明地运行。

如果安装后添加了新硬件,而这个硬件需要一个内核模块,系统必须被配置来为新硬件载入正确的内核模块。当系统使用新硬件引导后,Kudzu 程序会运行,如果新硬件被支持,它就会被检测到,该程序还会为它配置模块。你也可以通过编辑模块配置文件/etc/modules.conf 来手工指定这个模块。

模块相关命令:

depmode --- depmod是一个用来产生modules.dep和map文件的程序。在modules.dep文件中空白行和以'#'开头的行将被忽 略.depmod通过读取/lib /modules/version目录下的每一个模块来创建一个记录模块相依性的列表。这个列表就是/lib/modules/version目录下的 modules.dep。depmod也会在/lib/modules/version目录下创建许多map文件,例如 modules.dep,modules.isapnpmap,modules.pcimap,modules.alias这些文件将会被hotplug 用到。

insmod --- 插入并运行模块,insmod 需要的是模块的所在目录的绝对路径,并且一定要带有模块文件名后缀的(modulefile.o 或modulesfile.ko )。 insmod比较重要的用途是用来测试模块的正确性,加载一般都是依靠modprobe

rmmod --- 卸载模块

modprobe --- 模块探测,该命令比较智能,配以参数,可以实现insmod,rmmod的功能。modprobe 在挂载模块时不用指定模块文件的路径,也不用带文件的后缀.o .ko不带参数时,modprobe <modulename> 插入运行模块,还可以以参数parm插入运行模块 modprobe <modulename>  [parm],如intel 82599EB网卡和非intel厂家光模块对接的时候,需要modprobe ixgbe allow_unsupported_sfp=1,allow_unsupported_sfp即是ixgbe驱动模块的参数之一,可以modinfo查询模块的parm有哪些。modprobe -r <modulename> 卸载模块。

modinfo --- 查看模块信息


参考:http://man.ddvip.com/os/redhat9.0cut/ch-kernel-modules.html

          http://blog.chinaunix.net/uid-28554163-id-3547194.html


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值