搭建tftp服务器实现u-boot从计算机下载文件到ARM
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
搭建tftp服务器实现u-boot从计算机下载文件到ARM(RedHat等系列宿主机)
搭建tfpt服务器实现用u-boot从宿主机(虚拟机)下载文件到目标机(mini2440)
首先要明确一个概念,tftp服务器是装在宿主机系统上的不是装在开发板上的,开发板因为是嵌入式系统所以是很精简的,没有tftp服务器,nfs服务器之类的。好多linux命令也是不支持的。
第一步:连接硬件
1.用串口线将mini2440与计算机连接,使用超级终端或SecureCRT与开发板交互(这
里使用后者)
2.用网线将mini2440的网络端口与计算机的端口连接(所以我的计算机不能上网了
奥,因为路由器上没那么多输出端口所以只能这样了)。
3.当然别忘了插上电源,硬件连接就ok了。
第二步:软件准备
1.因为是使用u-boot命令下载,所以确定开发板上装了u-boot,并且网卡驱动是
移植好的,u-boot移植及烧写方法具体不细说,参考国嵌实验手册。
2.一个装了linux系统的虚拟机,这里是红帽企业版五,当然我想如果是把系统
直接装在计算机上也是能用的。
第三步:正式开始了奥
1.搭建tftp服务器
先查看系统是否安装了tftp服务器,使用命令如下
[root@localhost]# netstat –a | grep tftp
已安装结果:udp 0 0 *:tftp *:*如下图
如果没有安装,则执行如下命令安装# rmp –ivh tftp-server-0.42-3.1.i386.rpm
当然你的先找到该安装包执行该命令才有效,最后是在装系统的时候就选上tftp
服务器
安装好后重新启动tftp服务器# /etc/xinetd.d/tftp restart
配置tftp服务器# vi /etc/xinetd.d/tftp
第8行与第14行为修改后的程序,起作用分别为打开tftp服务器和设置tftp服务器目录,其他代码不做修改
第四步:设置u-boot环境变量,使用printenv命令查看当前环境变量如图
注意
i
p
a
d
d
r
,serverip,ethaddr,netmask这四项,其他的不用管,serverip后面地址为你的虚拟机
的ip,一定要修改一致,ipaddr为你开发板的ip,最好跟你虚拟机ip在同一网段
(前三部分数字一样),ethaddr 为开发板网卡地址即常说的mac地址,可以不
做修改或是任意改,不过地址长度是一定的,比如改为00:01:02:03:04:05,由六段
数字组成。
环境变量修改方法:setenv 环境变量名修改后的值
以修改serverip为例,setenv serverip 192.168.1.1
修改好后可通过ping命令查看是否能够ping通如:ping 192.168.1.1
如果显示host 192.168.1.1 is alive则说明网络连接没问题
在真机终端上输入ip 信息
#setenv ipaddr 192.168.0.235 (开发板uboot IP)
# setenv serverip 192.168.0.245 (虚拟机IP)
#saveenv (保存环境变量)
第五步:下载文件到开发板
首先要确定你的tftp服务器目录/tftpboot里有文件,比如我要下载linux内核uImage,只需把uImage放入/tftpboot里,然后即可使用u-boot命令下载uImage到开发板,操作如下
Tftp 32000000 uImage//32000000为需要下载到的内存地址,及把uImage下载到32000000地址处如图:
好了,uImage已经下载到内存里了。
LINUX下tftp安装步骤及tftp下载内核到开发板的方法:
1.安装tftp 服务(服务端和客户端)
如果按照LINUX时没安装上TFTP服务,则可挂载镜像文件,获取TFTP安装包。方法如下:
(1)虚拟机-设置-CD/DVD—linux iso镜像
(2)创建目录,并挂载镜像文件:
进入/mnt,创建mkdir cdrom
mount –o ro /dev/cdrom /mnt/cdrom//(–o ro以只读方式挂载)或者用下面
mount –t iso9660 /dev/hda /mnt/cdrom
注:其中–o loop 是代表回环设备, 回环设备的使用与其它任何块设备相同。特别是,你可以在这个设备上创建文件系统并像普通的磁盘一样将它挂载在系统中。
关闭防为墙:service iptables stop
指定安全等级:sentenforce 0
(3)安装tftp 服务rpm包
进入光盘/mnt/cdrom/Fedora/RPMS
将―tftp-0.32-4.i386.rpm”、”tftp-server-0.32-4.i386.rpm‖这两个包拷贝到虚拟机上,安装命令如下:
#rpm -ivh tftp-server-0.32-4.i386.rpm
#rpm -ivh tftp-0.32-4.i386.rpm (这个包是客户端登陆tftp 服务器所需要的)
安装完毕之后#vim /etc/xinetd.d/tftp,打开tftp 服务的配置文件并进行修改, 将该文件修改成如下(一般是一样的不用修改):
2、重启tftp 服务
#service xinetd restart或/etc/xinedt.d/tftp restart //这样,tftp-server 就重新启动了。
可以用查询命令看tftp 服务是否开启
#netstat -a | grep tftp //显示结果为:
udp 0 0 *:tftp *:*
表明服务已经开启
你可以登陆本机测试以下,命令如下:
#tftp your-ip-address
tftp>get
tftp>put
tftp>q
这样你就在linux 下建立了tftp 服务器,u-boot 可以直接登录到你的主机上了,不用再切换到windows 下用tftpd32.exe 来建立服务器了。
3.烧内核到开发板