Chinaunix

标题: 求助! S3C2410下载虚拟机中的uImage的问题 [打印本页]

作者: Constantine_X    时间: 2013-05-31 21:38
标题: 求助! S3C2410下载虚拟机中的uImage的问题
本帖最后由 Constantine_X 于 2013-06-05 20:36 编辑

我虚拟机的tftp服务已经配置好了,虚拟机的ip地址也被我设置成静态.开发板和虚拟机之间直接通过双绞线相连
uboot启动后我用tftp 30800000 uImage下载虚拟机中/tftpboot/uImage.
但一直下载不了.这问题困扰我很久了,一直找不到原因!

希望有经验人士帮我解决这个问题.谢谢.

开发板:S3C2410
虚拟机:Fedora 18

开发板终端运行截图见附件.


虚拟机ip:



大家觉得问题出在哪?


作者: jjgcu    时间: 2013-06-04 16:12
通过路由试试
作者: thinkdancer    时间: 2013-06-04 22:41
回复 1# Constantine_X

ip地址不对吧,怎么又有172,又有192的呢。。。

   
作者: Constantine_X    时间: 2013-06-05 08:07
回复 2# jjgcu
嗯,宿舍暂时没有那条件.

   
作者: Constantine_X    时间: 2013-06-05 08:11
回复 3# thinkdancer
好吧,你提醒我注意到IP和DNS的关系了.由于时间的关系,我会在下午再试一次.




   
作者: Constantine_X    时间: 2013-06-05 20:17
回复 5# Constantine_X

修改了ip和DNS,还是不行!



   
作者: thinkdancer    时间: 2013-06-05 23:49
回复 6# Constantine_X

把结果发上来看看

另外,PC和开发板互相ping可以通么?看看PC上的UDP口连接状态
   
作者: yyddddmw    时间: 2013-06-06 17:14
我曾经和楼主遇到过类似的问题,VMware下的虚拟机和板子横竖PING不通,但是一样的虚拟机在其他机器上完全可以。。。
在苦思冥想2天解决不了后,
使用VirtualBOX启动同一个虚拟机PING通通板子。
作者: Constantine_X    时间: 2013-06-06 18:11
回复 7# thinkdancer

弱弱的说一句,我还不了解UDP.需要查看这个么,因为以前在VMware搞这个的时候,我并没有涉及到它.

ip地址和DNS我已经更改,见1楼

开发板和PC中的虚拟机互ping结果:

先是开发板:


似乎通了.

虚拟机Fedora 18:


看样子没通.


   

2.jpg (136.18 KB, 下载次数: 58)

2.jpg

作者: Constantine_X    时间: 2013-06-06 18:15
回复 8# yyddddmw

我之前在VMware上用虚拟机redhat 4可以连得的通,但后来VMware越跑越慢(我也不知道为什么),有时虚拟机还会死机,所以我就换成了

Oracle VM VirtualBox 并装了Fedora 18,然后.....然后就是现在这样子.

   
作者: thinkdancer    时间: 2013-06-06 22:41
回复 9# Constantine_X

看样子可以互通,虚拟机不能ping通开发板可能是开发板不响应ICMP报文

你在虚拟机上看看UDP口的状态,命令:netstat -nau,看看tftp使用的69口开启没有

另外看看tftp服务器的配置文件,镜像文件路径下有没有uImage文件。

   
作者: Constantine_X    时间: 2013-06-07 08:40
本帖最后由 Constantine_X 于 2013-06-07 09:03 编辑

回复 11# thinkdancer


UDP状态
这是没连板子前:

连完板子后:



镜像文件路径下有uImage文件:

2.jpg (112.15 KB, 下载次数: 42)

2.jpg

作者: ddd010    时间: 2013-06-07 09:06
以我经验来看,板子至少ARP正常了。
打印TT是uboot中一直在等待获取tftp回传的数据。。。


检查你tftp配置。
作者: Constantine_X    时间: 2013-06-07 09:16
回复 13# ddd010

tftp配置可见12楼,我暂时还没有找出什么地方配置错误.


   
作者: ddd010    时间: 2013-06-07 09:23
Constantine_X 发表于 2013-06-07 09:16
回复 13# ddd010

tftp配置可见12楼,我暂时还没有找出什么地方配置错误.


那问题就在你虚拟机没法把数据送到开发板。

也就是你虚拟机没法ping通  板子。


其实问题可以理解:
下载image,
1、板子->tftp服务器 ;申请数据下载
2、tftp服务器->板子  ;传输数据


你的第二步没有通。
作者: ddd010    时间: 2013-06-07 09:25
http://www.baidu.com/baidu?wd=server+u&tn=monline_4_dg
去下载个这个。试试
作者: Constantine_X    时间: 2013-06-07 23:15
本帖最后由 Constantine_X 于 2013-06-07 23:15 编辑

回复 15# ddd010

反馈:
今天我去别的虚拟机那里试了一下,发现其实第二步ping 不通并不是问题所在,因为我板子在redhat 4 那里能成功下了uImage,并且情况也是虚拟机不能ping通板子,
但板子可以ping 通虚拟机.


   
作者: thinkdancer    时间: 2013-06-07 23:39
回复 17# Constantine_X

