kernel insmod 命令


 

insmod的工作[转]

《LINUX设备驱动程序》

insmod 实际上它依赖于定义在kernel/module.c中的一个系统调用。函数sys_init_module给模块分配内核内存(函数vmalloc负责内存分配)以便装载模块。然后该系统调用将模块正文复制到内核区域,并且通过内核符号表解析模块中的内核引用,最后调用模块的初始化函数。

 

insmod:        

sys_init_module(分配内存)-->copy模块代码到内核空间-->解析符号引用-->module_init(XXXX)

 

modprobe是处理层叠模块的一个实用工具。它的功能在很大程度上和insmod类似,但是它除了装入指定模块外还同时装入指定模块所依赖的其他模块。

 

因此,在使用insmod命令往kernel中装载自己的.ok时候,如果未成功,并且没有输出任何信息"死机"的时候,可以在module_init(XXXX)的XXXX初始化函数中,加入一些printk,用于调试insmod.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值