资料来自朱有鹏老师的《嵌入式开发环境搭建》

5、配置tftp服务器

第 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,重启服务。记住,每次修改完配置文件后,都需
要重新启动一下服务。
执行次序:
sudo service tftpd-hpa restart
sudo /etc/init.d/xinetd reload
sudo /etc/init.d/xinetd restart

总结:

通过以上四步就可以建立好 tftp 服务器了,可以在本地先进行一下测试。还是以我的配置文件为例,首先在/tftpboot 中新建一个文件 file,然后在其中随便输入内容;然后进入一个不是/tftpboot 的目录下(原因是避免混淆,因为在获取文件是,默认是将想要获取的文件存放在当前目录下的);再在终端中输入 sudo tftp localhost,进入 tftp 命令符下(可以在其中输入 help查看命令和命令的作用),输入 get file,如果没有任何提示,就说明传输成功了,然后输入 q退出 tftp 命令符,在当前目录下就可以看到一个 file 文件,内容是与开始新建的那个 file 的内容是一致的。同样也可以在 tftp 命令符中输入 put xx,把 xx 文件上传到服务器文件夹中。如果一切 ok,那就么一个可用的 tftp 服务器就顺利搭建成功了。
对于上面的测试是针对本地测试的,如果想要对其他电脑或者开发板进行 tftp 传输,则在终端输入 sudo tftp xxx(即目标电脑或目标开发板的 ip 地址),而且还要关闭 ubuntu 自带的防火墙(书上说的),我是直接把防火墙给卸载了(sudo apt-get remove iptables,或 sudo ufw disable可以关掉防火墙),因为我觉得对于 Linux 来说,防火墙可能没什么需要把,至少目前为止我还没有受到过攻击。。。当然,想要与其他局域网内的电脑或开发板互联进行传输,还要将这些机器的 ip 改到同一个段内。好了,通过以上的步骤,就可以通过 tftp 协议,在电脑和开发板之间进行文件传输了,目前的目的就是下载 Linux 内核和文件系统到开发板。如果有朋友发现了我的不足,都可以给我提出来,我们也可以进行讨论。不过还要强调一点,我的这些配置都是针对于 ubuntu 的,对于其他的系统可能会有所出入的。

6、配置 nfs 服务器

安装 NFS

$ sudo apt-get install nfs-kernel-server
$ sudo apt-get install nfs-common

配置/etc/exports

$ sudo vi /etc/exports
文本末添加
/root/rootfs *(rw,sync,no_root_squash,no_subtree_check)
然后在终端执行 $chmod 777 -R /root/rootfs
$ sudo showmount -e
显示 clnt-create : RPC : Program not registered
$ sudo exportfs -r 更新

启用

$ sudo /etc/init.d/nfs-kernel-server restart 重启 nfs 服务
显示如下

  • Stopping NFS kernel daemon [ OK ]
  • Unexporting directories for NFS kernel daemon… [ OK ]
  • Exporting directories for NFS kernel daemon… [ OK ]
  • Starting NFS kernel daemon [ OK ]

$ sudo showmount localhost -e
显示
Export list for 192.168.1.116
/root/rootfs *

挂载测试

$ mount -t nfs -o nolock localhost:/root/rootfs /mnt
执行后,进入/mnt 目录中,如果可以看到/root/rootfs 中的内容,则说明 nfs 搭建成功!

