转自:http://bbs.ednchina.com/BLOG_ARTICLE_376105.HTM
nfs原理:通过网络,将远程主机共享的文件系统,挂载到本机。这种模式的好处是减少映像文件的下载次数和对flash的烧写次数。对于缩短开发周期,提高开发效率很有好处。虽然下载hello程序用不了多久,但一旦应用程序变得越来越大,NFS运行的方便就能显现。
(1)在电脑服务器端下载并安装nfs
$ sudo apt-get install nfs-kernel-server portmap
(2)配置共享文件
设置服务器端(电脑)上一个文件夹作为共享文件夹,以后客户端(开发板)将通过网络文件系统NFS访问这个文件夹。我这里把/home/lin/NFSshare作为共享目录。
打开配置文件
$ sudo gedit /etc/exports
将下面这句话添加在这个文件最后。
/home/lin/NFSshare *(rw,sync,no_root_squash)
/home/lin/NFSshare是服务器端(电脑)共享的文件夹,需要把执行文件hello复制到此文件夹里。
注意NFSshare与*之间一定要有空格。而*号与后面就没有空格。*号代表ip地址。*代表允许所有的网络段访问,括号中rw代表可读写,sync未知,no_root_suqash意思是以root权限访问该共享文件夹。
(3)重启NFS服务
sudo /etc/init.d/portmap restart
sudo /etc/init.d/nfs-kernel-server restart
(4)服务器安装完之后可以这样测试。
本地测试:$sudo mount 192.168.1.160:/home/lin/NFSshare /tmp
执行后,可以在mnt目录下发现我的共享目录下的文件。
这样nfs应该就搭建成功了。其中192.168.1.160为服务端(电脑)的IP。这个服务端(电脑)的IP地址可以通过在电脑的“终端”输入命令#ifconfig 得到。
/home/lin/NFSshare文件夹里的内容挂载到/tmp文件夹里,/tmp文件夹里的原来的东西都不见了。 显示的是/home/lin/NFSshare文件夹的内容
$sudo umount 192.168.1.160:/home/lin/NFSshare /tmp
卸载后,/tmp原来的东西又回来了。
(5)客户端(开发板)连接服务端
将客户端(开发板)插上网线接入网络,设置好IP。
在客户端(2440开发板)终端输入:
#mount -t nfs -o nolock 192.168.1.160:/home/lin/NFSshare /tmp
如果无任何输出说明连接成功了。
#cd /tmp
#ls
可以看到这个目录下有我主机的共享目录的中的内容了。这样NFS连接就成功了。
参考资料:
1)Ubuntu下搭建嵌入式nfsv
http://hi.baidu.com/pnalson/blog/item/a8c013fa446b1d17a9d311bb.html
2)ubuntu搭建嵌入式nfs
http://blog.chinaunix.net/u3/93598/showart_1897102.html