虚拟机,开发板,传文件,nfs,tftp

虚拟机,开发板,传文件,nfs,tftp

一、配置tftpd-hpa
Ubuntu安装tftpd-hpa教程
如果上面安装及本地测试没什么问题,就可以用在开发板传输文件了。
在开发板终端输入:
tftp -r hello -g 192.168.96.114(从远程主机114获取一个hello的文件到开发板当前所在目录)
关于tftp在串口的使用
Transfer a file from/to tftp server
-l FILE Local FILE
-r FILE Remote FILE
-g Get file
-p Put file
-b SIZE Transfer blocks of SIZE octets
首先需要在ubuntu上安装好tftp,确定已经安装tftpd-hpa ,tftp-hpa,xineted。
在window下安装Tftpd32
以开发板为主体
下载单个文件到开发板:tftp -g -r filename IP //IP为window IP
上传单个文件到pc端:tftp -p -l filename IP //IP为window IP
——————————
*搭建TFTP服务器
1、前提是在服务器端(一般为虚拟机)已经搭建好tftp服务器,并且测试成功,可以使用本地方式先进行测试,具体参考相关的播客。
2、目标机(开发板)已经开启tftpd客户端服务。
*目标机下载宿主机下的文件至本地。
命令: tftp -g -l dst_file -r src_file hostip
tftp -g -l test_arm -r test_arm 192.168.0.250
*将下载的文件更改权限,非必须。
chmod +x test_arm
*本地文件上传至服务器
tftp -p -r dst_file -l src_file hostip
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
二、nfs挂载
mount命令的格式如下:
mount [-t vfstype] [-o options] device dir
mount命令参数非常多,如下为与NFS相关的参数。
(1)-a:把/etc/fstab中列出的路径全部挂载。
(2)-t:需要mount的类型,如nfs等。
(3)-r:将mount的路径定为read only。
(4)-v mount:过程的每一个操作都有message传回到屏幕上。
(5)rsize=n:在NFS服务器读取文件时NFS使用的字节数,默认值是1 024个字节。
(6)wsize=n:向NFS服务器写文件时NFS使用的字节数,默认值是1 024个字节。
(7)timeo=n:从超时后到第1次重新传送占用的1/7秒的数目,默认值是7/7秒。
(8)retry=n:在放弃后台mount操作之前可以尝试的次数,默认值是7 000次。
(9)soft:使用软挂载的方式挂载系统,若Client的请求得不到回应,则重新请求并传回错误信息。
(10)hard:使用硬挂载的方式挂载系统,该值是默认值,重复请求直到NFS服务器回应。
(11)intr:允许NFS中断文件操作和向调用它的程序返回值,默认不允许文件操作被中断。
(12)fg:一直在提示符下执行重复挂载。
(13)bg:如果第1次挂载文件系统失败,继续在后台尝试执行挂载,默认值是失败后不在后台处理。
(14)tcp:对文件系统的挂载使用TCP,而不是默认的UDP。
说明:mount NFS服务器的另一个重要参数是hard(硬)mount或soft(软)mount。
采用hard mount,NFS客户机会不断地尝试与NFS服务器连接(在后台一般不会给出任何提示信息),直到挂载上为止。
采用soft mount,会在前台尝试与NFS服务器连接,当收到错误信息后终止mount尝试,并给出相关信息。
开发板输入命令:mount -t nfs -o nolock 192.168.1.100:/work/share /work/share
————————————————————————
虚拟机(linux18.04)与板子共享文件夹:最关键的一步是要相互ping的通
启动 NFS 客户端,sudo apt-get install nfs-common
1将虚拟机修改为桥接模式
2相互ping
3建立虚拟机的共享文件
1)首先要在 Linux 主机上安装 nfs 服务:sudo apt-get install nfs-kernel-server
2)在home目录下: mkdir /vmc // 创建一个用于共享的文件夹
3)chmod 777 vmc // 设置该文件夹的权限使其让所有用户可读可写可运行
4)修改配置文件
sudo vim /etc/exports
/home/vmc *(rw,sync,no_root_squash,no_subtree_check) (格式很重要)
5)重启nfs服务:service nfs-kernel-server restart
如果出现Restarting nfs-kernel-server (via systemctl): nfs-kernel-server.serviceJob for nfs-server.service canceled
可能是文件修改有问题,按照上文在home下新建nsf文件夹
重启nfs服务:service nfs restart
4 挂载虚拟机目录到板子上
mount -t nfs -o nolock 192.168.17.221:/home/vmc /mnt(我虚拟机的ip是192.168.17.221)
如果出现:mount: mounting 192.168.17.221:/home/share on /mnt failed: Device or resource busy
解决方法:
mount 上之后在进行mount 命令会出现此提示,设备正在运行,不用再次mount。如果想再次mount 可以先umount /mnt/hosts。

mount.nfs: requested NFS version or transport protocol is not supported不支持请求的 nfs 版本或传输协议
此错误发生的一种解决办法:
更新文件 /etc/exports和/etc/hosts.allow,加入对应网段:
/etc/exports:
/rootfs (rw,no_root_squash,sync,insecure)
/etc/hosts.allow:
portmap mountd nfsd statd lockd rquotad : 192.168.1.
, 192.168.2.*
其他的一些设置:
mount -t nfs -o nfsvers=3
mount -t nfs -o nfsvers=2

5取消挂载
umount /nfsroot/

三、网站
https://blog.csdn.net/lyd518/article/details/19194181
linux的mount(挂载)NFS 共享,命令详解
http://www.360doc.com/content/15/0305/13/14530056_452725944.shtml
mount命令+nfs挂载各个参数解释以及常见失败原因
https://www.linuxidc.com/Linux/2011-06/36727.htm
虚拟机中Ubuntu与ARM开发之间FTP文件传输
https://blog.csdn.net/aixiaoyang168/article/details/83782336
Linux 环境下 NFS 服务安装及配置使用
https://blog.csdn.net/zhengqijun_/article/details/72228910
ubuntu下NFS挂载常见错误的解决方法[转载]
https://www.cnblogs.com/weiwang/p/5630831.html
linux挂载查看、添加与取消
https://www.cnblogs.com/best-jobs/p/3853999.html
mount nfs的可选参数
http://blog.itpub.net/350519/viewspace-1049859/
mount nfs 参数
https://www.tintsoft.com/articles/220.html
Linux 挂载NFS文件系统

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值