各位老铁们,大家好,今天由我来为大家分享玩转嵌入式系统:如何在Linux系统中搭建tftp服务器·图文视频,以及的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!
Linux下tftp开发环境的建立包括两个方面:一是Linux服务器端的tftp-server支持,二是嵌入式目标系统的tftp-client支持。
本教程分为三个部分:
设置tftp服务器tftp文件传输的视频讲解(文末)
0.笔者的开发环境
Windows 10专业版(版本号:1909;操作系统版本:18383.752),Windows子系统Ubuntu 18.04(1804.2020.5.0)
1.搭建tftp服务器
1.1:安装tftp服务器所需的软件
搭建tftp服务需要安装的软件有tftp-hpa、tftpd-hpa和xinetd,其中:
tftp-hpa——客户端软件:
~$ sudo apt-get install tftp-hpatftpd-hpa—— 服务程序:
~$ sudo apt-get install tftpd-hpaxinetd—— 新一代网络守护服务程序,也称为超级互联网服务器,常用来管理各种轻量级互联网服务:
~$ sudo apt-get install xinetd1.2:配置xinetd.conf配置文件
检查/etc/xinetd.conf文件与以下内容是否一致;如有不一致,请修改;如果没有,直接使用vi命令创建并编辑
~$ cat /etc/xinetd.conf# xinetd 的简单配置文件## 一些默认值,包括/etc/xinetd.d/defaults{# 请注意,您需要一个log_type 行才能使用log_on_success# 和log_on_failure。默认是如下:# log_type=SYSLOG daemon info}includedir /etc/xinetd.d1.3:配置tftpd-hpa配置文件
~$ sudo vi /etc/default/tftpd-hpa 并将内容修改为:
# /etc/default/tftpd-hpaTFTP_USERNAME=’tftp’TFTP_DIRECTORY=’/home/harry/tftpboot’TFTP_ADDRESS=’0.0.0.0:69’TFTP_OPTIONS=’-l -c -s’修改成功后如图如下图,wq 保存退出。
配置tftpd-hpa配置文件
注意:TFTP_DIRECTORY=”/home/harry/tftpboot”表示tftp服务器的工作目录。用户可以根据自己的实际情况进行更改。
1.4:创建工作目录
指定了tftp服务的工作目录后,我们需要在对应的路径下创建tftp工作目录。命令如下:
~$ mkdir tftpboot 将tftp服务器目录的权限改为777,不仅允许目标机器下载,还允许上传。命令是:
~$ sudo chmod 777 ./tftpboot1.5:配置tftp配置文件
检查/etc下的xinetd.d目录下的ftp文件内容是否与下图一致(如果不一致则新建一个并输入以下内容)
~$ sudo vi /etc/xinetd.d/tftp 包含以下内容:
服务tftp{ socket_type=dgram 协议=udp 等待=是用户=根服务器=/usr/sbin/in.tftpd server_args=-s /home/harry/tftpboot/-c 禁用=否per_source=11 cps=100 2 标志=IPv4}修改后,如图
配置tftp配置文件
server_args 行配置文件在tftp 服务器中的存储位置。进行tftp传输时,会从此目录中查找文件。
然后保存文件并退出编辑。
1.6:重启tftp
重新启动tftp,将出现OK 消息。
~$ sudo service tftpd-hpa restart 重新启动tftp
如果你使用的Linux系统和笔者一样,都是win10子系统,Windows防火墙会提示你,一定要点击“是”!否则会失败
1.7: 重新加载xinetd
重新加载xinetd 进程,将出现OK 消息:
~$ sudo /etc/init.d/xinetd reload 重新加载xinetd
1.8:重启xinetd
重新启动xinetd服务,会出现两个OK提示:
~$ sudo /etc/init.d/xinetd restart 重新启动xinetd
注意:每次修改配置文件后,都需要重新启动服务。
至此,Linux系统下搭建tftp服务器的步骤就完成了。以下是测试tftp 的方法。
2.测试tftp服务
2.1:创建新的测试文件
打印你好世界!
2.2:进入测试目录
然后输入任何不同于“/home/harry/tftpboot”的目录(例如/home/harry目录),然后在终端中输入
~$ tftp 127.0.0.1 输入tftp命令提示符,如图:
进入测试目录
2.3:获取测试文件
输入以下命令并回车即可获取tftp工作目录/home/harry/tftpboot下的“helol”文件。如果没有提示,则说明传输成功。否则,就会失败。存在配置问题或防火墙阻止它。如下图:
~$ get test 获取测试文件
2.4:退出tftp命令
输入q退出tftp命令行,如下图:
退出tftp 命令
2.5:修改文件权限并运行
~$ ls~$ chmod 777 hello~$ ls~$ ./hello 修改获取的文件权限并运行
2.6:上传文件
可以在tftp命令中输入以下命令将文件上传到tftp服务器
~$ put main.c2.7:开发板tftp传输命令
tftp [server_ip](tftp服务器ip,如192.168.1.2) -g -r [filename](传输文件名,例如:main)完整命令
视频教程
视频加载中.
至此,整个tftp服务器搭建步骤和tftp测试就完成了。如果您有任何疑问,请在下方留言。
#科技青年#
原创文章,作者:小su,如若转载,请注明出处:https://www.sudun.com/ask/137316.html
用户评论
莫阑珊
这篇文章讲解非常清晰,图文并茂,对于嵌入式小白来说简直太棒了!终于成功搭建好我的TFTP服务器,可以开始移植程序到单片机了。强烈推荐给想要学习嵌入式的朋友们!
有12位网友表示赞同!
。婞褔vīp
搭建TFTP服务器一直是我这个行业里绕不开的技能。感谢作者分享这篇文章,详细步骤加上实际操作效果图,让我很快把工作中的问题解决掉了,太实用啦!
有12位网友表示赞同!
■孤独像过不去的桥≈
虽然我不是学嵌入式的,但对网络传输原理还是比较感兴趣。看了你这篇教程,感觉TFTP服务器的工作机制一目了然,很受启发呀!视频讲解也很棒,一看就懂。
有19位网友表示赞同!
单身i
我用的是Ubuntu系统,照着这个步骤做的时候发现有个地方和文章不太一样,最后绕了一个圈才搞定。虽然有点小坑,但总体来说这篇文章还是很有帮助的。
有9位网友表示赞同!
我家的爱豆是怪比i
说句实话,对于嵌入式系统入门这种比较专业的技术,我感觉还是需要一定的理论基础比较容易理解。如果你没有编程背景的话,光是看这一篇教程可能还不太够用,还得学习一些相关的知识点。
有19位网友表示赞同!
迷路的男人
视频画质有点低,而且声音有些嘈杂,影响了观赏体验。文章本身内容不错,步骤清晰易懂,但建议作者优化一下视频质量。
有13位网友表示赞同!
毒舌妖后
我之前也搭建过TFTP服务器,但是你的方法比我想象的简单很多!感谢分享,这下更省事儿了!
有12位网友表示赞同!
站上冰箱当高冷
感觉这篇文章介绍了一些基础知识,对理解Linux系统有所帮助。但对于想要快速上手嵌入式软件开发来说,可能还需要一些更高级的教程指导。
有12位网友表示赞同!
念旧是个瘾。
文章讲得真棒!我之前一直想学习搭建TFTP服务器,现在终于找到了可靠的教程,期待能够在实践中将所学知识应用到项目中!
有14位网友表示赞同!
灼痛
搭建嵌入式系统确实会遇到很多细节问题,这种图文并茂的教程帮助很大的。作者非常耐心细致地讲解,对于我这种没有太多经验的人来说很棒。
有16位网友表示赞同!
爱到伤肺i
很遗憾,我是用Windows系统,这篇教程不太适合我。希望作者能提供其他操作系统版本的搭建方法.
有8位网友表示赞同!
惯例
这个TFTP服务器的功能还是挺简单的,可能不适用于复杂的应用场景。如果要实现更高级的功能,可能需要对其进行二次开发。
有15位网友表示赞同!
一笑抵千言
这篇文章讲解的技术内容比较专业,建议在文章开头加入一些概述,方便对嵌入式系统不太了解的用户快速理解核心内容。
有15位网友表示赞同!
海盟山誓总是赊
我按照教程一步步操作,最后搭建成功了TFTP服务器!感觉学习Linux命令行也有一些收获。
有18位网友表示赞同!
那伤。眞美
看了一下评论区,好多人说这篇文章很实用。我自己也是这样想的,搭建成功的第一个TFTP服务器对我来说意义重大!
有13位网友表示赞同!
爱你心口难开
我觉得这篇教程还缺失一些常见问题和解决方案的讲解,比如:如何解决网络连接失败的问题?如何配置防火墙?这些比较实用的内容可以考虑添加进来。
有11位网友表示赞同!
笑叹★尘世美
很感谢作者分享这个宝贵经验!我相信很多和我一样的初学者都会受益。
有17位网友表示赞同!
爱你的小笨蛋
学习搭建嵌入式TFTP服务器,真的是一条通往“嵌入式世界”的门槛,感谢您的教程让我打开了一扇窗!
有18位网友表示赞同!