内核模块能否被strip?

编译一个内核时,习惯性的在install目标下加了命令:

$(STRIP)  --strip-all --remove-section=.note --remove-section=.comment  test.ko

结果在insmod test.ko时出现错误:

test: module has no symbols (stripped?)

..................

 上网查了以下,发现内核模块在插入时,insmod会使用模块的一些符号信息。那是不是内核模块不可以被stip呢?答案是可以strp 但不能strip太多东西,应该使用:

$(STRIP)  --strip-debug test.ko

另外:内核模块的version magic的问题:

插入模块出现错误:

test: version magic '2.6.15 gcc-3.4' should be '2.6.14 gcc-3.4'

内核模块对应的内核版本不对,可以修改内核版本代号试一试:

修改liunx源码下的Makefile 前面的版本定义,然后重新编译内核,再编译内核模块。当然这样做可能会有副作用。

查看一个模块的version magic信息:

$modinfo test.ko

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值