很可能是tftp服务器没设置好,看udp69端口打开了,但是可能还是没连上

1.试试修改文件/etc/inetd.conf,增加如下的tftp访问设置

tftp                dgram        udp        wait        nobody        /usr/sbin/tcpd        /usr/sbin/in.tftpd /tftpboot

2.重启inetd服务:sudo /etc/init.d/openbsd-inetd restart

不知道你用的什么服务实现的tftp,可以参考这个帖子,讲的是ubuntu下使用openbsd-inetd配置tftp服务

ubuntu 10.04 虚拟机建立tftp服务器
http://blog.csdn.net/CommShare/article/details/6212825
作者: ddd010    时间: 2013-06-08 08:34
Constantine_X 发表于 2013-06-07 23:15
回复 15# ddd010

反馈:


你用那个server u确认下。
作者: Constantine_X    时间: 2013-06-08 20:43
回复 18# thinkdancer



oh!  /etc/  目录下并没有  inetd.conf 这个文件,而且我用的是Fedora,
ubuntu恐怕不适合,当初Fedora 18 tftp的安装,我是照着网上的教程装的.

说点我的其他疑虑,我的虚拟机使用静态ip,桥接;但Fedora 18静态ip的配置我并不懂

原本是参数文件是这样的:

[root@bogon ~]# cat /etc/sysconfig/network-scripts/ifcfg-p2p1
HWADDR=08:00:27:31:9C:C2
TYPE=Ethernet
BOOTPROTO=dhcp
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=p2p1
UUID=73c4b0e1-45d7-4153-afa6-074fc61ba10c
ONBOOT=yes


后来被我改成这样:
HWADDR=08:00:27:31:9C:C2
TYPE=Ethernet
IPADDR=172.16.123.121
NETMASK=255.255.255.0
GATEWAY=172.16.123.254
DNS1=172.16.2.1
NAME=p2p1
UUID=73c4b0e1-45d7-4153-afa6-074fc61ba10c
ONBOOT=yes


我并不确定这样改是不是正确设置了静态ip,以及它对现在的问题有什么影响.
作者: thinkdancer    时间: 2013-06-08 22:06
回复 20# Constantine_X

动态静态无所谓,只要IP地址配置对了就可以,你这个配置应该没问题。

问题很可能还是tftp服务器没有正确启动,你可以用其他电脑连接虚拟机,或者用PC主机的tftp客户端试试。

可以在虚拟机直接使用tftp客户端命令看看能不能下载uImage文件。


比如:

thinkdancer@thinkdancer-pc:~/Downloads/Test$ ls
thinkdancer@thinkdancer-pc:~/Downloads/Test$ tftp 172.16.123.121
tftp> get uImage
Received 2417404 bytes in 0.4 seconds
tftp>
tftp> exit
?Invalid command
tftp> quit
thinkdancer@thinkdancer-pc:~/Downloads/Test$ ls -al
total 2356
drwxr-xr-x 2 thinkdancer thinkdancer    4096 2013-06-08 21:51 .
drwxr-xr-x 6 thinkdancer thinkdancer    4096 2013-06-08 21:50 ..
-rw-r--r-- 1 thinkdancer thinkdancer 2402492 2013-06-08 21:51 uImage

正常的话应该会将uImage文件下载下来,如果没有,那还是tftp服务器有问题,再继续排查。

   
作者: Constantine_X    时间: 2013-06-08 22:10
回复 21# thinkdancer

"在虚拟机直接使用tftp客户端命令...."

这个我试过了,可以下载.


   
作者: thinkdancer    时间: 2013-06-08 22:14
回复 22# Constantine_X

你确认?有输出显示么?


   
作者: tiankongneuq    时间: 2013-06-08 22:15
虚拟机linux的防火墙有没有关掉。可以使用iptables -F。清掉防火墙的所有规则。或者直接关闭防火墙。网上找找关闭防火墙的命令
作者: Constantine_X    时间: 2013-06-09 08:16
本帖最后由 Constantine_X 于 2013-06-09 08:17 编辑

回复 23# thinkdancer

编辑器,不知为啥上传不了图片,只好拷贝文本.

是的,tftp可以下载:

[root@bogon My_document]# ls
arm-2010.09            bn                   myfs-new.tar.bz2
arm-linux-gcc.tar.bz2  linux-3.0.4.tar.bz2  save
[root@bogon My_document]# tftp 172.16.123.121
tftp> get uImage
tftp> quit
[root@bogon My_document]# ls
arm-2010.09            bn                   myfs-new.tar.bz2  uImage
arm-linux-gcc.tar.bz2  linux-3.0.4.tar.bz2  save
[root@bogon My_document]#



作者: 流氓无产者    时间: 2013-06-09 09:20
lsmod的全结果贴出来
作者: Constantine_X    时间: 2013-06-09 14:37
回复 26# 流氓无产者


