uboot连接不上虚拟机linux的tftp服务器

lhgxcl   2009-6-6 00:45 楼主
我是这样做的,请大侠们帮看看我哪里做的不对:
1,u-boot的环境变量如下:
    QQ2440 # printenv
       bootargs=root=/dev/nfs rw nfsroot=172.16.1.248:/home/yf/project nfsaddrs=172.16.
       1.255:172.16.1.248:172.16.1.1:255.255.255.0 console=ttySAC0,115200 mem=64M
       bootcmd=tftp;go 0x30008000
       bootdelay=3
       baudrate=115200
       ethaddr=08:00:3e:26:0a:5b
       ipaddr=192.168.1.17
       serverip=192.168.1.11
       netmask=255.255.255.0
       bootfile="zImage"
       stdin=serial
       stdout=serial
       stderr=serial

       Environment size: 359/65532 bytes

2,板子的ip是192.168.1.17,设置虚拟机上的linux的ip是192.168.1.11。  板子上的uboot已经可以ping通虚拟机上的linux了。
3,在虚拟机上的linux上开通tftp服务:
   (1),在虚拟机上安装linux的时候,我选择的是完全安装,所以etc/xinetd.d/tftp文件已经存在了。
   (2),修改etc/xinetd.d/tftp文件如下:
       service tftp
       {
           socket_type                = dgram
           protocol                = udp
           wait                        = yes
           user                        = root
           server                        = /usr/sbin/in.tftpd
            server_args                = -s /tftpboot
           disable                        = yes
           per_source                = 11
           cps                        = 100 2
           flags                        = IPv4
        }
     (3),修改/tftpboot文件夹的权限:chmod o+w /tftpboot
    (4),在/tftpboot目录下创建一个空的zImage文件(只是想实验这个文件能不能下载到板子上,所以我只在这里放了
         个空zImage):touch zImage
     (5)启动tftp-server:   #/sbin/service xinetd restart
4,在开发板连接的超级终端上输入tftp命令:
   QQ2440 # tftp
5,超级终端上打印出来的出错信息如下:
  TFTP from server 192.168.1.11; our IP address is 192.168.1.17
  Filename 'zImage'.
  Load address: 0x30008000
  Loading: T T T T T T T T T T
  Retry count exceeded; starting again
6,上面就是我操作的详细步骤,为什么连接不上虚拟机linux上的tftp服务器呢?请大侠们指教!不胜感激!!!

回复评论 (3)

显示TTT说明是没有连接上。

进虚拟机的驱动,查看两个服务
  ① iptables服务,这个是防火墙要关闭。
    ②  network服务,检查是否已开启。根据你说的能够ping通看来是已经开启了。

如果还不行的话,你可以看看你的虚拟机Linux上是否安装了SELinux,安了的话把这个也关了。
关闭SELinux的方法可以在网上搜一下,有的是。
可能根据Linux的种类SELinux的设置文件存放地点有点差异。
点赞  2009-6-6 01:44
引用: 引用 1 楼 zhaozhe83210 的回复:
显示TTT说明是没有连接上。

进虚拟机的驱动,查看两个服务
  ① iptables服务,这个是防火墙要关闭。
    ②  network服务,检查是否已开启。根据你说的能够ping通看来是已经开启了。

如果还不行的话,你可以看看你的虚拟机Linux上是否安装了SELinux,安了的话把这个也关了。
关闭SELinux的方法可以在网上搜一下,有的是。
可能根据Linux的种类SELinux的设置文件存放地点有点差异。

不好意思写错了,是 进虚拟机Linux的服务管理,查看两个服务。
点赞  2009-6-6 01:47
老大,感谢!
原因找到了!它就是:我把disable = yes 这一句注释掉之后,忘记保存了!
点赞  2009-6-6 12:11
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复