【OK210试用体验】+第九篇☞RHEL环境到Fedora环境的过渡 - 在线问答 - 电子技术论坛 - 最好最受欢迎电子论坛!

【OK210试用体验】+第九篇☞RHEL环境到Fedora环境的过渡

杨永胜 ( 楼主 ) 2015-8-28 10:35:49  只看该作者 倒序浏览
本帖最后由 iysheng 于 2015-8-28 10:50 编辑

前一段时间想从RHEL6.6转到Fedora10,但是一直没有成功,当时主要的问题,如下所示:

如上图所示,就是init文件出错了,于是今天下午仔细想了想,分析了一下,init也就是busybox的软连接,怀疑也就是跟文件系统运行的第一个程序的版本问题。于是就file了一下,
RHEL6.6下如下所示:

很明显编译这个busybox的交叉编译器基于的linux内核版本是2.6.16
fedora10下入下图所示:

这个基于的版本是2.6.36
看到该文件系统内核模块的版本都是2.6.35.7<2.6.36(编译busybox基于的内核版本)
所以我就怀疑是fedora10下,我用自己的编译器编译出来的busybox版本太高,所以导致不能正常运行,也就无法挂在nfs跟文件系统,因为别的步骤我都和【OK210试用体验】+第六篇☞通过网络挂载NFS文件系统,led驱动初步是一样的,所以我怀着试试的心情重新编译了一个低版本的交叉编译工具链 (基于crosstool-ng),最后在fedora10上面成功挂载了:

很明显,我这次编译的busybox基于的kernel版本是2.6.27低于内核模块的2.6.35.7的版本,,终于成功了,接下来我就安装用这个交叉工具链编译的keydev.ko了,很不幸,新的问题出来了,如下图所示:

告诉我invalid module format,所以我就换了在RHEL上面编译出来的keydev.ko(用的是资料给的交叉编译工具链),结果安装成功了,然后自己运行应用程序,两个交叉编译器下面编译出来的都好用:
所以我判断,编译自己的驱动的时候,还是用Codesourcery公司的编译器,会更好些,这可是我的切身体会啊。
后来我就坚持使用了这个codesourcery公司的编译器了,我用的是2010q1版本的,如下所示:

并且这个编译器可以对不同架构版本的arm进行特殊的优化,自己编译的时候添加对应的命令就行了,
我试着优化了一下,S5PV210时cortex-a8架构的,优化的命令就是:

好像只是少了8字节的数据,,我也只能嘿嘿了,但是他们都能正常运行:

具体可以看官方的文档,具体的看下图:

还是要养成看官方文档的好习惯,呵呵呵。
不管怎么说,最后终于移植过去了,困扰我十多天的问题解决了,感觉真的很开心,但是中间的过程也是挺难受的,从中,我感觉自己多思考也是很重要的,通过对比能起到很好的效果。对这个问题我特意用思维导图软件做了一个框图,描述了关于这次移植我遇到的问题以及一些解决方法和思路,都是为了要养成一个好的习惯啊,大家有兴趣可以看下:


好像看的不是很清楚啊,我把它放到附件里了,有兴趣可以下载下来看看。顺便我也向大家请教一个问题,同样的两个文件夹:
linux下这两个文件夹大小一个是1.2G另一个是293.1M,如下图所示:

而在windows下查看(直接通过samba),两个都是1.21G,如下图所示:

我是真心不知道为什么了?大家谁知道了,希望可以告诉我啊。


rhel2fedora.rar

84.05 KB, 下载次数: 0, 下载积分: 积分 -1 分

0个回复

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

本版积分规则


关闭

站长推荐上一条 /7 下一条

小黑屋|手机版|Archiver|电子发烧友 ( 湘ICP备2023018690号 )

GMT+8, 2024-11-6 12:32 , Processed in 0.592247 second(s), Total 63, Slave 43 queries .

Powered by 电子发烧友网

© 2015 bbs.elecfans.com

微信扫描
快速回复 返回顶部 返回列表