1、安装TFTP服务器
sudo apt-get install tftpd-hpa
sudo apt-get install tftp-hpa(如果不需要客户端可以不安装)
tftp-hpa是客户端
tftpd-hpa是服务器端
2、配置TFTP服务器
打开TFTP服务器的配置文件
# vi /etc/default/tftpd-hpa
可见到如下内容:
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/home/xxx/tftpboot" #-->这个是你的工作目录,需要自己选定,chmod 777 /tftp我是在根目录下搞了个
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="-l -c -s"
3、重启服务器
$ sudo service tftpd-hpa restart # 启动服务使设置生效
4、测试服务器
在/tftpboot下新建文件1.txt
# cd /home #到home目录下
tftp 127.0.0.1/localhost #tftp服务器主机IP地址,localhost表示本机
tftp> get 1.txt
Received 12 bytes in 0.0 seconds
tftp> quit
退出后如果在/home下能找到1.txt文件,说明tftp服务器架设成功。如果手上有开发板或其它板,可在板上进一步验证。
=================================================================================
===========================yocto平台下安装搭建TFTP===============================
1、安装
host$ sudo apt-get install isc-dhcp-server tftpd-hpa xinetd
2、配置
设置DHCP
打开配置文件:gedit /etc/dhcp/dhcpd.conf
# Basic boot sequence: AM335x ROM -> MLO -> barebox -> kernel
subnet 192.168.3.0 netmask 255.255.255.0
{
# The filenames must correspond to the barebox and MLO files which are placed in the /tftpboot directory
range dynamic-bootp 192.168.3.11 192.168.3.100;
if substring (option vendor-class-identifier, 0, 10) = "AM335x ROM"
{
filename "MLO";
}
elsif substring (option vendor-class-identifier, 0, 18) = "am335x barebox-mlo"
{
filename "barebox.bin";
}
range 192.168.3.101 192.168.3.199;
}
设置tftp
打开文件:gedit /etc/xinetd.d/tftp
service tftp
{
protocol = udp
port = 69
socket_type = dgram
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot
disable = no
}
3、创建一个文件夹去存储tftp文件
host$ sudo mkdir /tftpboot
host$ sudo chmod -R 777 /tftpboot
host$ sudo chown -R nobody /tftpboot
4、绑定服务器到一个以太网接口,并未其设置IP地址
编辑文件:gedit /etc/default/isc-dhcp-server
INTERFACES="eth1"
可以通过 host$ ifconfig eth1 命令查看IP地址,并绑定此地址
eth1 Link encap:Ethernet HWaddr 00:11:6b:98:e3:47
inet addr:192.168.3.10 Bcast:192.168.3.255 Mask:255.255.255.0
5、重启服务器,使生效
host$ sudo service isc-dhcp-server restart
host$ sudo service tftpd-hpa restart