[root@bogon ~]# lsmod
Module                  Size  Used by
fuse                   71522  2
ebtable_nat            12695  0
ipt_MASQUERADE         12760  1
nf_conntrack_netbios_ns    12585  0
nf_conntrack_broadcast    12487  1 nf_conntrack_netbios_ns
ip6table_mangle        12620  1
ip6t_REJECT            12826  2
nf_conntrack_ipv6      18318  23
nf_defrag_ipv6         17824  1 nf_conntrack_ipv6
iptable_nat            12867  1
nf_nat_ipv4            13039  1 iptable_nat
nf_nat                 24669  3 ipt_MASQUERADE,nf_nat_ipv4,iptable_nat
iptable_mangle         12615  1
nf_conntrack_ipv4      14320  20
nf_defrag_ipv4         12601  1 nf_conntrack_ipv4
xt_conntrack           12664  42
bnep                   18956  2
nf_conntrack           72168  9 nf_conntrack_netbios_ns,ipt_MASQUERADE,nf_nat,nf_nat_ipv4,xt_conntrack,nf_conntrack_broadcast,iptable_nat,nf_conntrack_ipv4,nf_conntrack_ipv6
bluetooth             316042  7 bnep
ebtable_filter         12715  0
rfkill                 20755  3 bluetooth
ebtables               21315  2 ebtable_nat,ebtable_filter
ip6table_filter        12711  1
ip6_tables             17634  2 ip6table_filter,ip6table_mangle
be2iscsi               92531  0
iscsi_boot_sysfs       15121  1 be2iscsi
bnx2i                  49542  0
cnic                   57673  1 bnx2i
uio                    14412  1 cnic
cxgb4i                 32074  0
cxgb4                 111203  1 cxgb4i
cxgb3i                 28033  0
cxgb3                 130966  1 cxgb3i
mdio                   13243  1 cxgb3
libcxgbi               54561  2 cxgb3i,cxgb4i
ib_iser                36780  0
rdma_cm                37084  1 ib_iser
vboxvideo              12539  1
ib_addr                13512  1 rdma_cm
drm                   217156  2 vboxvideo
iw_cm                  13752  1 rdma_cm
vboxsf                 42541  1
ib_cm                  36712  1 rdma_cm
ib_sa                  23965  2 rdma_cm,ib_cm
ib_mad                 37174  2 ib_cm,ib_sa
ib_core                62121  6 rdma_cm,ib_cm,ib_sa,iw_cm,ib_mad,ib_iser
iscsi_tcp              18015  0
libiscsi_tcp           19467  4 cxgb3i,cxgb4i,iscsi_tcp,libcxgbi
libiscsi               44824  8 libiscsi_tcp,bnx2i,cxgb3i,cxgb4i,be2iscsi,iscsi_tcp,ib_iser,libcxgbi
scsi_transport_iscsi    46615  8 bnx2i,be2iscsi,iscsi_tcp,ib_iser,libcxgbi,libiscsi
snd_hda_codec_idt      63896  1
snd_hda_intel          38307  3
snd_hda_codec         110678  2 snd_hda_codec_idt,snd_hda_intel
snd_hwdep              13232  1 snd_hda_codec
snd_seq                54699  0
snd_seq_device         13824  1 snd_seq
snd_pcm                85985  2 snd_hda_codec,snd_hda_intel
snd_page_alloc         13852  2 snd_pcm,snd_hda_intel
snd_timer              23742  2 snd_pcm,snd_seq
vboxguest             188485  7 vboxsf
joydev                 17097  0
snd                    63246  14 snd_hwdep,snd_timer,snd_hda_codec_idt,snd_pcm,snd_seq,snd_hda_codec,snd_hda_intel,snd_seq_device
i2c_piix4              17682  0
soundcore              14123  1 snd
ppdev                  17363  0
i2c_core               28449  2 drm,i2c_piix4
parport_pc             27403  0
parport                39143  2 ppdev,parport_pc
microcode              18726  0
nfsd                  238461  13
auth_rpcgss            34858  1 nfsd
nfs_acl                12653  1 nfsd
uinput                 17297  0
lockd                  78145  1 nfsd
e1000                 132831  0
sunrpc                216619  21 nfsd,auth_rpcgss,lockd,nfs_acl
[root@bogon ~]#




   .......然后?


   
作者: 流氓无产者    时间: 2013-06-09 18:05
Constantine_X 发表于 2013-06-09 14:37
回复 26# 流氓无产者

先试验一下关闭iptables
service iptables stop
service ip6tables stop
作者: Constantine_X    时间: 2013-06-10 16:04
回复 28# 流氓无产者


在Fedora 18 下,命令似乎有所变化,不过我试了一下,依旧不行.



   
作者: geek-linux    时间: 2013-07-08 12:57
可以检查下权限,不知道是不是因为没有权限。
chmod -R 777 /tftpboot
作者: nevermore4030    时间: 2013-07-23 23:10
主机不要ping开发板 很多bootloader不支持这个。看看你的fedora是不是关掉了防火墙和selinux
作者: tangzhilm    时间: 2013-08-18 22:17
设置一下xp的ip设置和虚拟机和开发板一个区间的IP就可以了,要关掉虚拟机防火墙




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2