本章内容基于官方手册《OrangePi_3_LTS_H6_用户手册_v2.4》与自己实际操作撰写。
本章主要叙述NFS环境搭建。
NFS环境搭建,即在开发板和开发主机之间共享目录。我们要构 建的使用NFS文件系统的实验环境架构如下图所示。
在这样的环境中,开发板与开发主机接入到同一个局域网中,然后开发主机 提供NFS服务,开发板通过NFS与开发主机连接共享文件。开发主机生成的目标板应 用程序放在NFS的共享文件夹内,开发板访问该文件夹执行应用程序进行测试。
在另一方面,开发主机与开发板通过串口连接,使用串口终端控制开发板。
我们的目标是使开发主机与开发板的以下目录映射起来:
开发主机共享目录:/home/embedfire/workdir
开发板的挂载目录:/mnt
一、NFS环境搭建
1.连接到局域网络
如果开发主机是安装在虚拟机上,注意要在VirtualBox把虚拟机的网络配置 改成“桥接网卡”模式,见 下图,若修改了该配置,需要重启虚拟机才生效。
2.互ping测试
连接好网络后在开发主机和开发板之间进行互ping测试,以保证网络互通。ping命令格式为:
ping [目标主机名或目标ip地址]
使用ifconfig命令来查看它们的ip地址和子网掩码。
注意:若在开发主机上使用ifconfig提示找不到命令,请使用如下命令进行安装:
sudo apt install net-tools
若使用ifconfig命令查看不到IP地址,或IP地址与开发主机的IP不在同一个网段,请检查网络连接。
- 在开发主机开启NFS服务
1)安装NFS服务
Ubuntu系统默认没有安装NFS服务,需要使用如下命令安装NFS服务端软件:
sudo apt install nfs-kernel-server
2)创建共享目录
mkdir /home/embedfire/workdir
3)查看NFS共享情况
使用showmount –e 可查看当前NFS服务器的加载情况,具体见下图。
showmount -e
4)安装NFS客户端
开发主机开启NFS服务后,我们还需要在开发板安装NFS客户端,来让开发板使用NFS服务。
执行安装NFS客户端命令:
sudo apt install nfs-common -y
查看NFS服务器共享目录
在开发板上执行“showmount -e +“NFS服务器IP””命令。注意在不同网络环境下,NFS服务器IP可能不一样,以实际情况为准。
5)临时挂载NFS文件系统
使用mount命令挂载NFS服务器的共享目录到开发板/mnt目录下:
注意:需要把下面的192.168.0.219设置为用户实际网络环境下的NFS服务器IP
sudo mount -t nfs 192.168.0.219:/home/embedfire/workdir /mnt
若挂载成功,终端不会有输出,Linux的哲学思想是“没有消息便是好消息”。
使用这种方式挂载目录只是临时的,开发板在重启后需要重新挂载该NFS目录才能访问。
二、测试NFS共享目录
1.挂载成功后,在NFS服务器的共享目录下,输入“sudo touch hello_world.txt”命令, 则在共享目录下创建一个hello_world.txt文件,如下图:
进入开发板的/mnt目录下,可以查看到NFS服务器的共享目录中的hello_world.txt文件。
2.取消挂载
当客户机在网络上无法找到NFS共享的目录时,如开发主机关机时,在NFS的客户机 的终端常常会输出一些提示,或在使用ls命令查看共享目录会导致长时间等待,这时可以对目录使用umount命令取消挂载,示例如下:
sudo umount /mnt
使用该命令时以要取消挂载的目录作为参数即可,没有输出表示执行正常。如果 在当前挂载的目录进行umount操作,会提示“device is busy”。建议取消挂 载时,先切换到家目录“~”,在进行umount操作。