打印
[嵌入式linux]

迅为iMX6开发板-Linux系统-TFTP使用文档

[复制链接]
355|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
linzhao789|  楼主 | 2020-9-17 16:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
TFTP(Trivial File Transfer Protocol,简单文件传输协议),是一个基于 UDP 协议实
现的用于在客户机和服务器之间进行简单文件传输的协议,适合于开销不大、不复杂的应用场
合。TFTP 协议专门为小文件传输而设计,只能从服务器上获取文件,或者向服务器写入文
件,不能列出目录,也不能进行认证。
根据上面关于 TFTP 的介绍,实现 TFTP 需要搭建一个 TFTP 的服务器,iMX6 开发板当做
客户端。
1.1 搭建服务器
打开虚拟机 Ubuntu 终端,进入 root 用户,输入“sudo apt-get install xinetd”命令
安装 xinetd,安装完成如下图。(如果报错,注意检查命令拼写:xinetd)

接下来输入“sudo apt-get install tftp tftpd”安装 tftp 和 tftpd,安装完成如下图。

然后建立 TFTP 的配置文件,使用命令“vi /etc/xinetd.d/tftp”建立文件,如下图。

写入如下内容:
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /var/tftpboot/
disable = no
per_source = 11
cps = 100 2
flags = IPv4
}
如下图。

注意:如上图所示,这个文件在粘贴内容之后,必须按照上面的格式严格对齐。
退出并保存。其中 server_args 设置的/var/tftpboot 目录是 tftp 服务器的目录,TFTP
客户端就是从这个目录里面获取服务器上的文件的。使用命令“mkdir /var/tftpboot”建立
tftp 服务器的目录,然后设置/var/tftpboot 的访问权限为 777,如下图。

输入”sudo /etc/init.d/xinetd restart”命令重启 xinetd 服务,如下图。

服务器到这一步就搭建好了,下面来进行测试。
2.1 服务器测试
2.1.1 本机测试
本机测试:在/var/tftpboot 下面建立一个文件 test,在里面输入 hello world,然后保存
该文件,如下图。

再启动另一个终端,然后输入 tftp 127.0.0.1,如下图。

输入 get test 获取 test 文件,然后输入 q 退出 tftp,如下图。

由上图可知,获取到 13 字节的 test。
然后输入 ls 查看当前目录下是否有 test 文件了,通过查看,发现当前目录下已经有 test
文件了,这就是/var/tftpboot 目录下的那个 test 文件。然后使用 cat 命令查看一下
test 的内容,如下图。

通过上面的截图,看到 test 文件里面的内容是 hello world,与/var/tftpboot 目录的
test 是一样的,至此的 TFTP 服务器端的配置和测试就完成了。
2.1.2 开发板实现 TFTP 文件传输
iMX6 开发板进入系统后,输入“ifconfig”命令查看板子 ip,然后输入“ping
192.168.3.183”命令来测试板子和虚拟机 Ubuntu 之间的网络。如下图。

由上图可知,开发板和虚拟机的网络是连通的。这里”192.168.3.183”ip 是虚拟机
Ubuntu 的 ip。如果用 ifconfig 查看到的开发板 ip 和虚拟机 Ubuntu 的 ip 不在同一网段,则
可以通过修改开发板的”/etc/eth0-setting”文件来修改 ip,如下图。

修改完成后,重启开发板。用 ifconfig 查看到 ip 修改有效。
在开发板串口输入“tftp -g -l test -r test 192.168.3.183”,并用 cat 命令查看,如下图。

由上图可知,获取到的 test 文件的内容和 TFTP 上文件的内容是一样的,至此 TFTP 搭建
以及测试全部完成。以后再调试程序的时候可以用 TFTP,不用再来回拔插、挂载 U 盘了。

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

636

主题

716

帖子

1

粉丝