# NFS **Repository Path**: openes/nfs ## Basic Information - **Project Name**: NFS - **Description**: NFS环境搭建 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-04-27 - **Last Updated**: 2025-07-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # NFS 网络文件系统环境搭建 ### NFS 简介 * 网络文件系统,英文 Network File System(NFS),是由 SUN 公司研制的 UNIX 表示层协议 (presentation layer protocol),能使使用者访问网络上别处的文件就像在使用自己的计算机一样。我们可以在 Ubuntu 上制作开发板的根文件系统,然后使用 NFS 来加载根文件系统到开发板的 DDR 上。 ### 步骤一:准备工作 * 参考[【Linux 网络环境搭建】](https://gitee.com/openes/netcfg)完成准备工作。 * 这里结合自己的网络配置来验证,我的相关 IP 配置为: * 开发板 IP:192.168.5.4 * 虚拟机 Ubuntu IP:192.168.5.2 ### 步骤二:安装 NFS 服务 * 在 Ubuntu 终端下执行以下指令安装 NFS。 ``` sudo apt-get install nfs-kernel-server ``` ![](./images/安装NFS.png) ### 步骤三:创建 NFS 共享目录 * 在 Ubuntu 中创建 NFS 共享目录,并给予 NFS 目录可读可写可执行权限。 ``` mkdir nfs chmod 777 nfs/ ``` ![](./images/新建NFS共享目录.png) ### 步骤四:配置 NFS 服务 * Ubuntu20.04 中默认关闭了 NFS V2 版本,所以需要打开 NFS V2 版本。打开 /etc/default/nfs-kernel-server,加入下面这行: ``` RPCNFSDOPTS="--nfs-version 2,3,4 --debug --syslog" ``` ![](./images/nfs-kernel-server文件内容.png) * 打开 /etc/exports 文件,在最后添加如下内容,注意中间有个空格。前面是刚刚创建的 nfs 文件夹路径。 ``` /home/thin-wind/Design/nfs *(rw,sync,no_root_squash) ``` ![](./images/修改exports文件.png) * /home/thin-wind/Design/nfs 表示 NFS 共享的目录 * \* 表示允许所有的网络段访问 * rw 表示访问者具有可读写权限 * sync 表示将缓存写入设备中,可以说是同步缓存的意思 * no_root_squash 表示访问者具有 root 权限。 * 修改完以后保存退出。 * 执行以下指令重启 NFS 服务器。 ``` sudo /etc/init.d/nfs-kernel-server restart ``` ![](./images/重启NFS.png) * 执行以下指令查看 NFS 共享目录。 ``` showmount -e ``` ![](./images/查看NFS共享路径.png) ### 步骤五:NFS 挂载文件夹到开发板 * 在开发板 linux 系统下执行以下指令,创建一个 getnfs 目录,将 Ubuntu(192.168.5.2)NFS 共享目录挂载到到开发板的 getnfs 目录中。 ``` mkdir getnfs mount -t nfs -o nolock,nfsvers=3 192.168.5.2:/home/thin-wind/Design/nfs /getnfs ``` ![](./images/挂载nfs.png) * 注意:**不要进到 getnfs 目录下再进行 mount 挂载** ### 步骤六:验证 nfs * 在 Ubuntu 的 nfs 目录下创建一个 mytest.txt 文件,在里面写入 "Hello world." ``` touch mytest.txt echo "Hello world." > mytest.txt ``` ![](./images/验证nfs.png) * 回到开发板命令行下,进入 getnfs 目录,可以看到 Ubuntu 中创建的文件,表明 nfs 环境搭建成功 ![](./images/验证nfs2.png) ### 补充 * 开发板每次重启之后,nfs 挂载便会失效,为了调试方便,可以将挂载 nfs 命令添加到 /etc/profile 中,此文件为系统启动时所有用户都会执行的脚本。 ![](./images/挂载nfs命令添加到profile.png)