NFS 即网络文件系统,允许主机直接通过网络实现文件共享。另外,除了挂载普通目
录外,还可以在 Linux 启动时将 NFS 上的目录挂载为开发板根文件系统。
在开发主机上安装 NFS 服务程序,以 ubuntu 为例:
$ sudo apt-get install nfs-kernel-server
编辑 exports 文件,添加 nfs 文件夹目录:(首先自己新建一个文件夹作为挂载目录)
$ sudo gedit /etc/exports
例如设置/home/myir/nfs 为 NFS 目录,将如下内容添加到 exports 文件中:
/home/myir/nfs *(rw,subtree_check,no_root_squash,no_all_squash,sync)
设置目录权限:
$ chmod 777 /home/myir/nfs
修改设置 nfs,绑定端口:
$ sudo gedit /etc/default/nfs-kernel-server
将 RPCMOUNTDOPTS 修改为:(在最后一行直接添加也可以)
#RPCMOUNTDOPTS=--manage-gids
RPCMOUNTDOPTS="-p 13100"
重启 NFS 服务:
$ sudo service nfs-kernel-server restart
在本机上测试 NFS 服务:
$ sudo mount -t nfs 127.0.0.1:/home/myir/nfs /mnt
若本机 NFS 挂载成功,接下来在开发板上挂载 NFS,将开发板和主机连入同一网络(方法见度娘),
设置主机服务端 IP,例如:
首先主机终端运行:
$ ifconfig
出现:
enp1s0 Link encap:以太网 硬件地址 ××××××××××××
×××××××××××××××××××××××
lo Link encap:本地环回
×××××××××××××
××××××××××
wlp2s0 Link encap:以太网 硬件地址 ×××××××××××××
×××××××××××××
××××××××××
然后设置主机服务端IP(先断开无线网什么的):
$ sudo ifconfig enp1s0 192.168.1.111
开始设置开发板的ip:
新开一个终端:
sudo minicom
输入密码后进入开发板系统:
# ifconfig
设置开发板 IP,例如:
# ifconfig eth0 192.168.1.222
使用 ping 命令测试开发板与 PC 机网络是否连通:
# ping 192.168.1.111
在开发板上新建挂载目录:
# mkdir -p /mnt/nfs
挂载 NFS 文件夹:
# mount -t nfs -o nolock,rw 192.168.1.111:/home/myir/nfs /mnt/nfs
切换到挂载的nfs目录:
# cd /mnt/nfs
列出该文件夹下的文件(先把交叉编译生成的可执行文件复制到主机的挂载文件夹下):
# ls
修改可执行文件的权限:
# chmod +x <可执行文件名>
执行可执行文件:
# ./<可执行文件名>