我有一块 ARM 主板,我想在上面配置 NFS,以便通过网络挂载 rootfs。我该如何解决这个问题?
我的服务器配置:
操作系统:Scientific Linux 6.0
我的 NFS 共享:
#cat /etc/exports
/tftpboot/squashfs-root 192.168.1.5(rw,insecure,sync,no_root_squash)
#showmount -e 192.168.1.100
Export list for 192.168.1.100:
/tftpboot/squashfs-root 192.168.1.5
我的目标设定:
U-Boot> printenv
bootcmd=sf read 0xa00000 0x30000 0x1d0000;sf read 0x3000000 0x200000 0x800000;jump 0xa00000
bootdelay=3
baudrate=38400
netmask=255.255.0.0
modelname=DEVBOARD
ethaddr=02:00:11:21:32:45
serverip=192.168.1.100
gatewayip=192.168.1.10
ipaddr=192.168.1.5
bootargs=root=/dev/nfs nfsroot=192.168.1.100:/tftpboot/squashfs-root nolock,tcp mem=64M console=2
启动日志:
NET: Registered protocol family 17
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
Looking up port of RPC 100003/2 on 192.168.1.100
rpcbind: server 192.168.1.100 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.1.100
rpcbind: server 192.168.1.100 not responding, timed out
Root-NFS: Unable to get mountd port number from server, using default
Root-NFS: Server returned error -5 while mounting /tftpboot/squashfs-root
VFS: Unable to mount root fs via NFS, trying floppy.
VFS: Cannot open root device "<NULL>" or unknown-block(2,0)
Please append a correct "root=" boot option; here are the available partitions:
1f00 192 mtdblock0 (driver?)
1f01 1856 mtdblock1 (driver?)
1f02 8192 mtdblock2 (driver?)
1f03 6144 mtdblock3 (driver?)
1f04 256 mtdblock4 (driver?)
1f05 256 mtdblock5 (driver?)
1f06 4096 mtdblock6 (driver?)
1f07 16384 mtdblock7 (driver?)
1f08 98304 mtdblock8 (driver?)
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,0)
答案1
Root-NFS:无法从服务器获取 nfsd 端口号,使用默认值
您的 NFS 服务器未运行portmap
守护进程,或者防火墙规则不允许客户端连接到它。Google 表示该服务可能被称为“rpcbind”。