2024年3月14日发(作者:)

使用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,不仅需

要配置,似乎还容易出问题。

2、创建TFTP目录