一、NFS 介绍
NFS 即网络文件系统(Network File-System),可以通过网络让不同机器、不同系统之间可以实现文件共享。通过 NFS,可以访问远程共享目录,就像访问本地磁盘一样。NFS 只是一种文件系统,本身并没有传输功能,是基于 RPC(远程过程调用)协议实现的,采用 C/S 架构。
二、安装 NFS 软件包
sudo apt-get install nfs-kernel-server # 安装 NFS服务器端
三、添加 NFS 共享目录
sudo gedit /etc/exports
添加如下内容
/home *(rw,sync,no_subtree_check,no_root_squash) # * 表示允许任何网段 IP 的系统访问该 NFS 目录
新建“/share”目录,并为该目录设置最宽松的权限:
mkdir share
chmod -R 777 share
四、重启 NFS 服务
sudo /etc/init.d/nfs-kernel-server restart
五、开发板挂载 Ubuntu NFS目录
① 首先确定 Ubuntu 可以上网,然后将开发板联网,使其与 Ubuntu 在同一网段下(方式有很多种这里给出参考:1.将开发板接在电脑所连的路由器或交换机上 2.将开发板连接电脑的网口,使用虚拟网卡,桥接)
② 确定开发板与Ubuntu之间可以 ping 通:
ping 192.168.56.100
③ 开发板端输入
mount -t nfs -o nolock 192.168.56.101:/home/hhl/hhl/share/ /tmp
如果报了此错误,原因如下
nfs 默认就只支持协议3和协议4,但是 uboot 默认启动的是协议2,需要配置文件为支持协议2
解决办法:
需要在/etc/default/nfs-kernel-server末尾加一句:
sudo gedit /etc/default/nfs-kernel-server
RPCNFSDOPTS="--nfs-version 2,3,4 --debug --syslog"
然后重启一下 nfs 即可解决该问题
service nfs-kernel-server restart