关于内核module符号表的一些实验

关于内核module符号表的一些实验

问题1:当我在已经装有kernel-devel的机器上,改写并编译DM模块然后安装。接下来编译一个dm模块的字模块,编译会通过,但是在安装的时候dmesg会报出没有找到对应符号的错误。

解决1:安装DM模块之后将/lib/modules/{uname -r}/build/Module.symvers中有关DM模块的符号地址改成编译之后新生成的Module.symvers,然后编译子模块不会报错,运行也正常。

安装包:将解决中的两个ko文件安装在其他机器(机器2)并没有报错,疑问1:难道只是编译才需要正确的符号表?疑问2:符号表不应该是从内核中的动态符号表里找吗?

实验1

不更改原有的符号直接删除编译中报没有定义符号的警告,但是可以正常安装运行,这时候对应的符号是从哪里找的呢?是不是找不到build中的静态符号表就从内核里的动态符号表里找呢?

实验2

在机器2上下载kernel-devel再编译新的字模块:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值