tftp网络系统搭建
时间:10-02
整理:3721RD
点击:
Tftp 是用来下载远程文件的最简单网络协议,它其于 UDP 协议而实现。嵌入式 Linux
的 tftp 最常用来完成开发板和开发环境 Linux 系统之间的的文件传输功能,避免了频繁的U 盘拷贝的过程。 Linux 下的 tftp 开发环境建立包括两个方面:一是 Linux 服务器端的tftp-server 支持,二是嵌入式目标系统的 tftp-client 支持。
安装 tftp 所需的软件
安装软件前务必保证虚拟机可以上网。虚拟机要访问网络必须在 "Virtual Machine setting"菜单下选择" Network Adapter->Network connection->Bridged:Connected directly tothe physical network ",设置如下图:

需要安装 tftp-hpa 客户端和tftpd-hpa服务程序以及 xinetd。
sudo apt-get install tftp-hpa tftpd-hpa xinetd
查看目录中有没有一个 xinetd.conf 文件,如果没有则新建一个,
有的话运行"cat xinetd.conf"查看其内容,看是否与下面的一致,
打开配置文件 tftpd-hpa,并且修改配置文件
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/home/tl/tftpboot" //以用户实际路径为准
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="-l -c -s"
打开/etc/ xinetd.d/tftp 文件,修改文件内容,
servicetftp{
socket_type = dgram
wait = yes
disable = no
user = root
protocol = udp
server = /usr/sbin/in.tftpd
server_args = -s /media/tftpboot -c //以用户目录为准
#log_on_success += PID HOST DURATION
#log_on_failure += HOST
per_source = 11
cps =100 2
flags =IPv4
}
重启 tftpd-hpa,重新加载 xinetd 进程, 重新启动 xinetd 服务。
sudo service tftpd-hpa restart
sudo service xinetd reload
sudo service xinetd restart

开发板和 Windows 主机先通过直连网线插到路由器, 使 Winsows 主机、虚拟机、开
发板处于同一个局域网。 如果没有路由器,也可以通过交叉网线将开发板和 Windows 主
机互联。
ipconfig查看网络地址

开发板上电,进入开发板系统后设置 IP 的前三个字段和 Windows 主机相同,最后一
个字段务必不能相同,同时设置子网掩码为一致。只有前三个在字段和子网掩码相同,Windows 主机、 Ubuntu 虚拟机、开发板三者之间才能互相 ping 通。

还可以使用UDHCPC来自动获取IP地址,如果IP地址不在同一个范围内的话,可以使用ifconfig eth0 来设置。
后面使用ping命令来测试开发板和虚拟机之间的网络是否正常。
在开发板中执行以下命令:
tftp -g -r test 192.168.1.XX
-g: 代表 get,下载文件
-r: 代表 remote,远程服务器
test: 远程服务器 tftpboot 目录下的文件名字
192.168.1.XX: 远程服务器的 ip 地址,这里指 Ubuntu 虚拟机
执行命令后可以在当前目录看到 test 文件,使用 "cat test"命令查看其内容是否和服务
器 tftpboot 目录下的 test 文件内容一样,如果一样的话,说明你的网络环境已经搭建完成了。

