免费注册 查看新帖 |

Chinaunix

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

请教各位大牛,高版本内核带的驱动模块能否拿到低版本上用,内详 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-09-26 15:09 |只看该作者 |倒序浏览
千辛万苦配了一台机器,mcp78的主板,什么ahci,支持NCQ之类的,结果发现装RHEL5的时候识别不了硬盘,甚至在bios里面设置为ide模式都不行(请不要不相信)
摸索了n天,才知道RHEL5 2.6.18的内核的ahci,libata模块太老不支持mcp78的ahci控制器
在网上找到相同的案例
http://napstitch.net/blog/?p=20
http://ata.wiki.kernel.org/index ... 2C_ULi.2C_others.29

装opensuse11可以成功,内核为2.6.25
傻傻的尝试直接将opensuse的ahci,sata_nv模块覆盖到RHEL的initrd里面去启动,仍然无法识别
又下了一个2.6.25的源码,把里面的ahci.c拷出来在RHEL5上编译,出错

分析:
现在的问题是驱动版本太低无法识别硬盘
问题:
1.驱动模块对内核版本有无依赖性?如果ahci本身只依赖libata,scsi_mod,我将3个一起覆盖过去用能工作不
2.如果我想成功编译2.6.25里面的ahci,sata_nv,libata,需要些什么,需要2.6.25的源码?如果我要用在RHEL5上,只能在RHEL5上编译还是可以在opensuse上做?
3.感谢提供其他能解决问题的思路

另外一个相关的url
http://lists.zerezo.com/linux-kernel/msg13422947.html

论坛徽章:
0
2 [报告]
发表于 2009-09-28 13:13 |只看该作者
驱动模块当然依赖内核版本,至于依赖多少,很难量化出来。
既然编译都无法通过,那么肯定不兼容了。

libata,scsi_mod三个模块拷过去或者源代码拿去编译你可以试试,
不过我觉得行得通的可能性不高。

Linux内核API不稳定一直是个大问题,搜搜CU都能找到这方面的抱怨贴,至少目前没啥办法的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP