Chinaunix首页 | 论坛 | 博客
  • 博客访问: 449579
  • 博文数量: 133
  • 博客积分: 3259
  • 博客等级: 中校
  • 技术积分: 1255
  • 用 户 组: 普通用户
  • 注册时间: 2010-04-14 13:49
文章存档

2012年(6)

2011年(112)

2010年(16)

分类: LINUX

2011-03-29 13:01:37

使用U-Boot下载Linux内核或者应用程序的快捷的方法是通过网络传输。为了这一目的,U-Boot实现了TFTP协议(参见U-Boot中的tftpboot命令)。
 
为了使主机支持TFTP,你必须确保TFTP后台程序/usr/sbin/in.tftpd已经安装。在RedHat系统中,你可以运行下面的命令来确认:
rpm -q tftp-server
如果没有安装,请从你的Linux安装盘或者其它媒介安装。
 
大多数的Linux发行版都默认关闭TFTP服务。以RedHat系统为例,如果要使能TFTP服务,编辑文件/etc/xinetd.d/tftp,移除这一行:
disable = yes
或者注释掉它:
# default: off
description: The tftp server serves files using the trivial file transfer
#       protocol.  The tftp protocol is often used to boot diskless
#       workstations, download configuration files to network-aware printers,
#       and to start the installation process for some operating systems.
service tftp
{
        socket_type             dgram
        protocol                udp
        wait                    = yes
        user                    = root
        server                  = /usr/sbin/in.tftpd
        server_args           = -s /tftpboot //server端主目录
#       disable                 = yes
        per_source              = 11
        cps                     = 100 2
}
此外,确保/tftpboot目录存在,而且有访问权限(至少应该"dr-xr-xr-x")。
或者把disable = yes 改为 disable = no
这样就已经打开了主机linux中的tftp服务。下面我们可以用uboot的tftp命令来传输文件到目标板的ram中运行。
我们在目标板用命令printenv查看ip地址。
serverip 192.168.0.2 //主机ip
ipaddr 192.168.0.55  //目标机的ip
 
setenv命令可以修改主机和目标机的ip地址。
#setenv serverip 192.168.0.55  //该命令可设置主机ip,该命令只是把设置保存到ram中,如果重启的话设置会重新回到原来的设置。这时我们用saveenv命令把设置保存到flash中。
#saveenv
 
配置好各个参数后,我们在uboot命令窗口中使用tftp命令把内核,文件系统拷贝到ram中。
#tftp 30008000 zImage  //在主机 /tftpboot目录中的zImage文件下载到目标板内存的30008000地址中。
 
 
阅读(736) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~