挂载开发板根NFS文件系统的时候,发现了下面的问题:

Looking up port of RPC 100003/2 on 192.168.2.109

rpcbind: server 192.168.2.109 not responding, timed out

Root-NFS: Unable to get nfsd port number from server, using default

Looking up port of RPC 100005/1 on 192.168.2.109

rpcbind: server 192.168.2.109 not responding, timed out

Root-NFS: Unable to get mountd port number from server, using default

------------------------------------------------------------------------------


出现这个问题,经过检查,原来是linux server的防火墙没有关。

1.  报这种错,防火墙是原因之一。


但不一定就是这一个原因,还有

2. 开发板的bootloader的 bootargs没有设置正确导致找不到server 的nfs,一般格式如下:  


set bootargs noinitrd root=/dev/nfs nfsroot=192.168.2.109:/home/fs/work/nfs_root/fs_qtopia ip=192.168.2.111:192.168.2.109:192.168.2.1:255.255.255.0::eth0:off init=/linuxrc console=ttySAC0



3. 另外挂载nfs需要启动nfs服务,并设置好nfs exports目录,


/etc/init.d/nfs start

[root@localhost fs]# vi /etc/exports
/home/fs/work/nfs_root/fs_mini_mdev *(rw,sync,no_root_squash,no_subtree_check)
/home/fs/work/nfs_root/fs_qtopia *(rw,sync,no_root_squash,no_subtree_check)



4. 不同开发板,不同内核,不同uboot的挂载命令不尽相同,不能盲目照搬。

我在使用s5pc100开发板的时候,nfs挂载错误如下:


usbhid: USB HID core driver
TCP cubic registered
NET: Registered protocol family 17
Looking up port of RPC 100003/2 on 192.168.2.109
rpcbind: server 192.168.2.109 not responding, timed out
Root-NFS: Unable to get nfsd port number from server, using default
Looking up port of RPC 100005/1 on 192.168.2.109
rpcbind: server 192.168.2.109 not responding, timed out
Root-NFS: Unable to get mountd port number from server, using default
Root-NFS: Server returned error -101 while mounting /work/farsight/nfs_root/rootfs
VFS: Unable to mount root fs via NFS, trying floppy.
VFS: Cannot open root device "nfs" or unknown-block(2,0)


检查我的bootargs设置,

  bootargs=root=/dev/nfs nfsroot=192.168.2.109:/work/farsight/nfs_root/rootfs init=/linuxrc console=ttySAC0

经过一番比对,发现应该是:

  bootargs=root=nfs nfsroot=192.168.2.109:/work/farsight/nfs_root/rootfs ip=192.168.2.200 init=/linuxrc console=ttySAC0

这一点不同于jz2440开发板。


====================================================================================================

====================================================================================================


1、在A机上启动NFS和RPC服务

  /etc/init.d/portmap start

  /etc/init.d/nfs start

2、检查NFS的运行级别:

  chkconfig --list portmap

  chkconfig --list nfs

3、根据需要设置在相应的运行级别自动启动NFS:

  chkconfig --level 235 portmap on

  chkconfig --level 235 nfs on

--检测nfs 的rpc 注册状态

  rpcinfo -u 主机名或IP 地址 进程

[root@tmg133 data3]#-- rpcinfo -u 192.168.2.109 nfs

program 100003 version 2 ready and waiting

program 100003 version 3 ready and waiting

program 100003 version 4 ready and waiting

[root@tmg133 data3]# --rpcinfo -u 192.168.2.109 mount

program 100005 version 1 ready and waiting

program 100005 version 2 ready and waiting

program 100005 version 3 ready and waiting


--查看共享目录和参数设置 cat /var/lib/nfs/etab

/home/fs/work/nfs_root/fs_mini_mdev *(rw,sync,wdelay,hide,nocrossmnt,secure,no_root_squash,no_all_squash,no_subtree_check,secure_locks,acl,mapping=identity,anonuid=65534,anongid=65534)

/home/fs/work/nfs_root/fs_qtopia *(rw,sync,wdelay,hide,nocrossmnt,secure,no_root_squash,no_all_squash,no_subtree_check,secure_locks,acl,mapping=identity,anonuid=65534,anongid=65534)

~ (ro,sync,wdelay,hide,nocrossmnt,secure,root_squash,no_all_squash,no_subtree_check,secure_locks,acl,mapping=identity,anonuid=65534,anongid=65534)



临时性的完全关闭防火墙,可以不重启机器:

#/etc/init.d/iptables status                ## 查看防火墙状态

#/etc/init.d/iptables stop                    ## 本次关闭防火墙

#/etc/init.d/iptables restart                ## 重启防火墙