免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: send_linux
打印 上一主题 下一主题

[操作系统] Linux系统移植从零开始!参与讨论即有机会获得图书一本!(获奖名单公布!) [复制链接]

论坛徽章:
3
CU大牛徽章
日期:2013-03-14 14:14:08CU大牛徽章
日期:2013-03-14 14:14:26CU大牛徽章
日期:2013-03-14 14:14:29
11 [报告]
发表于 2011-01-20 23:57 |只看该作者
楼主的问题确实很难,也很有价值,我的教训一定不能让大家不走弯路,如果能让大家少走弯路,我已经很满足了。大家有什么好的经验和教训也可以拿出来分享。
我说说自己的感受:
其一,要坚持不懈,在我的移植经历中,GUI的移植过程中MiniGUI花的时间最长,另外,驱动的移植过程中,USB2.0的TD上网卡及其PPP拨号程序的移植过程比较长,试过很多种方法后觉得快要崩溃时,估计就离成功不远了,这时候要仔细思考,冷静点,也许就可以恍然大悟。
其二,相应的背景知识了解,比如数据库移植,那么有了数据库知识,可能对于移植来说就容易很多,对于Web服务器的移植,如果了解常见的Web服务器tomcat的配置,那么移植起来也容易很多。
其三,先确定环境,环境包括硬件环境>编译环境>内核版本,如果被移植的驱动或者应用程序对上述环境有要求,那么我建议从硬件到编译器到内核的顺序,先确定硬件,再确定编译器,再定好内核。当环境稳定后再着手移植工作,否则到后来花了很多时间,修改代码,换编译器,打补丁还是不能解决问题,换了硬件才搞定,就会浪费很多时间。
最后,多问,有目的性的问,别人的答案不能直接解决我们的问题,也会给我们一个提示。
最后希望大家能分享自己移植的体会,供我们一起学习。

评分

参与人数 1可用积分 +6 收起 理由
T-Bagwell + 6 我很赞同

查看全部评分

论坛徽章:
3
CU大牛徽章
日期:2013-03-14 14:14:08CU大牛徽章
日期:2013-03-14 14:14:26CU大牛徽章
日期:2013-03-14 14:14:29
12 [报告]
发表于 2011-01-21 00:12 |只看该作者
本帖最后由 liugang9931706 于 2011-01-21 00:14 编辑

另外,还想提醒朋友们,作为学习的话,应该使用资料比较齐全,使用比较广泛的CPU;如果是做开发,那么一定要选择一家技术支持比较好的CPU厂商。技术支持的存在,就是来被我们烦的,有问题就可以直接打电话,或者发邮件,把遇到的问题截图发过去。当然,在排除了硬件问题后,系统稳定后,就一切都要看你自己的努力了。可以把遇到的问题拿到论坛上来,相信论坛里面潜伏的高手会给你一些提示。如果大家遇到具体的移植问题,如果我也遇到过,我会毫无保留的给大家分享。

论坛徽章:
0
13 [报告]
发表于 2011-01-21 08:08 |只看该作者
从踏入社会一直学驱动开发,原来在尚观学习了系统和U-BOOT的移植,其实自学也得有好的资料

并不是每个人都能仔细的完整的看完每个人在网上写的自己移植的经验,当然网上很多也不全,

动手自己实践更是重要:

1、我想最重要要理解你想移植的系统架构,能知道哪个文件是放在哪个目录,哪些文件与哪些文件

相关联。

2、手动能力,一定要多动手(板子就凭你是烧不坏的);

3、其实网上很多牛人的文章,经验都很重要,要有耐心的一遍一遍去看,也许你移植中的问题就在

某位牛人的博客里面。

评分

参与人数 1可用积分 +6 收起 理由
T-Bagwell + 6 我很赞同

查看全部评分

论坛徽章:
0
14 [报告]
发表于 2011-01-21 08:25 |只看该作者
还有一个我觉得不能懒惰的地方是:

    像我移植S3C2440,网上直接说的个性在board目录下将smdk2410 目录,修改include/configs/smdk2410.h直接复制为100ask24x0.h。 再修改两个makefile就OK了,其实u-boot远没有那么简单,首先就是CPU(时钟,分频)肯定不一样,而且所给的外部控制硬件也不尽然相同,花相对多一点的时间来读源码绝对不会误了你的事,而且对你将移植的内核也会有很大帮助。

论坛徽章:
0
15 [报告]
发表于 2011-01-21 09:12 |只看该作者

论坛徽章:
3
CU大牛徽章
日期:2013-03-14 14:14:08CU大牛徽章
日期:2013-03-14 14:14:26CU大牛徽章
日期:2013-03-14 14:14:29
16 [报告]
发表于 2011-01-21 09:41 |只看该作者
我记得我第一次一直uboot时花了近一周的时间。我第一次成功移植MiniGUI花了将近一个月的时间,中间一直不成功,有一段时间放了一段时间去弄USB驱动了,回头再来整MiniGUI,晚上很安静的时候来仔细整,发现我在板子上的配置文件中指定的路径(MiniGUI.cfg)和对应文件存放的路径不符合,就这个问题卡了一个月。当时没有注意到这个细节。因为报错总是图形无法正常显示,把注意力转移到配置的内容上了。很多时候,别人的文章,或者书中写的很简单,移植就技术来说,操作上没有太多技术,主要是对于问题的分析比较重要,出了问题,能正确判断是哪个部分出了问题,或者缺少什么模块,少配置了什么模块,分析能力很重要,移植步骤实际是比较简单的。

论坛徽章:
0
17 [报告]
发表于 2011-01-21 09:43 |只看该作者
支持,正想学习呢

论坛徽章:
0
18 [报告]
发表于 2011-01-21 09:46 |只看该作者
大概可以分为3个部分或者阶段吧:
1,BOOTLoader的移植 ,开源、且成熟的由UBOOT;
2,Kernel的移植,这个方面Kernel源码已经比较成熟了,很多架构的CPU/单板只需要配置,编译就可以了;
3,再就是驱动、应用方面的移植,这个根据业务方向而定,有的应用比较简单,开源代码比较成熟,工作量就小;有的应用复杂,或者开源项目不是很成熟,工作量就可能非常的大。

论坛徽章:
0
19 [报告]
发表于 2011-01-21 09:49 |只看该作者
大概可以分为3个部分或者阶段吧:
1,BOOTLoader的移植 ,开源、且成熟的由UBOOT;
2,Kernel的移植,这个 ...
zhengfish 发表于 2011-01-21 09:46



其中,
BootLoader 和 Board的相关性大一些,需要知道Flash/Memory/CPU的具体SPEC.
Kernel的话和CPU关联最紧密.
应用的移植,之前,还有很重要一块,就是FileSystem的打包制作.....................

论坛徽章:
0
20 [报告]
发表于 2011-01-21 10:22 |只看该作者
本帖最后由 0vk0 于 2011-01-21 10:32 编辑
我记得我第一次一直uboot时花了近一周的时间。我第一次成功移植MiniGUI花了将近一个月的时间,中间一直不成 ...
liugang9931706 发表于 2011-01-21 09:41



    说得很好,其实也就是理解,真正理解了就不是很难了,当初移植从NAND FLASH启动时,一直移植不成功,后来从VIVI源码中才看到人家写的
NAND FLASH驱动,那才叫一个牛,后来慢慢自己也理解了,其实学习移植,也得多参考参考其它源码及前辈写的代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP