1.开发背景
nfs 即网络文件共享,主要通过 tcp、udp 等网络通讯的方式实现不同机器间的文件共享
2.开发需求
搭建 ubuntu 下的服务端,嵌入式开发板共享 ubuntu 的某个文件夹
3.开发环境
ubuntu20.04 + 嵌入式开发板
4.实现步骤
4.1 搭建 ubuntu 服务器
4.1.1 安装服务器软件
sudo apt install keyutils
sudo apt install nfs-common
sudo apt install nfs-kernel-server rpcbind
4.1.2 修改配置文件,追加路径
sudo vi /etc/exports
追加共享路径:/xxx/nfs *(rw,sync,no_root_squash)
4.1.3 开启nfs v2 版本,提高兼容性
sudo vi /etc/default/nfs-kernel-server
追加内容:RPCNFSDOPTS="--nfs-version 2,3,4 --debug --syslog"
4.1.4 重启nfs
sudo /etc/init.d/nfs-kernel-server restart
4.1.5 自检测试
sudo mount -t nfs 127.0.0.1:/xxx/nfs /mnt -o nolock
sudo umount /mnt
mount 将 /xxx/nfs 文件夹挂载到 /mnt 文件夹下
umount 卸载 /mnt
如果挂载成功,/mnt 和 /xxx/nfs 文件一致
4.2 开发板挂载
这里开发板已经挂载了本地文件系统,通过 nfs 挂载到一个测试文件系统到开发板中
sudo busybox mount -t nfs 172.16.0.136:/xxx/nfs/rootfs ./nfs_test/ -o nolock
sudo umount ./nfs_test/
其中,ubuntu IP 地址 172.16.0.136,挂载文件到开发板的 ./nfs_test/ 文件夹下
5. 参考链接
Ubuntu 下搭建 NFS 服务_arm ubuntu12搭建nfs-CSDN博客
NFS挂载失败: bad option; for several filesystems (e.g. nfs, cifs) you might need a /sbin/mount._bad option; for several filesystems (e.g. nfs, cif-CSDN博客