Linux学习笔记七:下载文件到开发板--搭建TFTP服务器

一、概述

前面将交叉编译后的hello文件下载到开发板,使用了U盘拷贝的方式。这样比较繁琐,且需要时刻准备一个U盘。
这篇笔记就记录如何通过搭建TFTP服务器来实现文件传输。只需要一根网线就可以了。后续的学习中都采用这种方式。
搭建TFTP服务器,需要在电脑Ubuntu和开发板上分别进行设置。设置略显麻烦,但是一劳永逸。

二、Ubuntu

2.1 搭建

首先安装 xinetd,然后安装 tftp 和 tftpd

sudo apt-get install xinetd
sudo apt-get install tftp tftpd

在这里插入图片描述
新建 TFTP 的配置文件:

vi /etc/xinetd.d/tftp

在这里插入图片描述
文件内容如下:
在这里插入图片描述
其中server_args 设置的/var/tftpboot 目录是 tftp 服务器的目录。
我们在本地建立此目录,修改目录权限后,重启xinetd 服务:

mkdir /var/tftpboot
chmod 777 /var/tftpboot
sudo /etc/init.d/xinetd restart 

在这里插入图片描述

2.2 测试

  1. 在tftp 服务器的目录下创建一个test文件用于测试,在test内写入简单信息,如:test
    在这里插入图片描述

  2. 启动另外一个终端

    tftp 127.0.0.1
    

    这时就会变成tftp>开头,指示可以使用tftp指令
    在这里插入图片描述

  3. 使用get 文件名指令获取文件此处就是:

    get test
    

    可以看到文件长度和耗时。在这里插入图片描述
    获取完成后输入 q 即可退出 tftp。

  4. 查看获取结果。在当前目录下使用 ls 查看,可以发现多了一个 test 文件,使用cat查看test内容,与我们创建的测试文件一致。
    在这里插入图片描述
    也可以修改下服务器目录下的test内容,重新get一下,可以获取到最新的文件。

2.3 疑问

创建的test文件内只有一个test。但是在上面的截图中可以看出,使用cat查看时,多输出一个空行,且通过tftp服务器获取时,文件长度是6。
在这里插入图片描述

三、开发板

通过网线实现TFTP传输,需要开发板、Ubuntu在同一网段。也就是IP地址和子网掩码进行位与,得到结果一致即可。

3.1 查看IP

  1. 首先查看开发板的IP地址:
    在这里插入图片描述
    IP=192.168.1.230
    子网掩码=255.255.255.0

  2. 查看windows下的IP地址
    在这里插入图片描述
    IP=192.168.1.102
    子网掩码=255.255.255.0

  3. 再查看下Ubuntu的IP地址
    在这里插入图片描述
    IP=192.168.1.72
    子网掩码=255.255.255.0

3.2 测试网络

因为子网掩码为255.255.255.0,所以只要IP的前3段一样,那么位与结果就一样了。开发板已经与windows、Ubuntu在同一网段了,首先用开发板ping一下windows:
在这里插入图片描述
再用开发板ping一下Ubuntu:
在这里插入图片描述

3.3 从Ubuntu获取文件

现在使用命令tftp -g -l test -r test 192.168.1.72来测试下:
在这里插入图片描述
命令的第一个test是获取到开发板后的名称,可以随意命名;第二个test是Ubuntu端要获取的文件名称,Ubuntu要确实有该文件才行,否则会获取超时;最后的IP地址是Ubuntu的IP地址。

查看下test内容,与Ubuntu一致:
在这里插入图片描述

  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值