免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4870 | 回复: 2

如何替换/lib/modules/uname -r/kernel/drivers/net目录下的ko文件? [复制链接]

论坛徽章:
0
发表于 2014-10-10 21:32 |显示全部楼层
ppp协议在启动时会加载ppp内核模块,但我想让内核在加载内核模块时能够加载由我重新编译生成的新的内核模块。例如,ppp协议启动时,要加载ppp_generic.ko到内核中,现在我想让他加载的时候能够加载由我重新编译生成的新的ppp_generic.ko文件,这个文件是我在对与当前发行商同版本的内核源码修改的基础上编译生成的,我把原来lib/modules/uname -r/kernel/drivers/net/目录下的ppp_generic.ko文件替换成新的ko文件,但是在ppp协议启动时内核出现了一个错误信息:modprobe:FATAL:Error inserting ppp_generic(lib/modules/2.6.32-358.el6.x86_64)/kernel/drivers/net/ppp_generic.ko):Invalid module format。请问各位大神,这个问题该如何解决?跪求solution呐~~~

论坛徽章:
0
发表于 2014-10-27 21:28 |显示全部楼层
“与当前发行商同版本的内核源码修改的基础上编译” 这个是不是完全版本对应?可以使用modinfo查看。现实的版本信息应该与cat /proc/version查看到的一致。
另外,编译过程是否正确?是否需要交叉编译?

Linux内核在加载模块的时候为了保证运行安全,对加载的Ko模块会进行版本校验,加载的KO模块编译的时候使用的内核版本应该与系统运行的版本一致,而这个版本信息是会在KO文件的一个段信息里面。

论坛徽章:
0
发表于 2014-10-29 19:48 |显示全部楼层
非常感谢,应该就像您说的,要完全一致的版本才可以回复 2# gz金易龙


   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP