问题:
NFS配置没问题:NFS服务开启与使用、目录挂载与卸载
使用 NFS 挂载文件系统的时候报错:
[ 101.800373] VFS: Unable to mount root fs via NFS, trying floppy.
[ 101.807335] VFS: Cannot open root device "nfs" or unknown-block(2,0): error -6
[ 101.814718] Please append a correct "root=" boot option; here are the available partitions:
[ 101.823160] 0100 65536 ram0 (driver?)
[ 101.827880] 0101 65536 ram1 (driver?)
[ 101.832573] 0102 65536 ram2 (driver?)
[ 101.837347] 0103 65536 ram3 (driver?)
[ 101.841988] 0104 65536 ram4 (driver?)
[ 101.846695] 0105 65536 ram5 (driver?)
[ 101.851335] 0106 65536 ram6 (driver?)
[ 101.856027] 0107 65536 ram7 (driver?)
[ 101.860667] 0108 65536 ram8 (driver?)
[ 101.865333] 0109 65536 ram9 (driver?)
[ 101.869974] 010a 65536 ram10 (driver?)
[ 101.874720] 010b 65536 ram11 (driver?)
[ 101.879446] 010c 65536 ram12 (driver?)
[ 101.884194] 010d 65536 ram13 (driver?)
[ 101.888922] 010e 65536 ram14 (driver?)
[ 101.893669] 010f 65536 ram15 (driver?)
[ 101.898410] b300 15273984 mmcblk0 driver: mmcblk
[ 101.903768] b301 15269888 mmcblk0p1 9be55837-01
[ 101.909104] b308 7634944 mmcblk1 driver: mmcblk
[ 101.914503] b309 131072 mmcblk1p1 5edd22ea-01
[ 101.919862] b30a 7493632 mmcblk1p2 5edd22ea-02
[ 101.925247] b320 512 mmcblk1rpmb (driver?)
[ 101.930494] b318 4096 mmcblk1boot1 (driver?)
[ 101.935857] b310 4096 mmcblk1boot0 (driver?)
[ 101.941192] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,0)
[ 101.949470] ---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,0)
[ 112.942790] random: nonblocking pool is initialized
原因:
以前使用的16.04版本的ubuntu没问题,现在更换了18.04.4版本,开始报错。
从Ubuntu17.04开始,nfs默认只支持协议3和协议4,而kernel中默认支持协议2。
- 修改 NFS 配置文件:
sudo vim /etc/default/nfs-kernel-server
- 在末尾添加:
RPCNFSDOPTS="--nfs-version 2,3,4 --debug --syslog"
- 重启 NFS 服务:
sudo /etc/init.d/nfs-kernel-server restart
注:如果kernel版本较高支持nfs协议3的话,可以在Uboot传到Kernel的bootargs参数中加入’nfsvers=3’,使kernel使用nfs协议3。
参考:Linux通过nfs挂载根文件系统失败:VFS: Unable to mount root fs via NFS, trying floppy.