此帖接着上贴移植心得: 由于移植以来遇到很多问题,虽然经常论坛发悬赏帖,但是大部分问题解决了的还是得靠自己,因为你遇到的问题不一定工程师遇到过,我曾多次遇到问题重新移植,用一天时间浏览论坛粗略的看了许多朋友遇到的问题,最后半天的时间写出如下总结,由于帖子的字数限制我分为4部发帖,分别为linux移植笔记1~4,希望能帮助更多的伙伴! 移植方法: 初学者推荐:一.大家最好移植完一个模块的时候先备份一下,当遇到棘手的问题无法解决的时候,可以将当前移植的删除,将备份的拷贝到工作目录重新移植,很好的方法; 初学者推荐:二.也许用fedora 10的朋友可以很好的利用虚拟机工具linux和windows之间共享无阻,但是用Red Had 9的朋友按着教程做估计是找不到虚拟机工具的, 我从网上下载了一个虚拟机工具,可以使用。准备上传的,但是太大了,上传不了。给个下载地址吧! 具体的按装方法: 先在windows里解压,然后得到一个.iso压缩包,然后用光盘挂载上.iso文件----->在mnt/目录下随便建立一个名字目录,这里以VM目录为例---------> 然后linux终端输入:mount /dev/cdrom /mnt/VM------>之后linux /mnt/VM/ 目录下会有一个vmware-tools-distrib目录, 然后进入此目录会有一个vmware-install.pl文件,在虚拟机终端进入此目录运行命令:./ vmware-install.pl,然后就开始安装了,一直按回车就OK了,到了最后选择分辨率的时候依照具体情况而定。 安装完后就可以和fedora 10一样了,装虚拟机工具的好处:除了能利用mnt/hgfs 目录实现windos和linux之间实现共享,还可以实现windos和linux之间随意的拷贝和复制,还可以拖延的方法方便的将文件随意在两个系统之间移动。(普通文件,不要将源码之类的也移动,不然的话系统会自动修改权限的) 切入正题:下面是我移植过程中遇到的问题并且附上了解决方法: 3.构建文件系统 <1>.构建自己的文件系统的时候,”etc/”目录下的文件也许大部分的朋友是拷贝天嵌的源码来的,是这样做的最好把每个文件都看一下,和移植手册上的“etc/”目录下的文件一致,不一致的话,后面的移植就相当于对人家的源码进行操作,没有任何意义了。还有就是在拷贝的时候和手册上的移植相比少了一个shadow文件,这个自行用vi建立。 <2>.手册45页,的“lib/”目录存放库文件的,大家提取库文件的时候一定要看好自己到底用的是那个编译器,提取对应编译器的库文件,这也是经常有朋友移植不成功的原因; <3>.手册46页,编译生成文件系统镜像的时候一定要针对自己的Nand Flash的大小去选择相应的编译工具,现在的新板子也大部分是256MB的,用mkyaffs2image,编译。这个编译软件天嵌的编译器就已经提供了,不需要大家麻烦了。这个也是许多朋友移植不成功的原因。 <4>.有许多朋友遇到的问题: 问题1:.Kernel panic - not syncing: No init found. Try passing init= option to kernel. 论坛里已解决,是重新分区解决的;但是nand flash移植的时候已经OK了,我都不知道大家怎么会遇到分区的错误呢?我重新看了nand flash移植那一块,发现一个问题: P31页 8.1 是这样写的, Static struct mtd_pattition smdk_default_nand_part[]= { .name =”EmbedSky_Board_uboot”, .offset =0x00000000; .size =0x00040000 } 而 linux 2.6.30.4内核是如下所写: Static struct mtd_pattition smdk_default_nand_part[]= { .name =”EmbedSky_Board_uboot”, .size =0x00040000 .offset =0x00000000; } 实际操作的时候 size 和offset的位置是换了的,手册是没问题的,大家如果细心的话是不会把分区写错的,是不会犯这种低级错误。 问题2:No filesystem could mount root(也有可能是其他的提示) 解决:字面上讲没有任何文件系统挂载到root下,大家也许检查了很多遍都觉得按着手册做一步也没有落下,会有如此疑问:怎么会没有挂载上yaffs2文件系统呢? 解决:其实这个问题很简单,因为大家一般看移植手册都是只看红色部分,而忽略了黑色部分,如果大家自己去看手册P36页有这么一项: Miscellaneous filesystems-------》 YAFFS2 file system support(附录5是红色的字手册P222页可以看到) 大家看到了,这项是yaffs2的支持,如果不在这项前加上星号的话,大家可想而知是什么后果! 这个问题也说明了,不要只看红色的字体去移植,也要看黑色的部分! 4.串口的移植 传输的问题:因为天嵌自带的那个串口软件我在下载程序蓝屏的时候已经搞得不能用了,我说的是超级终端,传输文件的时候可以用超级终端的菜单区传输,超级终端上方菜单栏有“传输”。其它的我就不多说了。 com口的问题:做实验的时候出现了com1和com3口,"至于出现com3",芯片本身就有第三个串口,这个实验,你要自己连线了,看电路图 (TQ_guoxixiao版主正解 ,在此感谢一下)。
接着下帖移植笔记2:
http://www.armbbs.net/forum.php?mod=viewthread&tid=12485
|