1、硬件环境
(1)虚拟机为virtual box,ubuntu 18.04
(2)开发板为itop4412板子
(3)一个路由器
网段为192.168.1.x。
ubuntu为宿主机,itop4412为目标机,虚拟机通过桥接方式使用无线网卡连接到路由器,itop4412直接使用网线连接至路由器LAN口。
2、宿主机环境搭建
(1)安装nfs服务
sudo apt install nfs-kernel-server
(2)配置共享目录
在 /etc/exports 文件的最后一行添加:
/home/skyfall/nfs *(rw,sync,no_root_squash)
(3) 在家目录下新建nfs文件夹,设置其权限为775。
sudo mkdir ~/nfs
sudo chmod 775 ~/nfs
(4)重启rpcbind 服务
执行 /etc/init.d/rpcbind restart
(5)重启nfs 服务
执行 /etc/init.d/nfs-kernel-server restart
(6)ubuntu18.04 nfs 服务器端的配置完成
3、测试NFS 服务器
在本地挂载测试:
sudo mount -t nfs localhost:/home/skyfall/nfs /opt
卸载nfs挂载的目录
sudo umount /opt
4、itop4412开发板配置
(1)实现nfs 文件系统需要修改linux 最小文件系统的“/etc/init.d/ifconfig-eth0”文件。
修改第八行为:if grep -q nfs /proc/mounts ; then
(2)配置内核
选中“Networking options ”然后进入该目录。选中“ IP: kernel level autoconfiguration ”选项。
选中“ Network File Systems”目录,并进入该目录。选中“NFS client support ”、
“NFS client support for NFS version 3 ”、“ NFS client support for the NFSv3 ACL
protocol extension ”、“NFS client support for NFS version 4 ”、“NFS client
support for NFSv4.1 (EXPERIMENTAL) ”和“Root file system on NFS ”选项,一共6
个选项。
(3)保存后,使用sudo make zImge命令重新编译内核。
(4)内核编译好之后,把 arch/arm/boot 目录下的zImage 镜像烧写到开发板。
5、测试
(1)将开发板的ip设置在1网段,我的是192.168.1.230。
(2)将ubuntu的ip设置在1网段,我的胃192.168.1.101。
(3)两个网络的ip要与环境的路由器的ip处在同一个网段。
(4)三个设备可以相互ping,必须是可以任意ping通的。
(5)使用命令挂载
在开发板中输入如下命令:
mount -t nfs -o nolock 192.168.1.101:/home/skyfall/nfs /mnt
(6) 在开发板新建的文件,在ubuntu上可以使用,在ubuntu上新建的文件在开发板上可以看到,至此整个NFS换件搭建成功。