u-boot在S3C2440上的移植问题及解决方法集锦(三)

4 篇文章 0 订阅

一、移植环境

  • 主   机:VMWare6.5--Fedora 9
  • 开发板:自制开发板

              CPU:S3C2440;    SDRAM:HY57V561620FTP-H;    NOR flash:SST_39VF1601(2M);

              NAND flash:K9F1G08U0B(128M);    网卡芯片:DM9000EP

  • 编译器:arm-linux-gcc-4.3.2
  • u-boot:u-boot-2009.08
  • linux kernel:linux-2.6.30
  • busybox:busybox-1.13.3

二、博客地址

      http://blog.csdn.net/liuqiqi677

      如有错误,欢迎指正。

三、参考资料

      主要参考了黄刚的博客http://blogold.chinaunix.net/u3/101649/ ,他的博客写得相当不错,将嵌入式开发各个阶段的知识以边做边学的方式,辅以图片、解释,清晰地呈现给读者,能够让读者把握主线,对嵌入式开发有整体的了解。强烈推荐!!!

四、问题及解决方法

      7、Fedora9的bug,“No network connection”

       我的虚拟机采用桥接的方式与Windows连接,并且在Fedora9中能够ping通Windows XP,但是右上角的网络连接图标无论是否手动激活网卡都会一直提示 "No network connection",如图7所示,显示一把红色小叉。

图7 网络连接图标显示无连接

      这个问题之前一直存在,但是没有找到解决方法,就搁置下来了。后来,我想用tftp将linux内核下载到开发板上,但是一直不能成功,我就怀疑是不是网络部分没有配置好,因此又去仔细研究了一下,终于发现问题所在!这实际上是 Fedora 9 的一个bug。(以前的版本没用过不清楚)
      造成这个问题的原因是 Network Configuration 图形设置界面的默认选项值与 /etc/sysconfig/network-scripts/ifcfg-eth0 配置文件的默认值不一致。

      刚装完系统的情况下:在 Network Configuration 中,编辑 Device 下的 eth0,会发现 "Controlled by NetworkManager" 是不打勾的。不打勾则值为 "no"。 而在 /etc/sysconfig/network-scripts/ifcfg-eth0 中对应上面的选项有一行:“NM_CONTROLLED = ”。 留空意味着取默认值,默认值为 "yes"。同一个选项,一边显示为 no,另一边则默认为 yes,能不出问题吗?解决方法很简单,要么就在图形界面下打勾,要么就把配置文本改成 "yes"。我比较懒,就直接在复选框上打钩了。 重启系统,如图9所示,一切恢复正常。

图8 选中Controlled by NetworkManager

图9 网络连接正常

      8、开发板能够ping通主机,但tftp下载失败

      我在 Fedora 9 中配置好主机的tftp服务(适合Fedora 9的rpm包我已经上传到http://download.csdn.net/source/3145778 ,并附有一个简单的安装说明欢迎大家下载,没有资源分了,赚点分,大家不要拍我呀),在 Fedora 9 中进行本地测试十分正常,并且开发板也能够ping通主机,但是在使用tftp想将主机中上的zImage(linux内核文件)下载到开发板上时,却出现了问题,终端一直显示‘T T T T T T T T T T T T T’,最后,提示‘ Retry count exceeded; starting again

      网上查了一下,原因归纳起来大致有两点:1、网卡连接超时;2、xinetd和tftp服务没有开启;3、防火墙没关。 首先针对第一种,我修改了 net/net.c 中对网络延时的设置,结果还是不行。第二种情况,两个服务我都打开了的。第三种情况,我检查了 Windows 和 Fedora 9 的防火墙,都关掉了(在Fedora9的服务中,还要将iptables和ip6tables两个服务关掉,并且重启系统,这两个也是防火墙)。但是,为什么还是不行呢?我突然意识到,除了这两个防火墙,杀毒软件通常还有一个防火墙,我的杀毒软件是卡巴的,进入卡巴,关掉它的防火墙,再次测试,下载成功!


图10 关掉卡巴的防火墙

      9、request_module: runaway loop modprobe binfmt-464c

      进入busybox的 _install/bin 目录下,执行 # file busybox 命令,检查编译的文件系统是基于ARM的还是X386的,我的上面显示居然是基于X386的,但是我一开始就配置过的呀,重新打开Makefile,一看,居然没有改过来,可能是我忘记保存了ORZ。 把第164行改成CROSS_COMPILE = arm-linux- ,189行改成ARCH = arm,重新编译下载,问题解决了。

      ^_^

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值