前提:
首先在主机上安装nfs服务程序
1、 执行命令:sudo apt-get install nfs-kernel-server
Ubuntu系统一般默认没有安装NFS服务,所以要自己安装。
2、服务器允许目录可被被人挂接(NFS服务) /etc/exports
a 进入需要挂载的目录 执行命令 sudo vi /etc/exports 然后输入密码
b进入extorts文件的编辑页面,在该文件里加上一句话
/work/nfs_root/my_first_nfs *(rw,sync,no_root_squash)
格式为: 要挂载的目录 *(rw,sync,no_root_squash)
然后退出编辑页面
c 重启一下FNS服务,命令为
sudo /etc/init.d/nfs-kernel-server restart
2、 开发板挂接
(首先将开发板的网线接上,我当时就脑残的忘了接了,结果浪费了一上午)
这里首先要配置开发板的ip,配置成语服务器同一网段,执行ifconfig命令,如果执行该命令没有反应的话,说明没有装载网卡,执行ifconfig eth0 up ,就将网卡装载上了。
然后执行:ifconfig eth0219.225.219.103
a 在开发板上创建一个文件 mnt命令为 : mkdir /mnt
b 开始挂接
mount –t nfs –o nolock 219.225.219.104:/work/nfs_root/my_first_nfs /mnt
格式为:
mount –t nfs –o nclock 服务器id:要挂载的服务器上的地址 单板上的地址
如果上述操作后还是不行的话,看下面的解决问题的办法:
问题一
今天,用开发板通过nfs挂载主机,想从主机上面拷贝一些资料,可是竟然出现:nfs:server is not responding,still trying , 我用的是友善之臂的mini2440,操作系统使用的是Ubuntu8.04。
本来还以为是nfs出了故障,但是google了一下发现原来不是nfs的原因,而是由于传送的数据太大,出现数据包丢失现象。
NFS 的默认传输协议是 UDP,而PC机与嵌入式系统通过UPD交互时就会出现严重的网卡丢包现象。可用的解决方案是:在客户端改用TCP协议,使用下面的命令,
mount -t nfs -ointr,nolock,rsize=1024,wsize=1024 192.168.0.121:/主机nfs目录 /挂载路径