EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
一、移植环境 - 主 机:VMWare6.5--Fedora 9
- 开发板:自制开发板
! L" O! z7 a8 |0 @ R
CPU:S3C2440; SDRAM:HY57V561620FTP-H; NOR flash:SST_39VF1601(2M); NAND flash:K9F1G08U0B(128M); 网卡芯片:DM9000EP5 Y5 w/ F! Z1 r1 g
- 编译器:ARM-linux-gcc-4.3.2
- u-boot:u-boot-2009.08
- linux kernel:linux-2.6.30
- busybox:busybox-1.13.3
2 D7 P! o4 J! s+ A* f( e
/ {# I" b0 ^. p7 d3 G) C0 ~# P二、问题及解决方法 7、Fedora9的bug,“No network connection” 我的虚拟机采用桥接的方式与Windows连接,并且在Fedora9中能够ping通Windows XP,但是右上角的网络连接图标无论是否手动激活网卡都会一直提示 "No network connection",如图7所示,显示一把红色小叉。
图7 网络连接图标显示无连接 这个问题之前一直存在,但是没有找到解决方法,就搁置下来了。后来,我想用tftp将linux内核下载到开发板上,但是一直不能成功,我就怀疑是不是网络部分没有配置好,因此又去仔细研究了一下,终于发现问题所在!这实际上是 Fedora 9 的一个bug。(以前的版本没用过不清楚)
' [ ]4 H' z/ i* m p 造成这个问题的原因是 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 中进行本地测试十分正常,并且开发板也能够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,重新编译下载,问题解决了。 0 W c% d/ |7 g$ P) w1 ]
|