免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2018 | 回复: 5
打印 上一主题 下一主题

什么情况下不种版本号的内核模块可能通用 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-07-03 08:47 |只看该作者 |倒序浏览
请问一下版本号第四位代表什么意思,一个是-8,另一个是-92。
2.6.18-8.el5  
2.6.18-92.el5
我在2.6.18-92.el5环境下编译的内核模块可以在2.6.18-8.el5下成功加载,但是有些时候内核版本号不一样的话,内核模块是不通通用的。
什么情况下不种版本号的内核模块可能通用呢?
谢谢!

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
2 [报告]
发表于 2009-07-03 09:46 |只看该作者
主要还是内核版本变化不大的吧。另外,可以将你的程序调整一下,在insmod的时候不检查内核版本

论坛徽章:
0
3 [报告]
发表于 2009-07-03 10:04 |只看该作者

回复 #2 Godbach 的帖子

如何不检查版本?

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
4 [报告]
发表于 2009-07-03 10:16 |只看该作者
原帖由 liying_gg 于 2009-7-3 10:04 发表
如何不检查版本?


我记得之前看到这样的介绍,但我自己也没有实践过。你Google一把看看有没相关信息。

论坛徽章:
0
5 [报告]
发表于 2009-07-03 15:39 |只看该作者
这个我不注意的知道,我是3月的新手,本想请教人未果便自己看,大概知道如下:
总的来说版本不能相差太远,否则就行不通。要求版本相差不远的原因是要求modpost要差不多,因为在编译模块是调用了这个程序,如果modpost一样,那就能修改几个头文件,然后跨版本编译了。
首先,UTS_RELEASE定义要一样,就是uname -r能看到的那个,一般会在version.h或utsrelease.h中。
然后,auto.conf和autoconf.h要一样,这样以后A编译的模块B差不多可以加载了。
其实主要是vermagic.h中的一个校验的一个字符串要一样(上述dd一起),模块格式要一样(modpost一样)就好了。如果不想修改上面的文件,就直接修改/linux/vermagic.h中的VERMAGIC_STRING,修改成目标机上的(关键你得知道目标机上的),在模块不能加载时查看内核打印信息就能看到这个字符串。上述要求的config和UTS一起定义了这个字符串。至于不重编译,应该通不过加载时的验证的。

[ 本帖最后由 wvyeahnm 于 2009-7-3 15:55 编辑 ]

论坛徽章:
0
6 [报告]
发表于 2009-07-03 16:23 |只看该作者
原帖由 wvyeahnm 于 2009-7-3 15:39 发表
这个我不注意的知道,我是3月的新手,本想请教人未果便自己看,大概知道如下:
总的来说版本不能相差太远,否则就行不通。要求版本相差不远的原因是要求modpost要差不多,因为在编译模块是调用了这个程序,如果 ...

模块内部调用的数据结构、文件系统,也很有可能发生了变化
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP