天嵌 ARM开发社区

 找回密码
 注册
查看: 5491|回复: 7

关于使用linux虚拟机的tftp服务器烧写系统镜像的步骤说明

[复制链接]
记事本 发表于 2011-12-7 14:34:37 | 显示全部楼层 |阅读模式
关于使用linux虚拟机的tftp服务器烧写系统镜像的步骤说明
     烧写系统镜像是嵌入式系统开发过程中最常见的工作之一,对此天嵌科技在TQ2440开发板使用手册中介绍了多种烧写方法,其中最常用的usb烧写,网络烧写等等都很详细,包括使用windows的tftp代理软件来烧写,这里不再赘述,手册中介绍的很详细。但是对于在linux虚拟机下使用tftp的烧写则只是一笔带过,并未做详细的说明,在此笔者者结合自身实际操作中的问题给出了详细的步骤说明,仅供初学者参考之用。
Pc平台:windows虚拟机下安装的red hat enterprise5
开发板:        天嵌科技TQ2440
功能:实现linux虚拟机下tftp服务器下载系统镜像       
Linux虚拟机下tftp服务器搭建:
(1)安装:首先我们应保证在linux的虚拟机下已经安装了tftp服务器。这一点可以使用命令来查看:
#netstat -a | grep tftp
如果没有任何信息出现则没有安装tftp。需要自己安装tftp。
这里说的远一点就涉及到了虚拟机下的linux安装问题,很多初学者(包括本人) 在第一次安装linux的时候对于很多软件包不知道哪些该安装哪些不该安装,于是都选择了“稍后定制安装",即选择系统默认的安装包进行安装,在随后的开发过程中笔者发现这样会带来很多麻烦,有很多重要的安装包并没有安装上,当然我们可以用到那个软件就去安装,但是对于linux指令不熟悉的初学者来说还是很有难度的。所以建议大家在安装linux的时候将所有的安装包全部安装上,特别是“应用程序”和“开发”两个选项下的安装都尽可能的安装,当然完全安装的前提是分配给linux虚拟机的硬盘容量足够大,建议在25G就差不多了!好了,扯得太远了,回到正题:如果出现如下图所示信息,说明tftp已经安装并且启动。

如果没有安装我们可以在linux安装光盘的“server”目录下找到tftp的安装包。使用如下命令安装:
#rpm -ivh tftp-server-0.42-3.1.i386.rpm
(2)建立tftp的工作目录:安装完成之后会系统会默认在根目录下建立名为tftpboot的目录,如果没有此目录也可以自己建立:mkdir /tftpboot.
注意这个tftpboot目录是tftp服务器的工作目录,我们使用tftp传输文件的时候都应把相应的文件放在此目录之下。
配置tftp服务器:
使用命令:#vi /etc/xinetd.d/tftp 打开配置文件

需要修改为和上图一样,如:你的server_args=-s /tftpboot 这一行目录可能不是tftpboot,那么你就需要修改为tftpboot,你的disable=no这一行可能为disable=yes,也需要修改。
启动tftp服务器:使用如下命令
#/etc/init.d/xinetd start
或者重启tftp服务器:
#/etc/init.d/xinetd restart  如下图所示:

tftp启动之后,到此我们linux下的tftp服务器已经算是搭建好了!
网络设置。
网络设置包括虚拟机下的网络设置和开发板的网络设置。
linux下的网络设置。使用命令ifconfig来查看当前网络信息。使用如下命令配置:
#ifconfig eth0 192.168.4.7
后面的ip地址就是我们虚拟机的ip地址,这个地址需要根据自己的实际情况自己配置,只要跟pc机的ip地址在一个网段而且无人使用即可。如下图:

开发板网络配置:
硬件连接:串口线和开发板电源线,打开串口工具,笔者使用的是secureCRT,并保证正确设置(设置部分可参考使用手册)。
开发板上电,串口信息如下:
输入命令n,转到网络下载模式,因为此时上电之后默认进入的是usb下载模式。

进入网络下载模式之后就可以使用命令来配置开发板的ip地址信息了:输入命令5(设置网络参数),如下图:

说明:第一个ip地址是tftp服务器所在的pc机的ip地址,也就是我们第一步用ifconfig所设置的linux的ip地址信息,二者必须是同一个地址。第二个tq2440 ip就是开发板的ip地址,这里设置为192.168.4.1与192.168.4.7在一个网段。最后一个是子网掩码地址。设置完成之后根据提示输入y保存设置,之后自动返回到网络下载模式下。
连接开发板和电脑的网线
连好之后,就可测试开发板和虚拟机之间是否网络畅通了:
在网络下载模式下输入命令p,如下图所示:

注意观察最后一句信息 host 192.168.4.7 is alive 说明网络畅通。当然这里还可以在linux的命令提示符下输入:ping 192.168.4.1 来查看用虚拟机能否ping通开发板,如下图网络畅通。必须保证两者能够互相ping通!

3 烧写系统镜像:
在完成了上面的两步准备工作之后,我们就可以使用tftp烧写系统镜像了,这里以使用linux下的tftp服务器烧写uboot 到nandflash为例来说明,烧写之前还需要做一步准备工作,将天嵌科技光盘资料的 出场烧录镜像合集/天嵌3.5寸屏的镜像/u-boot下的u-boot-1.1.6_Q35_20100601.bin文件重新另存为u-boot.bin文件(至于为什么要修改文件名,请参考开发板使用手册的183页镜像名称相关章节),并将此文件拷贝到linux虚拟机下的tftp工作目录下,即tftpboot目录下(关于如何拷贝在此不在讲述,可以使用linux共享文件夹功能或者samba服务器)。
在串口控制台的网络下载模式下:输入命令1(烧写uboot到nandflash中),可能会出现如下所示信息:

在保证了网络畅通的前提下还是出现了T T T T T T T T T T T错误信息。
经过笔者多方查证发现还需要做一件事那就是关闭linux的防火墙,至于原因无从知晓。
在linux命令控制台下输入命令:service iptables stop 关闭防火墙

再回到串口控制台下,输入命令1:出现如下信息烧写成功!

烧写文件系统画面:
TQ-lkp 发表于 2011-12-7 14:39:38 | 显示全部楼层
很详细:lol
回复

使用道具 举报

genning 发表于 2011-12-7 15:41:08 | 显示全部楼层
复制回去慢慢学,多谢了,刚看完手册就这不会
回复

使用道具 举报

 楼主| 记事本 发表于 2011-12-8 18:15:53 | 显示全部楼层
genning 发表于 2011-12-7 15:41
复制回去慢慢学,多谢了,刚看完手册就这不会

呵呵 本来还有图的 不好贴图!:)
回复

使用道具 举报

raominping 发表于 2011-12-8 19:15:32 | 显示全部楼层
收藏下,。。。
回复

使用道具 举报

 楼主| 记事本 发表于 2011-12-9 08:44:02 | 显示全部楼层
自己写的 仅供参考

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
回复

使用道具 举报

czd664364269 发表于 2012-2-7 16:21:45 | 显示全部楼层
太感动了,楼主好人
回复

使用道具 举报

我心永恒00 发表于 2012-3-24 10:15:36 | 显示全部楼层
请问一楼
我的防火墙已经是关闭状态
请问为什么还是出现了T T T T T T T T T T T错误信息

请求解决呀!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号-2 )

GMT+8, 2025-6-17 05:51 , Processed in 2.044281 second(s), 21 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表