ubuntu上安装tftp服务器

1、安装server与client
sudo apt-get install tftpd-hpa tftp-hpa

2、删除standalone的启动方式
update-rc.d -f tftpd-hpa remove

3、新建用户tftpd及其主目录
sudo mkdir -p /home/tftpd
sudo useradd -s /bin/false -g nogroup -d /home/tftpd [-p PASSWORD] tftpd
示例:sudo useradd -s /bin/false -g nogroup -d /home/tftpd tftpd
加密码:sudo useradd -s /bin/false -g nogroup -d /home/tftpd tftpd -p 123456

3.5 install xinetd

sudo apt-get install xinetd

4、新建xinetd启动文件
cat /etc/xinetd.d/tftpd
service tftp
{
disable = no
socket_type = dgram
wait = no
user = root
protocol = udp
server = /usr/sbin/in.tftpd
server_args = -s /home/tftpd -p -c -U 077 -u tftpd  #//表示tftp操作目录在/home/tftpd上
log_on_success += PID HOST DURATION
log_on_failure += HOST
}
5、注释掉/etc/inetd.conf文件中tftpd启动
#tftp dgram udp wait root /usr/sbin/in.tftpd /usr/sbin/in.tftpd -s /var/lib/tftpboot

5.5 if you have other network connections, such as WiFi, dual-eth cards, pls shutdown the others if tftp is not working.

6、重新启动xinetd服务
sudo /etc/init.d/xinetd restart

7、测试tftpd服务是否成功
tftp localhost
tftp> put 123.log
tftp> put 123.log test.log
tftp> get test.log
tftp> get test.log abc.log
tftp> verbose
Verbose mode on.
tftp> trace
Packet tracing on.
tftp> put kkk.log
sent DATA
received ACK
.........
sent DATA
received ACK
Sent 12999997 bytes in -1.5 seconds [-69987938 bit/s]
++++++++++++++++
注:在哪个目录执行tftp命令,那么上传的文件就是这个目录下的所有文件,下载的文件将只能是server目录下的那些文件!
因为evb板子和liunx下的usb0网卡连接,所以设置usb0网卡地址
ifconfig看看是不是有网卡
然后
sudo ifconfig usb0 192.168.100.1 因为blob默认的地址server地址是192.168.100.1所以需要这样设置才行

ps:
如果发生tftp不能使用,那么 一定是server出现了问题,
在liunx下再执行一次sudo /etc/init.d/xinetd restart就ok了
可以使用tftp localhost测试主机的server是否可以传送数据