以前在用mini2440开发板搞嵌入式开发的时候,使用的是fedora9,用nfs挂载本机上的文件系统没有什么问题,现在又搞嵌入式开发,用的是mini6410的开发板,不想用fedora9了,装了个fedora14,但是在配置nfs时候出现了问题。
按照用户手册里面的要求,关闭了防火墙,编辑/etc/exports,内容改为:
/root_nfs *(rw,sync,no_root_squash)
然后运行一下service nfs restart,接着输入:
mount -t nfs localhost:/root_nfs /mnt/
但是总是出错,出错信息如下:
mount.nfs: access denied by server while mounting localhost:/root_nfs
在网上找了很多方法,都没有弄成功,后来终于找到了解决办法:
将/etc/exports内容改为:
/root_nfs *(fsid=0,rw,sync,no_root_squash,no_subtree_check)
再去挂载又成功了!在下次开机以后,我又把exports文件的内容改成了/root_nfs *(rw,sync,no_root_squash),居然又成功了,真实诡异啊!
但是即使是本机挂载成功,在开发板挂载nfs 文件系统的时候,还是不能成功,一直卡着,也没有什么提示信息,也不知道是为什么。
然后就开启了开发板,在连接串口的终端中输入:
mount -t nfs 10.61.0.50:/root_nfs /mnt/
出现如下的出错信息:
svc: failed to register lockdv1 RPC service (errno 111).
lockd_up: makesock failed, error=-111
mount: mounting 10.61.0.50:/root_nfs on /mnt failed: Connection refused
网上找了一下,再输入:
mount -t nfs -o nolock 10.61.0.50:/root_nfs /mnt/
这样就好了。
这样可以挂载本机的nfs,但是在开发板的bootloader命令行中输入的参数后确挂载不了,如是我想到干脆把nfs挂载成开发板的根文件系统。输入:
mount -t nfs -o remount,rw,nolock 10.61.0.50:/root_nfs /
这样居然就成功的挂载了nfs作为开发板的文件系统了!