Ubuntu搭建NFS,在Smart210挂载

Ubuntu搭建NFS,在Smart210挂载,第1张

在实验室里找到了一个主控是s5pv210的智能车,主板是友善之臂的早期产品smart210

里面介绍了一种通过nfs挂载,来传输文件的方式

通常传送文件一般是通过 ftp 传送文件,或者串口传送文件

不过所谓NFS(Network File System)是网络文件系统,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。

他可以节省本地存储空间,将常用的数据存放在一台NFS服务器上且可以通过网络访问,那么本地终端将可以减少自身存储空间的使用。

下面我来介绍一下我的挂载过程。

打开虚拟机

如果有必要可以先获取root权限

Ubuntu搭建NFS,在Smart210挂载,第2张

首先Ubuntu是没有NFS的相关程序的,需要进行NFS安装

sudo apt-get install nfs-kernel-server

并建立一个nfs服务的专有的文件夹

mkdir -p /opt/FriendlyARM/mini210/linux/rootfs_mini210 设置读写权限

# chmod 777 /opt/FriendlyARM/mini210/linux/rootfs_mini210

建立好文件夹后,接着执行命令:

sudo vi /etc/exports
来配置nfs
在最后一行添加:

/opt/FriendlyARM/mini210/linux/rootfs_mini210 *(sync,rw,no_root_squash)

Ubuntu搭建NFS,在Smart210挂载,第3张


这一行的含义是:

/opt/FriendlyARM/mini210/linux/rootfs_mini210:与nfs服务客户端共享的目录,这个路径必须和你前面设置的文件的路径一致!

*:允许所有的网段访问,也可以使用具体的IP
rw:挂接此目录的客户端对该共享目录具有读写权限
sync:资料同步写入内存和硬盘
no_root_squash:root用户具有对根目录的完全管理访问权限

如果还希望共享其他目录可以在后面添加
例如
 

Ubuntu搭建NFS,在Smart210挂载,第4张



这里多了个insecure,这个我们等一下再说

修改完上述配置文件保存退出。
我用的是zz的vi,按esc进入命令行模式,

:wq
保存退出

重启rpcbind服务。

# /etc/init.d/rpcbind restart

重启nfs服务。

# /etc/init.d/nfs-kernel-server restart
如果以后你增加了新的地址,rpcbind和nfs需要再次重启

可以通过本机挂载nfs来测试一下

# mkdir /mnt/nfs# mount 192.168.2.3:/opt/FriendlyARM/mini210/linux/rootfs_mini210 /mnt/nfs# ls /mnt/nfs
请注意opt/FriendlyARM/mini210/linux/rootfs_mini210和/mnt/nfs之间有一个空格

Ubuntu搭建NFS,在Smart210挂载,第5张



可以通过umount解除挂载

Ubuntu搭建NFS,在Smart210挂载,第6张


可以看到nfs中已经没有之前的文件了

如果显示 device busy
可输入

umount -l /mnt/nfs
选项 –l 并不是马上umount,而是在该目录空闲后再umount。




这样nfs挂载就搭建好了,但是这样个情况下并不能用smart210正常挂载
因为你可能并没有将电脑 开发板 虚拟机三者ping通

首先相互ping一定是在统一网段内
Ping之前请关闭电脑防火墙和杀毒软件

我的笔记本只有一个网口,所以将他与开发板通过网线连接

我们先看一下目前的ip地址,一般你的也是192.168.1.x

Ubuntu搭建NFS,在Smart210挂载,第7张


这个是通过wifi获得的,如果你和我一样用的是笔记本,


你不能使用这个网段,建议你换一个像 192.168.2.x ,
这是因为电脑的两个网卡都要工作,必须互不干扰。

我们假设使用 192.168.2.x 这个网段,

网关:192.168.2.1
电脑IP : 192.168.2.2
虚拟机:192.168.2.3
开发板:192.168.2.4

下面分配IP,分配ip要根据实际情况来,如果你的路由器还有其他人在使用的话可以选取靠后一点的ip,防止ip冲突。

先设置电脑的静态IP
控制面板网络和 Internet网络连接
 

Ubuntu搭建NFS,在Smart210挂载,第8张


 

Ubuntu搭建NFS,在Smart210挂载,第9张



 

Ubuntu搭建NFS,在Smart210挂载,第10张



 

Ubuntu搭建NFS,在Smart210挂载,第11张


 

设置ip地址为192.168.2.2

别忘了要关闭你的防火墙哦

Ubuntu搭建NFS,在Smart210挂载,第12张


 

设置开发板的IP地址
Smart在烧录好系统后有现成的软件,可以直接更改
 

Ubuntu搭建NFS,在Smart210挂载,第13张



 

设置虚拟机ip
 

Ubuntu搭建NFS,在Smart210挂载,第14张



更改设置
 

Ubuntu搭建NFS,在Smart210挂载,第15张



还原为默认设置后,再进行相关设置
 

Ubuntu搭建NFS,在Smart210挂载,第16张




虚拟机设置中将网络设置为vmnet0

Ubuntu搭建NFS,在Smart210挂载,第17张




进入虚拟机

Ubuntu搭建NFS,在Smart210挂载,第18张



 

Ubuntu搭建NFS,在Smart210挂载,第19张



设置虚拟机IP、子网掩码、网关,最后点击Apply应用
 

Ubuntu搭建NFS,在Smart210挂载,第20张



设置完成后通过ifconfig查看当前的ip地址
 

Ubuntu搭建NFS,在Smart210挂载,第21张


别忘了通过

ufw disable

关闭防火墙


在smart210上也有现成的ping测试软件
可以试一下是否能ping通


如果能ping通就可以尝试挂载了
连接通过网线和串口线连接开发板

 

Ubuntu搭建NFS,在Smart210挂载,第22张



虚拟机已经重启过nfs后

在开发板命令界面中输入
 

#mount -t nfs -o intr,nolock,rsize=1024,wsize=1024 192.168.2.2:/tftpboot /mnt为什么如此复杂。。。因为NFS 的默认传输协议是 UDP,而PC机与嵌入式系统通过UPD交互时就会出现严重的网卡丢包现象。
则终端会出现:nfs:server is not responding,sTIll trying提示信息

解决方案是:在客户端改用TCP协议,使用下面的命令,
mount -t nfs -o intr,nolock,rsize=1024,wsize=1024 192.168.0.121:/主机nfs目录 /挂载路径 



如果出现类于
mount.nfs: access denied by server while mounTIng 192.168.3.12:/home/lzgonline/rootfs

首先考虑权限设置有问题,需要将权限设为777
如果文件夹权限都设为777了,那权限上没问题
那是因为
如果端口号大于1024,则需要将 insecure 选项加入到配置文件(/etc/exports)相关选项中mount客户端才能正常工作

为什么不能大于1024呢?
secure 选项要求mount客户端请求源端口小于1024(然而在使用 NAT 网络地址转换时端口一般总是大于1024的),默认情况下是开启这个选项的,如果要禁止这个选项,则使用 insecure 标识
 

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/2715275.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-17
下一篇 2022-08-17

发表评论

登录后才能评论

评论列表(0条)

保存