MPSOC之9——host、embeded间tftp、nfs、ftp环境搭建
tftp
- 可传输单个文件,不能传文件夹
- 需要通过命令传输文件,略显复杂
- 一般调试kernel时,用uboot通过tftp方式启动,不用每次都烧写存储介质
nfs
- 在host linux(ubuntu)上的nfs文件夹中存放文件
- 开发板上mount ubuntu的文件夹,mount后就像自己的文件一样
- 这种方式共享文件很方便
- 也有linux启动后,拿nfs作为根文件系统,方便调试根文件系统的内容
ftp
- 没有host linux环境时,可以把windows当成ftp client,开发板ftp server
- 方便拖动文件
tftp
0.客户端命令
tftp -r fileserver -g 192.168.1.200
tftp -l fileclient -p 192.168.1.200
缺点:不能传文件夹,没有NFS方便
1.目的
通过tftp、nfs、ftp等方式,实现开发板linux与host高效交换文件。
2.环境说明
- PC:
- windows 7 IP:192.168.1.100
- vmware ubuntu 16.04 IP:192.168.1.200
- 桥接
- 开发板:
- IP:192.168.1.1
windows/ubuntu/开发板三者能ping通。
3.tftp
3.1原理
ubuntu作为服务器,开发板作为客户端,共享数据。
windows也可以作为客户端,不过现在VMware共享数据很方便,没有这个必要了。
3.2 ubuntu tftp server配置
3.2.1 tftp/tfpd和tftp-hpa/tftpd-hpa
- d表示server,是demon的缩写
- hpa是后来的改进版,网上搜索大部分人都用hpa版本。
3.2.2 tftp-hpa/tftpd-hpa安装及配置
安装
sudo apt-get install tftpd-hpa
sudo apt-get install tftp-hpa
配置
sudo vim /etc/default/tftpd-hpa
sudo service tftpd-hpa restart
ps -A | grep "tftp*"
显示:37921 ? 00:00:00 in.tftpd
修改后的/etc/default/tftpd-hpa文件,修改了目录和TFTP_OPTIONS,注意该目录的权限
# /etc/default/tftpd-hpa
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/home/liuwanpeng/work/tftpboot"
TFTP_ADDRESS=":69"
TFTP_OPTIONS="-l -c -s"
关于TFTP_OPTIONS的几个有用配置:
man tftpd
-l, --listen
Run the server in standalone (listen) mode, rather than run from
inetd. In listen mode, the --timeout option is ignored, and the
--address option can be used to specify a specific local address
or port to listen to.
--create, -c
Allow new files to be created. By default, tftpd will only
allow upload of files that already exist. Files are created
with default permissions allowing anyone to read or write them,
unless the --permissive or --umask options are specified.
--secure, -s
Change root directory on startup. This means the remote host
does not need to pass along the directory as part of the trans‐
fer, and may add security. When --secure is specified, exactly
one directory should be specified on the command line. The use
of this option is recommended for security as well as compati‐
bility with some boot ROMs which cannot be easily made to
include a directory name in its request.
3.3 开发板tftp client配置及操作
3.3.1 基本操作
开发板busy box默认安装的是tftpd客户端,不再专门安装-hpa。
开发板输入tftp,查看帮助
root@xilinx-zcu102-2017_2:~# tftp
BusyBox v1.24.1 (2017-06-19 21:24:47 MDT) multi-call binary.
Usage: tftp [OPTIONS] HOST [PORT]
Transfer a file from/to tftp server
-l FILE Local FILE
-r FILE Remote FILE
-g Get file
-p Put file
从主机的tftpboot目录下读取Makefile文件,保存到本地,名字不变。没有-l参数,同名保存。
存到哪了?默认保存到当前目录
tftp -l Makefile -r Makefile -g 192.168.1.200
tftp -r Makefile -g 192.168.1.200
tftp -l Makefile -p 192.168.1.200
3.3.2 错误处理
tftp: server error: (1) File not found:
服务器端没有开启上传权限
root@xilinx-zcu102-2017_2:~/test# tftp -l Makefile -p 192.168.1.200
tftp: server error: (1) File not found
nfs
0.客户端命令
mount -n -o nolock 192.168.1.200:/home/liuwanpeng/work/share/ /mnt/
1.目的
通过tftp、nfs、ftp等方式,实现开发板linux与host高效交换文件。
2.环境说明
- PC:
- windows 7 IP:192.168.1.100
- vmware ubuntu 16.04 IP:192.168.1.200
- 桥接
- 开发板:
- IP:192.168.1.1
windows/ubuntu/开发板三者能ping通。
3.nfs
3.1原理
- 在ubuntu上搭建NFS服务器,将ubuntu上的某个目录作为NFS的输出,等待开发板挂载。
- 挂载后在开发板上就可以像操作本机的文件一样操作NFS服务器上的文件了.
- linux系统启动以后这种方式很方便。
3.2 ubuntu nfs server配置
3.2.1 安装
sudo apt-get install nfs-kernel-server
3.2.2 配置
安装后会生成配置文件
sudo gedit /etc/exports
增加一行配置,文件如下:
sudo cat /etc/exports
# /etc/exports: the access control list for filesystems which may be exported
# to NFS clients. See exports(5).
#
# Example for NFSv2 and NFSv3:
# /srv/homes hostname1(rw,sync,no_subtree_check) hostname2(ro,sync,no_subtree_check)
#
# Example for NFSv4:
# /srv/nfs4 gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check)
# /srv/nfs4/homes gss/krb5i(rw,sync,no_subtree_check)
#
/home/liuwanpeng/work/share 192.168.1.*(rw,sync,no_root_squash)
重启nfs服务
sudo /etc/init.d/nfs-kernel-server restart
3.3 开发板nfs client配置及操作
开发板只需mount就可以了
mount -n -o nolock 192.168.1.200:/home/liuwanpeng/work/share/ /mnt/
参数说明:
-n, --no-mtab don't write to /etc/mtab
ftp 暂不添加
MPSOC之9——host、embeded间tftp、nfs、ftp环境搭建的更多相关文章
- nfs:环境搭建
准备环境 通过VirtualBox创建两台虚拟机client1和client2,这两台虚拟机和物理主机组成一个网络.将物理主机作为NFS的服务端,虚拟机client1和client2作为NFS的客户端 ...
- Linux nfs+autofs 环境搭建
两台服务器环境为centos 6.6 1.安装配置nfs 安装portmap 和 nfs [root@node0 ~]# yum install portmap [root@node0 ~]# yu ...
- 【Linux】TFTP & NFS 服务器配置
Why?--交叉开发 一.交叉开发模型 宿主机(PC)------ 网络.串口.USB.JTAG ------ 目标机(ARM系统) PC机作为TFTP & NFS 服务器,目标机从网络下载软 ...
- 嵌入式环境搭建之NFS
嵌入式环境搭建之NFS Author:tiger-johnTime:2013-08-04mail:jibo.tiger@gmail.comBlog:http://blog.csdn.net/tiger ...
- qt5集成libcurl实现tftp和ftp的方法一:搭建环境(五篇文章)
最近使用QT5做一个软件,要求实现tftp和ftp文件传输,使用QT5开发好UI界面等功能,突然发现QT5不直接提供tftp和ftp支持,无奈之下只好找第三方库来间接实现,根据网友的介绍,libcur ...
- NFS配置与搭建
参考: Linux下NFS服务器的搭建与配置 https://www.cnblogs.com/liuyisai/p/5992511.html http://blog.51cto.com/hongten ...
- atitit.网络文件访问协议.unc smb nfs ftp http的区别
atitit.网络文件访问协议.unc smb nfs ftp http的区别 1. 网络文件访问协议1 2. NETBios协议 2 3. SMB(Server Message Block)2 3 ...
- ubuntu 16.04 nfs服务的搭建
nfs服务是实现Linux和Linux之间的文件共享,nfs服务的搭建比较简单. 现在介绍如何在ubuntu16.04系统中搭建nfs服务,ubuntu的搭建比红帽的还要简单. 1.安装nfs服务 s ...
- Red Hat 6.5 nfs服务的搭建
nfs服务是实现Linux和Linux之间的文件共享,nfs服务的搭建比较简单. 现在介绍如何在红帽6.5系统中搭建nfs服务. 1.关闭selinux服务 如果已经关闭该服务的可以直接跳过该步骤. ...
随机推荐
- 插件lombok的介绍安装
Lombok插件 介绍一个不错的Eclipse插件Lombok 该插件对Log4j简化的代码,因为不大,所以jar包也存在呢! Lombox是Eclipse的一个插件,用来自动生成Java代码,减少手 ...
- 表字符集latin1,client如何查看中文字符
表结构如下: . row *************************** Table: my_data_7e Create Table: CREATE TABLE `my_data_7e` ( ...
- 判断pdf、word文档、图片等文件类型(格式)、大小的简便方法
判断pdf.word文档.图片等文件类型(格式).大小的简便方法 很久没发文了,今天有时间就写一下吧. 关于上传文件,通常我们都需要对其进行判断,限制上传的类型,如果是上传图片,我们甚至会把图片转化成 ...
- 深入理解立即执行函数(function(){})();
( function(){-} )()和( function (){-} () )是两种javascript立即执行函数的常见写法,要理解立即执行函数,需要先理解一些函数的基本概念. 1,函数声明,函 ...
- EDI数据导入的注意事项&常见异常处理
EXCEL表格注意事项: • 编码是0开头的,格式必须是文本,否则前面请加字母: • 注意全角半角,中文标点英文标点: • 编号文字类开头和结尾不要有空格,姓名中间也不要 ...
- 校验ISBN的方法
国际标准书号(International Standard Book Number,ISBN:是国际通用的图书或独立的出版物(除定期出版的期刊)代码.出版社可以通过国际标准书号清晰的辨认所有非期刊书 ...
- c# winform treelistview的使用(treegridview)
TreeView控件显示的内容比较单一,如果需要呈现更详细信息TreeListView是一个不错的选择. 先看效果: 首先需要引用文件System.Windows.Forms.TreeListView ...
- memcached复制-repcached
1.前言 由于memcached把数据都放到内存里,因此性能是极高的,正因为如此,不可避免会造成数据丢失,repcached就派上用场了,它可以实现memcached的主从复制 2.安装repcach ...
- 爱立信开始大规模mesh网络测试
mesh网络可谓是物联网之关键,相较于传统有线技术,无线连接的mesh网络实施成本较低,而且更具有适应性和可扩展性,让高通信量的应用更加可靠. 虽然Thread和ZigBee等细分技术也能提供标准化的 ...
- Java数据结构和算法(五)——队列
前面一篇博客我们讲解了并不像数组一样完全作为存储数据功能,而是作为构思算法的辅助工具的数据结构——栈,本篇博客我们介绍另外一个这样的工具——队列.栈是后进先出,而队列刚好相反,是先进先出. 1.队列的 ...