NFS就是Network File System的缩写,即网络文件系统,它最大的功能就是可以通过网络(需要连接网线),让不同的机器、不同的操作系统可以共享彼此的文件。
NFS服务器可以让PC将网络中的NFS服务器共享的目录挂载到本地端的文件系统中,而在本地端的系统中来看,那个远程主机的目录就好像是自己的一个磁盘分区一样,在使用上相当便利。
本文档介绍了在virgo开发板与PC之间通过NFS实现文件共享的方法,以提高开发效率。
在我们的应用场景中,通常是virgo开发板作NFS Client,PC作NFS Server,通过把PC端共享的目录挂载到virgo上实现文件共享。
virgo开发板只需要配置内核开启NFS Client服务即可。
File systems --->
Network File Systems --->
<*> NFS client support
<*> NFS client support for NFS version 2
<*> NFS client support for NFS version 3
[*] NFS client support for the NFSv3 ACL protocol extension
以Windows7系统为例,Windows8、Windows10系统的操作可能略有差异。
控制面板 -> 系统和安全 -> Windows 防火墙 -> 打开或关闭Windows防火墙 -> 关闭Windows防火墙。
控制面板 -> 程序 -> 程序和功能 -> 打开或关闭Windows功能 -> NFS服务。
开启NFS服务后,重启Windows系统。
打开haneWIN软件,Edit -> Preferences -> Exports -> Edit exports file。
假设希望共享的目录为:d:\share,则配置:
#
# exports example
#
d:\share -public -name:share
d:\share 表示共享的文件夹路径
-public 表示公共权限
-name:share 表示显示为什么名字
点击Save,返回。勾选
√ Set execute bit for all files
√ Map client root to root for all entries
点击应用->确认,返回。
待补充。
virgo开发板与PC通过网络直接或者间接连接,并保证两者在同一个网段内。可以通过ping命令测试网络的连通性:假设virgo开发板的ip为192.168.3.3,PC端的ip为192.168.3.2。
# ping -c 5 192.168.3.2
PING 192.168.3.2 (192.168.3.2): 56 data bytes
64 bytes from 192.168.3.2: seq=0 ttl=64 time=1.745 ms
64 bytes from 192.168.3.2: seq=1 ttl=64 time=0.784 ms
64 bytes from 192.168.3.2: seq=2 ttl=64 time=0.719 ms
64 bytes from 192.168.3.2: seq=3 ttl=64 time=0.686 ms
64 bytes from 192.168.3.2: seq=4 ttl=64 time=0.639 ms
--- 192.168.3.2 ping statistics ---
5 packets transmitted, 5 packets received, 0% packet loss
round-trip min/avg/max = 0.639/0.914/1.745 ms
目前rootfs分区默认挂载为只读,在开发调试过程中需要对rootfs分区写入,需要先remount /。
# mount -o remount, rw /
[ 397.973350] EXT4-fs (mmcblk1p2): re-mounted. Opts: (null)
通过mount命令进行挂载:假设希望把PC端(ip地址为:192.168.3.2)的share目录挂载到virgo的/mnt/nfs目录。
# mkdir /mnt/nfs
# # mount -t nfs -o nolock 192.168.3.2:/share /mnt/nfs
没有报错说明挂载成功,从此就可以在virgo与PC之间相互拷贝文件了。