分类: 嵌入式
2011-09-17 12:29:46
在虚拟机的linux上构建NFS服务器,在ARM的linux下可以挂接NFS,直接访问NFS上共享的文件。
1、构建NFS服务器
进入主菜单->系统设置->服务器设置->NFS服务器
在弹出的NFS服务器配置界面上点“增加”,目录就是根目录/ 主机是一个IP地址,可以是*,基本权限是读/写。在用户访问选项中,将第一项打勾,确定
2、输入命令setup ,进入setup界面。
选择system service->按空格选中nfs和smb,确定后退出。这样每次进入linux就会自动开启NFS和Samba服务。
3、重启NFS服务,在终端下输入:
#service nfs restart
5、挂接NFS
在ARM的linux下挂接NFS,先将开发板PC机用网线相连,设置windows的IP,192.168.1.* 将开发板上的linux的IP也设置为在同一网段上的不同IP地址。虚拟机,windows,开发板的IP必须在同一网段,不同的IP地址。
在开发板上执行
#mount -t nfs 192.168.1.230:/ /mnt/nfs
这个IP是虚拟机linux的IP,/是虚拟机linux的根目录下所有内容,也可以指定其他目录。/mnt/nfs是要挂接在开发板系统下的哪个目录。进入/mnt/nfs目录,就可以看到虚拟机linux的根目录内容了。
取消挂接用:
#umount /mnt/nfs
3、常见错误
mount: RPC: Unable to receive; errno = Connection refused
原因是linux没有开启NFS服务,配置好NFS服务器后,确保重启NFS服务:#service nfs restart,如果还出现这个错误,可以执行这个命令后再试试:#service portmap start,开启portmap服务。
mount: 192.168.1.230:/nfs failed,reason given by server:permission denied
原因可能是因为要挂载的目录没有读写权限,确保在配置NFS服务器时,基本权限是读/写,还有的原因是/etc/exports 档案没设定好。
rpcbind: server localhost not responding, timed out
挂载NFS命令加上-o nolock,就不会出现这个问题了。
#mount -t nfs -o nolock 192.168.1.105:/ /mnt/nfs