使用
TFTP
进行文件传输
(系统版本:
Ubuntu 10.10
或以上)
在嵌入式系统开发中,经常需要从主机上传送映像、文件等到目标机上。实现的方法
有很多。如
tftp
,
scp
等。
TFTP
(
Trivial
File
Transfer
Protocol
)是用来下载远程文件的最简单的网络协议,它基于
UDP
协议而实现。
一、
TFTP
的建立
嵌入式
linux
的
tftp
开发环境包括两个方面:一是
linux
服务器端的
tftp-server
支持,二
是嵌入式目标系统的
tftp-client
支持。因为
u-boot
本身内置支持
tftp-client
,所以嵌入式目
标系统端就不用配置了。我们要做的是在服务器端(即主机)上安装
TFTP
服务,并且正确
地配置
TFTP
服务的路径和参数。
下面我尝试了两种搭建
TFTP
的方法,都实测成功。
1
、安装
tftp
所需软件包:
tftp
有好几种版本,其中
tftp
和
tftpd
是最经典、最常用的。还有增强版,如
atftp
和
atftpd
、
tftp-hpa
和
tftpd-hpa
等。所以配置
TFTP
的方法也不唯一。
传统方法(
xinetd
):
sudo apt-get install tftp
sudo apt-get install tftpd
sudo apt-get install xinetd
tftp
是客户端,作用是从别人的
TFTP
服务器端上传
/
下载东西。
tftpd
是服务端,字母
d
代表
daemon
,作用是为别人提供
TFTP
服务,供别人上传
/
下载
东西。
xinetd
是
inetd
的扩展。
inetd
服务器是一个专门管理入网连接的网络后台程序,
xinetd
现在已经取代
inetd
,它一个守护进程,用于处理对各种服务的请求。
tftp
是要用
inetd
来控
制的。
另一种更简单的方法:
tftp-hpa
sudo apt-get install tftp-hpa
sudo apt-get install tftpd-hpa
tftp-hpa
与
tftp
作用相当,但两者是冲突的,不能同时安装。
tftpd-hpa
与
tftpd
的关系
同理。这种方法下,不需要
inetd
服务就可以。网上也有人同时装了
xinetd
,不仅需要配置,
似乎还容易出问题。