
🎬 渡水无言 :个人主页渡水无言
❄专栏传送门 :linux专栏
⭐️流水不争先,争的是滔滔不绝
📚博主简介:第二十届中国研究生电子设计竞赛全国二等奖 |国家奖学金 | 省级三好学生
| 省级优秀毕业生获得者 | csdn新星杯TOP18 | 半导纵横专栏博主 | 211在读研究生
在这里主要分享自己学习的linux嵌入式领域知识;有分享错误或者不足的地方欢迎大佬指导,也欢迎各位大佬互相三连

目录
[一、TFTP 简介](#一、TFTP 简介)
[二、搭建 TFTP](#二、搭建 TFTP)
[三、TFTP 目录](#三、TFTP 目录)
[四、tftp-hpa 和 tftpd-hpa 服务程序](#四、tftp-hpa 和 tftpd-hpa 服务程序)
[六、TFTP 测试](#六、TFTP 测试)
前言
上一期博客我们介绍了I.MX6U 开发板网络环境的搭建,即虚拟机双网口实现。此次博客便完成搭建 TFTP的搭建。
一、TFTP****简介
TFTP是 TCP/IP 协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。便可以使用 TFTP 来加载内核 zImage、设备树和其他较小的文件到开发板 DDR 上,从而实现网络挂载。
二、搭建****TFTP
执行以下指令,安装 xinetd。
sudo apt-get install xinetd
如下图所示:
查询 /etc/ 下是否存在 xinetd.conf 文件,用如下代码查看。
ls /etc/xinetd.conf
这里博主的ubuntu是有的。

如果没有,就执行以下命令来创建一个xinetd.conf 文件。
sudo vi /etc/xinetd.conf
创建出来的文件是空白的,修改 xinetd.conf 文件内容如下:
# Simple configuration file for xinetd
#
# Some defaults, and include /etc/xinetd.d/
defaults
{
# Please note that you need a log_type line to be able to use log_on_success
# and log_on_failure. The default is the following :
# log_type = SYSLOG daemon info
}
includedir /etc/xinetd.d
三、TFTP****目录
sudo apt-get install tftp-hpa tftpd-hpa
新建 TFTP 目录,这里建立在/home/duan/linux 目录下(这个大家可以自己设置),目录名为 tftp。将 tftp 目录赋予可读可写可执行权限。进入linux目录,再执行如下命令:
mkdir tftp
sudo chmod 777 tftp
如下图所示:

四、tftp-hpa和tftpd-hpa服务程序
执行以下程序安装 tftp-hpa 和 tftpd-hpa 服务程序
sudo apt-get install tftp-hpa tftpd-hpa

执行以下指令打开 tftpd-hpa 配置文件,修改 tftp 目录为 TFTP 服务器工作目录。
sudo vi /etc/default/tftpd-hpa
如下图所示:

执行以下指令创建 /etc/xinetd.d/tftp 配置文件。(如果没有 xinetd.d 这个目录,可以先自己手
动创建)
sudo vi /etc/xinetd.d/tftp
需要添加以下内容:
注意 server_args = -s 后面要添加自己的 tftp 工作路径。
修改 / 添加 tftp 文件后,执行以下指令重启 tftpd-hpa 。
sudo service tftpd-hpa restart
重启 xinetd 服务,使用如下指令:
sudo service xinetd restart
在开发板文件系统执行以下指令设置开发板 IP ,将虚拟机( 192.168.10.100 ) TFTP 工作目
录下的 test.c 文件拷贝到开发板中。
五、网络环境
确保网络环境正常, Ubuntu 、 Windows 和开发板能相互 ping 通。
这里结合 1.4 小节的配置来验证,即:
开发板 IP : 192.168.10.50
虚拟机 IP : 192.168.10.100
电脑网口的 IP : 192.168.10.200
使用 1.2 小节或者 1.3 小节的搭建环境也可以,注意 IP 是否对应正确。
六、TFTP****测试
在 /home/duan/linux/tftp 目录下创建一个 test.c 文件,在里面写入 hello !!! 如下图所示:

在开发板文件系统执行以下指令设置开发板 IP ,将虚拟机( 192.168.10.100 ) TFTP 工作目
录下的 test.c 文件拷贝到开发板中。
ifconfig eth0 192.168.10.50
tftp -g -r test.c 192.168.10.100
cat test.c

可以看到 test.c 成功传输到开发板上, TFTP 环境搭建成功。
总结
本期博客完成了 TFTP的搭建并进行了测试。