天嵌 ARM开发社区

 找回密码
 注册
查看: 11451|回复: 10

linux移植笔记1

[复制链接]
~悟`~念~ 发表于 2012-5-23 23:20:54 | 显示全部楼层 |阅读模式
此帖接着上贴移植心得:
              由于移植以来遇到很多问题,虽然经常论坛发悬赏帖,但是大部分问题解决了的还是得靠自己,因为你遇到的问题不一定工程师遇到过,我曾多次遇到问题重新移植,用一天时间浏览论坛粗略的看了许多朋友遇到的问题,最后半天的时间写出如下总结,由于帖子的字数限制我分为4部发帖,分别为linux移植笔记1~4,希望能帮助更多的伙伴!
移植方法:
    初学者推荐:.大家最好移植完一个模块的时候先备份一下,当遇到棘手的问题无法解决的时候,可以将当前移植的删除,将备份的拷贝到工作目录重新移植,很好的方法;
    初学者推荐:.也许用fedora 10的朋友可以很好的利用虚拟机工具linuxwindows之间共享无阻,但是用Red Had 9的朋友按着教程做估计是找不到虚拟机工具的,
我从网上下载了一个虚拟机工具,可以使用。准备上传的,但是太大了,上传不了。给个下载地址吧!
http://download.csdn.net/detail/accccd/3989404    这个是要积分才能下载的,随便申请个QQ号,然后注册个账号就可以下载了,不要嫌麻烦。
具体的按装方法:
    先在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 目录实现windoslinux之间实现共享,还可以实现windoslinux之间随意的拷贝和复制,还可以拖延的方法方便的将文件随意在两个系统之间移动。(普通文件,不要将源码之类的也移动,不然的话系统会自动修改权限的)
切入正题:下面是我移植过程中遇到的问题并且附上了解决方法:
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的位置是换了的,手册是没问题的,大家如果细心的话是不会把分区写错的,是不会犯这种低级错误。
       问题2No filesystem could mount root(也有可能是其他的提示)
解决:字面上讲没有任何文件系统挂载到root下,大家也许检查了很多遍都觉得按着手册做一步也没有落下,会有如此疑问:怎么会没有挂载上yaffs2文件系统呢?
      解决:其实这个问题很简单,因为大家一般看移植手册都是只看红色部分,而忽略了黑色部分,如果大家自己去看手册P36页有这么一项:
Miscellaneous filesystems-------》
YAFFS2  file  system  support(附录5是红色的字手册P222页可以看到)
大家看到了,这项是yaffs2的支持,如果不在这项前加上星号的话,大家可想而知是什么后果!
这个问题也说明了,不要只看红色的字体去移植,也要看黑色的部分!
       问题3 出现问题  _Failed_to_execute_/linuxrc(这个也许很多人遇到过,但是解决方法各不相同,这个链接是以前一个版主总结的,大家可以参考一下,其实细心一点,这个错误是可以避免的)
4.串口的移植
        传输的问题:因为天嵌自带的那个串口软件我在下载程序蓝屏的时候已经搞得不能用了,我说的是超级终端,传输文件的时候可以用超级终端的菜单区传输,超级终端上方菜单栏有传输。其它的我就不多说了。
       com口的问题:做实验的时候出现了com1com3口,"至于出现com3",芯片本身就有第三个串口,这个实验,你要自己连线了,看电路图  (TQ_guoxixiao版主正解 ,在此感谢一下)。

接着下帖移植笔记2:
http://www.armbbs.net/forum.php?mod=viewthread&tid=12485


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

评分

参与人数 1 +10 收起 理由
非也 + 10 很给力!

查看全部评分

TQ_guoxixiao 发表于 2012-5-24 09:23:06 | 显示全部楼层
:)                                            
非也 发表于 2012-5-24 12:02:50 | 显示全部楼层
:), 强力支持,鼓励鼓励!
TQ-lkp 发表于 2012-5-25 12:24:46 | 显示全部楼层
做开发不能急着下手,要多看下楼主前辈们的经验之谈
扫帚菜~~ 发表于 2012-5-29 18:46:17 | 显示全部楼层
好东西,谢谢分享
wuweidong 发表于 2012-5-29 19:04:02 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
zbb564833642 发表于 2012-7-12 13:51:16 | 显示全部楼层
顶起楼主!!!!!!!!!!!
mingguo002 发表于 2012-7-12 17:03:13 | 显示全部楼层
学习中:P:P:P:P:P
zsjalive 发表于 2012-8-22 10:21:12 | 显示全部楼层
:(DDDDDDDDDDDDD
yangjing29 发表于 2012-8-22 10:52:20 | 显示全部楼层
一般般吧,感觉没我移植的好,呵呵
spiritcity 发表于 2014-11-25 10:33:59 | 显示全部楼层
学习学习学习////
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号 )

GMT+8, 2024-4-27 05:14 , Processed in 1.062500 second(s), 25 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表