嵌入式Linux开发中,提到NFS,一般都是NFS整个文件系统,有时候觉得没啥必要。板子上已经有文件系统了,直接NFS挂载单个目录不也是很香吗。所以,需求就是:嵌入式操作系统挂载本地文件系统后,通过NFS挂载上位机指定目录,以便于调试驱动模块或者应用程序。
为了之后的验证方便,可以在目录下创建个测试文件:
sudo touch /haveFun/helloWorld打开/etc/exports文件,注意,要用sudo
sudo vi /etc/exports在文件的末尾添加如下信息:
/haveFun *(rw,nohide,insecure,no_subtree_check,async,no_root_squash)关于/etc/exports的语法以后再说,感兴趣的可以百度,但一定要注意,只有在/haveFun和*(之间有个空格,其他地方都别加空格。
重启NFS服务重启NFS服务,使配置生效。
sudo /etc/init.d/nfs-kernel-server restart 验证是否配置成功该配置的配完了,也重启了,现在就让上位机自己挂载自己的目录试试。
sudo mount -t nfs -o nolock,vers=3 localhost:/haveFun /mnt上面这个命令就是通过NFS服务把/haveFun目录挂载到/mnt目录下,如果挂载成功,那么在/mnt目录下应该能看到helloWorld文件。
ls /mnt如果/mnt目录下有helloWorld文件,那就说明上位机的工作都搞定了,使用下面的命令卸载刚才挂载的目录:
sudo umount /mnt至此,上位机搞定。
第6步,保存,退出配置界面。
第7步,编译内核,烧写到设备中。
第1步,设备上电开机。
第2步,使用ping 192.168.1.100验证与NFS Server之间的网络连接是否正常。
第3步,挂载目录
mount -t nfs -o nolock,vers=3 192.168.1.100:/haveFun /mnt挂载完成后,就可以在/mnt目录下看到helloWorld文件了。
问:挂载出错了咋办?
答:步骤我验证过,应该不会出错,如果真粗错了可以百度下或者发邮件讨论wanglehe@aliyun.com。