嵌入式Linux开发环境搭建(二)相关推荐

  1. 嵌入式linux编译环境搭建,嵌入式Linux开发环境搭建

    整理下嵌入式Linux开发环境搭建过程笔记. 一.制作u-boot.bin文件: tar xjf u-boot-1.1.6.tar.bz2 cd u-boot-1.1.6 patch -p1 < ...

  2. 嵌入式linux开发环境搭建——VirtualBox虚拟机网络环境解析

    嵌入式linux开发环境搭建--VirtualBox虚拟机网络环境解析 本博文转自:Pandoras Box http://blog.csdn.net/yxc135/article/details/8 ...

  3. 嵌入式linux开发环境搭建(VMware16.0.0+Ubuntu16.04.3_X64)

    目录 一.安装VMware 1.VMware介绍 2.安装VMware16.0.0 二.安装ubuntu16.04.3 LTS 1.Ubuntu介绍 2.下载安装包iso 3.安装 四.新安装Ubun ...

  4. 嵌入式Linux开发环境搭建-4-嵌入式编程基础知识

    嵌入式Linux开发环境搭建-4-嵌入式编程基础知识 1.安装代码编辑器 2.交叉编译工作使用 1.安装代码编辑器 参考文档 ubuntu几款好用的代码编辑器_百度经验 安装sublime text ...

  5. 嵌入式Linux开发环境搭建-曹国辉-专题视频课程

    嵌入式Linux开发环境搭建-1199人已学习 课程介绍         系统讲解嵌入式Linux开发环境搭建方法,包括虚拟机安装,ubuntu安装,交叉编译器安装及配置,嵌入式QT开发环境的构建,u ...

  6. 嵌入式Linux开发环境搭建-(4)安装交叉编译工具链

    在ubuntu16.04.2中,安装交叉编译工具链 在ubuntu中进行嵌入式应用程序开发,安装交叉编译工具链是不可缺少的一个环节. PC操作系统:ubuntu16.04.2 LTS 开发板:天嵌科技 ...

  7. 嵌入式设备开发专题《tiny4412开发,嵌入式linux开发环境搭建》

    嵌入式linux开发基础: 1.系统组成: 嵌入式linux系统的组成包括三部分:bootloader程序.linux内核.根文件系统 bootloader程序:系统上电后首先要执行的程序,主要功能是 ...

  8. 嵌入式linux配置qt,基于qt的嵌入式Linux开发环境搭建

    摘要:本文主要介绍在PC机上搭建基于QT的嵌入式开发环境,其中很多源文件都是开发板自带,需要相应资料的可以评论留下邮箱地址. 版本:交叉编译工具链:GCC 4.7.3  [gcc-linaro-arm ...

  9. rk3288实践:嵌入式Linux开发环境搭建

    目录 一.硬件连接: 二.tftp服务器安装 简介: 目的: 安装: 使用: 三.NFS服务安装 安装: 目的: 使用方法: 四.启动时出现问题: 一.硬件连接: 三个设备ip都设置在一个网段192. ...

最新文章

  1. 维护学习的一点体会与看法
  2. javascript,jquery 操作 dropdownlist ,select
  3. ubuntu 14 安装XML::Simple 模块
  4. android定位会出现的问题,Android 定位当前位置可能出现的问题
  5. 一文教你学会需求分析与管理
  6. Linux 的帐号与群组:有效与初始群组、groups, newgrp
  7. 修改myeclipse字体与操作系统的字体一致
  8. 一些UED网址的收藏
  9. easyui菜单 java_EasyUI:主界面以及菜单功能
  10. Raki的读paper小记:Sources of Transfer in Multilingual Named Entity Recognition
  11. 连接SQLserver数据库发生错误,提示用户sa登录失败解决方法(亲试有用)
  12. 那些创造外汇神话的交易员们
  13. 全网首发国内联邦学习框架研究
  14. 7-17 小红帽与大灰狼的故事
  15. vault安装及springboot,springcloud整合vault
  16. python读不出图片文件
  17. 解密QQ号(stl库)
  18. 【AE模板】扁平化MG动画卡通人物解说角色场景元素包
  19. android中怎么实现点击按钮进行页面的跳转
  20. Python基础-08

热门文章

  1. 2004数学二真题总结
  2. mbedtls学习2.mbedtls从0使用指南
  3. 余世维成功经理人讲座
  4. linux 没有可用软件包,Linux中“没有可用的软件包XX,但是它被其他软件包引用”的解决方法...
  5. 瞧,他的代码,他的内裤
  6. Markdown / KaTex数学公式汇总
  7. hook C++类的虚表,替换成其他函数
  8. Lesson 1. 线性回归模型的一般实现形式
  9. 常用工具类 Math:数学计算 Random:生成伪随机数 SecureRandom:生成安全的随机数 2020-2-13
  10. 解决ubantu里面报错findfont: Font family ['sans-serif'] not found. Falling back to Bitstream Vera Sans