嵌入式Linux开发环境搭建之八---Ubuntu16.04 tftp环境搭建

简介: 嵌入式Linux开发环境搭建之八---Ubuntu16.04 tftp环境搭建

1、Linux下安装tftp

首先利用命令:dpkg -l | grep tftp,查看tftp是否安装,如果没有安装,则可以按下面步骤进行安装。

1.   1.安装相关软件包:tftpd-hpa(服务端),tftp-hpa(客户端),xinetd
2. 
3.   2.sudo apt-get install tftpd tftp xinetd

2、建立tftp服务文件目录

这个目录用于存放宿主机与目标机之间使用tftp时传递的文件,是可以更改为其他地址的,例如/tftpboot,根据自己需求来设定,并且更改其权限。

1. sudo mkdir /tftpboot
2. sudo chmod 777 /tftpboot

3、建立配置文件

在/etc/xinetd.d/下建立一个配置文件tftp,Linux下的tftp服务是由xinetd(还有openbsd-inetd等其它服务)所设定的,默

认情况下tftp是处于关闭状态,所以要修改tftp的配置文件,开启tftp服务。

sudo vi /etc/xinetd/tftp

在文件中输入以下内容:

1. service tftp 
2. { 
3.     socket_type = dgram
4.     protocol= udp
5.     wait = yes
6.     user = root
7.     server= /usr/sbin/in.tftpd
8.     server_args = -s /tftpboot
9.     disable= no
10.     per_source = 11
11.     cps = 100 2
12.     flags= IPv4 
13. }

4、重新启动服务

sudo/etc/init.d/xinetd restart

然后,使用命令

netstat -au | grep tftp

出现

udp        0      0 ubuntu:tftp             0.0.0.0:*

则说明tftp服务已经开启。  

至此tftp服务已经安装完成了,下面可以对其进行一下测试。

5、本机测试tftp服务器的功能

当前目录~下建立一个测试文件,vim~/test_local.c

并键入内容Thisis a file from local!。保存退出。

在/tftpboot目录下建立一个文件,vim/tftpboot/test_server..c

并键入内容Thisis a file from server!。保存退出。

使用命令ifconfig查看本机ip地址,假设是192.168.1.161

改变用户到root,在~目录运行tftp,

1. tftp localhost
2. 
3. tftp>get test_server.c
4. 
5. Received 31 bytes in 0.0 seconds
6. 
7. tftp>quit

通过get命令,可以从/tftpboot下,下载test_server.c文件。这样,就验证了从server端下载文件是成功的。

1. tftp>put test_local
2. 
3. Error code 2: Access violation

试图通过put命令,把当前目录下的test_local.c文件,通过tftp上传到它的服务文件目录/tftpboot。

经查找该错误信息,发现是因为这样的规定:tftp默认只允许下载文件,要上传文件,必须是服务器中已存在同的文

件,且该文件权限允许被覆盖。名在/tftpboot目录中,新建一个test_local.c,并将test_local.c文件设为777。

再次通过tftp上传文件test_local.c

1. tftp>put test_local.c
2. 
3. Sent 30 bytes in 0.0 seconds

这样,就验证了从本地向server端上传文件是成功的。

这样就验证了tftp服务配置的正确性。当文件上传与下载结束后,可以通过quit命令退出。

6、由本机向开发板传输文件

利用网线一端连接到开发板的网络接口,另一端连接到PC机的网络接口,然后开发板的IP等设置好.

使用终端SecuereCRT,进入到开发板中,在任意一个目录下,键入命令:

tftp -g -r test_server.c 192.168.1.101

-g:get表示下载,-r:remove,移动。

现在你的开发板已经下载好文件test_server.c。

