Ubuntu通过tftp与嵌入式设备(开发板)进行文件互传

服务端(Ubuntu端):
1、安装服务
//sudo apt-get install tftp-hpa tftpd-hpa xinetd(另一种)
sudo apt install tftp-hpa
sudo apt install tftp

2、新建配置文件
sudo vim /etc/xinetd.d/tftp

3、新建配置文件/etc/xinetd.d/tftp的内容
service tftp
{
disable = no
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot -c
per_source = 11
cps = 100 2
flags = IPv4
}
其中:server_args = -s /tftpboot -c中的/tftpboot目录是Ubuntu与开发板互传文件的目录

4、/etc/default/tftpd-hpa配置文件的内容
TFTP_USERNAME=“tftp”
TFTP_DIRECTORY=“/tftpboot”
TFTP_ADDRESS=“:69”
TFTP_OPTIONS=“–secure -L -c -s”
其中:server_args = -s /tftpboot -c中的/tftpboot目录是Ubuntu与开发板互传文件的目录

5、在根目录创建tftp目录,并修改权限
mkdir /tftpboot //最终设备端tftp传过来的文件会保存在这个目录
sudo chmod 777 -R /tftpboot

6、重启tftp服务
//sudo /etc/init.d/xinetd reload (另一种)
//sudo /etc/init.d/xinetd restart (另一种)
sudo service tftpd-hpa start
sudo service tftpd-hpa restart

7、测试tftp是否成功
netstat -a|grep tftp
显示 :
udp 0 0 *:tftp :

则启动服务了

8、测试
切到需要获取文件到的当前目录:
比如当前目录在/home/luo/test,则运行一下指令后:
tftp +IP地址(如:127.0.0.1)
tftp > get test.txt
tftp > put test.c
tftp >
get时/tftpboot目录下有test.txt文件时,会把该文件下载到当前目录/home/luo/test
put时会将当前目录下的test.c传到/tftpboot目录下

出现错误:
【错误】Error code 0: Permission denied,是因为tftpboot文件夹没有权限,或者是要上传和下载的文件没有权限。

【解决】修改权限sudo chmod 777 -R /tftpboot

【错误】Error code 1: File not found,原因1:指定的文件不存在;原因2:tftpd启动参数中没有指定-c选项;原因3:目录有问题,因为安装的时候默认的tftp目录是【/var/lib/tftpboot】,您可以把test文件放在这个目录中重新测试一下,如果正确说明猜想是正确的。

【解决】原因1和原因2都好解决,这里只解决原因3:重启服务或者重启系统

9、以上都是为了保证Ubuntu能正常使用tftp,以下则是互传的精髓

客户端(设备端)[因为tftp是通过网络传输,所以需要先Ubuntu和开发版都能连接网络,能ping通]:
1、设备发送文件给Ubuntu:
先切到文件所在的目录,然后tftp -pl 文件 服务端IP(UbuntuIP192.168.1.108)
若出现进度条则表明能传输,传输完了之后在Ubuntu的/tftpboot目录下将能看到这里传过去的文件file

2、从Ubuntu下载文件到设备:
先切到要将文件下载到的目录,比如当前目录/mnt/mtd,然后:tftp -g -r filename 192.168.1.108
成功之后在当前目录/mnt/mtd下就能看到从Ubuntu传过来的文件filename

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值