第 1 步:安装 tftp

安装 tftp 所需的软件。首先需要安装 tftp-hpa,tftpd-hpa,前者是客户端,后者是服务程序,在终端下输入

sudo apt-get install tftp-hpa tftpd-hpa,

安装 tftp-hpa 和 tftpd-hpa。然后还需要安装 xinetd,

在终端下输入

sudo apt-get install xinetd,

安装好 xinetd。

第 2 步:配置/etc/xinetd.conf

配置相关服务文件。进入根目录下的 etc 文件夹(cd /etc/),首先看目录中有没有一个xinetd.conf 文件,如果没有则新建一个,有的话查看内容,看是否与下面的一致,若不一致则修改,内容如下:

# Simple configuration file for xinetd
#
#Some defaults, and include /etc/xinetd.d/
defaults
{
# Please note that you need a log_type line to be able to use log_on_success
# and log_on_failure. The default is the following :
# log_type = SYSLOG daemon info
}
includedir /etc/xinetd.d

第 3 步:配置/etc/default/tftpd-hpa

配置 tftp 服务器

命令:sudo vim /etc/default/tftpd-hpa

将内容修改成

# /etc/default/tftpd-hpa
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/tftpboot"
#这是你 tftp 服务器的工作目录,自行修改,注意,在新建工作目录时,最好修改其权限为 777,命令 sudo chmod 777 /tftpboot
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="-l -c -s"

第 4 步:配置/etc/xinetd.d/tftp

然后进入 xinetd.d 文件夹(cd xinetd.d),查看是否有一个 tftp 文件,如果没有就新建一个,如果有的话就查看内容是否与下面的一致,不一致则修改,内容如下:

service tftp
{
socket_type = dgram
wait = yes
disable = no
user = root
protocol = udp
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot
#log_on_success += PID HOST DURATION
#log_on_failure += HOST
per_source = 11
cps =100 2
flags =IPv4
}

其中 server_args 一行是配置服务器的文件存放的位置,就是进行 tftp 传输的时候,都是从该文件夹中搜索文件的。

第 5 步:修改权限

修改所需文件夹的权限。需要修改的文件夹也就是上一步提到的那个服务器文件存放的文件夹,以我的配置文件为例,创建一个文件夹(sudo mkdir /tftpboot),然后把它可以设置成访问权限最宽松的(sudo chmod 777 /tftpboot),也可以设置成合适的权限。

第 6 步:重启服务

重新启动服务。sudo service tftpd-hpa restart,这也是我经常疏忽的一步,当配置好 tftp 的配置文件后,需要重新启动一下 xinetd,在终端中输入 sudo /etc/init.d/xinetd reload,重新加载一下进程,再输入 sudo /etc/init.d/xinetd restart,重启服务。记住,每次修改完配置文件后,都需要重新启动一下服务。

总结:

通过以上四步就可以建立好 tftp 服务器了,可以在本地先进行一下测试。还是以我的配置文件为例,首先在/tftpboot 中新建一个文件 file,然后在其中随便输入内容;然后进入一个不是/tftpboot 的目录下(原因是避免混淆,因为在获取文件是,默认是将想要获取的文件存放在当前目录下的);再在终端中输入 sudo tftp localhost,进入 tftp 命令符下(可以在其中输入 help查看命令和命令的作用),输入 get file,如果没有任何提示,就说明传输成功了,然后输入 quit
退出 tftp 命令符,在当前目录下就可以看到一个 file 文件,内容是与开始新建的那个 file 的内容是一致的。同样也可以在 tftp 命令符中输入 put xx,把 xx 文件上传到服务器文件夹中。如果一切 ok,那么一个可用的 tftp 服务器就顺利搭建成功了。

对于上面的测试是针对本地测试的,我们嵌入式开发主要是通过tftp进行下载运行内核,方便开发。设置uboot的命令行参数bootargs,让uboot从tftp上引导内核启动。set bootcmd 'tftp 30008000 zImage; bootm 30008000'。如果是从物理器件上启动的话:set bootcmd 'movi read kernel 30008000; bootm 30008000',而且还要关闭 ubuntu 自带的防火墙(sudo ufw disable可以关掉防火墙),当然,想要与其他局域网内的电脑或开发板互联进行传输,还要将这些机器的 ip 改到同一个段内。好了,通过以上的步骤,就可以通过 tftp 协议,在电脑和开发板之间进行文件传输了,目前的目的就是下载 Linux 内核到开发板。