相关文章
|
13天前
|
存储 IDE Linux
零基础保姆级教程!手把手教你免费玩转Linux CentOS安装+学习环境搭建(附避坑指南)
本文详细介绍了在VMware虚拟机中安装CentOS 6.8的全过程。首先,需确保已安装VMware并开启V-CPU虚拟化功能,可通过BIOS设置或使用LeoMoon CPU-V工具检测。接着,下载CentOS镜像文件,并在VMware中新建虚拟机,配置CPU、内存、硬盘等参数。最后,加载ISO镜像启动虚拟机,按照提示完成CentOS的安装,包括语言、键盘、存储方式、地区、密码设置及硬盘分区等步骤。安装完成后,以root用户登录即可进入系统桌面,开始学习Linux命令和操作。
67 12
零基础保姆级教程!手把手教你免费玩转Linux CentOS安装+学习环境搭建(附避坑指南)
|
2月前
|
Ubuntu Linux 开发者
Ubuntu20.04搭建嵌入式linux网络加载内核、设备树和根文件系统
使用上述U-Boot命令配置并启动嵌入式设备。如果配置正确,设备将通过TFTP加载内核和设备树,并通过NFS挂载根文件系统。
141 15
|
3月前
|
存储 监控 Linux
嵌入式Linux系统编程 — 5.3 times、clock函数获取进程时间
在嵌入式Linux系统编程中,`times`和 `clock`函数是获取进程时间的两个重要工具。`times`函数提供了更详细的进程和子进程时间信息,而 `clock`函数则提供了更简单的处理器时间获取方法。根据具体需求选择合适的函数,可以更有效地进行性能分析和资源管理。通过本文的介绍,希望能帮助您更好地理解和使用这两个函数,提高嵌入式系统编程的效率和效果。
146 13
|
6月前
|
存储 安全 Linux
离线Linux服务器环境搭建
【9月更文挑战第3天】在离线环境下搭建Linux服务器需按以下步骤进行:首先确定服务器用途及需求,准备安装介质与所需软件包;接着安装Linux系统并配置网络;然后设置系统基础参数,如主机名与时区;安装必要软件并配置服务;最后进行安全设置,包括关闭非必要服务、配置防火墙、强化用户认证及定期备份数据。整个过程需确保软件包的完整性和兼容性。
121 3
|
7月前
|
NoSQL Linux C语言
嵌入式GDB调试Linux C程序或交叉编译(开发板)
【8月更文挑战第24天】本文档介绍了如何在嵌入式环境下使用GDB调试Linux C程序及进行交叉编译。调试步骤包括:编译程序时加入`-g`选项以生成调试信息;启动GDB并加载程序;设置断点;运行程序至断点;单步执行代码;查看变量值;继续执行或退出GDB。对于交叉编译,需安装对应架构的交叉编译工具链,配置编译环境,使用工具链编译程序,并将程序传输到开发板进行调试。过程中可能遇到工具链不匹配等问题,需针对性解决。
297 3
|
7月前
|
开发工具 git 计算机视觉
在Ubuntu16.04上配置CLion的OpenCV4.3.0开发环境
在Ubuntu16.04上配置CLion的OpenCV4.3.0开发环境
49 0
|
9天前
|
Linux
Linux 常用文件查看命令
`cat` 命令用于连接文件并打印到标准输出,适用于快速查看和合并文本文件内容。常用示例包括:`cat file1.txt` 查看单个文件,`cat file1.txt file2.txt` 合并多个文件,`cat > filename` 创建新文件,`cat >> filename` 追加内容。`more` 和 `less` 命令用于分页查看文件,`tail` 命令则用于查看文件末尾内容,支持实时追踪日志更新,如 `tail -f file.log`。
30 5
Linux 常用文件查看命令
|
1月前
|
Linux
Linux系统之whereis命令的基本使用
Linux系统之whereis命令的基本使用
80 24
Linux系统之whereis命令的基本使用
|
15天前
|
Linux
Linux od命令
本文详细介绍了Linux中的 `od`命令,包括其基本语法、常用选项和示例。通过这些内容,你可以灵活地使用 `od`命令查看文件内容,提高分析和调试效率。确保理解每一个选项和示例的实现细节,应用到实际工作中时能有效地处理各种文件查看需求。
45 19
|
26天前
|
缓存 Ubuntu Linux
Linux中yum、rpm、apt-get、wget的区别,yum、rpm、apt-get常用命令,CentOS、Ubuntu中安装wget
通过本文,我们详细了解了 `yum`、`rpm`、`apt-get`和 `wget`的区别、常用命令以及在CentOS和Ubuntu中安装 `wget`的方法。`yum`和 `apt-get`是高层次的包管理器,分别用于RPM系和Debian系发行版,能够自动解决依赖问题;而 `rpm`是低层次的包管理工具,适合处理单个包;`wget`则是一个功能强大的下载工具,适用于各种下载任务。在实际使用中,根据系统类型和任务需求选择合适的工具,可以大大提高工作效率和系统管理的便利性。
131 25