ubuntu下tftp服务器环境搭建相关推荐

  1. Ubuntu下tftp服务器的搭建

    参考博客:http://blog.chinaunix.net/uid-26495963-id-3206829.html 1. 安装 $ apt-get install tftp-hpa tftpd-h ...

  2. ubuntu 下LAMP服务器环境搭建

    操作系统: ubuntu14.04 64bit 1.安装 Apache2: sudo apt-get install apache2 2.安装PHP模块: sudo apt-get install p ...

  3. Ubuntu下Android开发环境搭建

    Ubuntu下Android开发环境搭建 最近开始学习Android APP开发,首先第一步就是搭建开发环境,在网上找了很多教程,发现大部分的教程都过时了,搞得比较麻烦.其实,现在使用Android ...

  4. Ubuntu 14.04下TFTP server环境搭建及测试

    1. install sudo apt-get install tftpd tftp openbsd-inetd 2. 修改配置 sudo vim /etc/inetd.conf #:BOOT: TF ...

  5. [嵌入式]Ubuntu下mini2440的环境搭建-截图记录-转

    由于windows+linux+开发板的开发环境用到了一个linux的虚拟机来作为交叉编译的平台,但其实windows只是用作串口终端及烧写Flash而已.于是查找了有关linux下的串口终端及dnw ...

  6. [转]Ubuntu下ROS开发环境搭建(QT+ros_qtc_plugin)

    ROS与C++入门教程-搭建开发环境(QT+ros_qtc_plugin) PS : 在"安装ros_qtc_plugin插件"这一步中,原文提到" Ubuntu 14. ...

  7. ubuntu下Samba服务器的搭建

    前言 当我们需要windows和linux更好的进行文件交互时,使用Samba服务是一个不错的选择,本文介绍如何在linux中搭建Samba服务和怎样在windows下访问linux共享文件. 1.安 ...

  8. Ubuntu下的LAMP环境搭建

    LAMP 环境是指 Linux 系统下,由 Apache + Mysql/MariaDB + PHP 及其它相关辅助组件组成的网站服务器架构. 搭建 LAMP 环境如下: Linux:Linux 操作 ...

  9. windows调用ubuntu下的sublimeText2环境搭建

    部署需求: windows: windows 7 32 sp1 32位: linux :ubuntu 12.04 LTS 64位: 环境: windows安装:xmanager 4 linux安装:g ...

  10. Ubuntu 下Android开发环境搭建

    1. JDK安装 首先下载jdk,去oracle官网http://www.oracle.com/technetwork/java/javase/downloads/index.html 下载完成后,将 ...

最新文章

  1. 智慧城市领域又出最新报告——智慧交通将迎来大爆发
  2. CentOS 环境下配置MySQL8.0
  3. Java DO到DTO转换利用spring 的BeanUtils.copyProperties
  4. Redhat linux 5.3 基于bond的heartbeat
  5. 专题_期权交易必备知识
  6. AutoPostBack与AutoComplete介绍
  7. SQL Server与Excel数据互导
  8. CodeForces615A-Bulbs-模拟
  9. Session的常用场景
  10. librosa 语音库(二)STFT 的实现
  11. 计算机不断自动重启,电脑一直自动重启,手把手教你电脑一直自动重启怎么解决...
  12. 自助装机配置专家点评3
  13. Playing Atari with Deep Reinforcement Learning 学习笔记
  14. MATLAB提取不规则txt文件中的数值数据(简单且实用)
  15. 区块链技术培训—从技术小白到年薪百万区块链工程师的进阶之路
  16. 使用Fiddler和雷电模拟器抓取安卓https请求
  17. 计算机读不了硬盘分区,电脑开机后读不到硬盘怎么办
  18. AI是怎么样的演算的呢?预测《权力游戏》中角色的生死
  19. sbrk() 函数是干什么的?
  20. 我们要注意的问题.net

热门文章

  1. 12个Java实践项目:练完变学神
  2. 下载频道用户使用指南!!
  3. java游戏下载网址_手机java游戏下载网站
  4. java君临天下单机游戏_君临天下java单机游戏
  5. fmd单片机c语言教程,ft62f08x_c语言 FMD单片机C语言列子程序 - 下载 - 搜珍网
  6. java自动化测试_Java自动化测试(一)
  7. python绘制动态心电图_可穿戴设备中测心电图这样功能能达到医用标准吗?未来前景如何?在医用和便携之间是否还有市场?...
  8. UnityWebPlayer缓存清理工具
  9. 要点初见:用Python进行微观交通模型仿真——基于SUMO的伯克利开源项目Flow Project初探与拓展
  10. C语言函数的递归调用