Hi3516D:使用 uboot 从 NFS 引导时内核崩溃

Hi3516D : Kernel Panic while booting from NFS with uboot

我正在尝试从 NFS 引导我的内核...我遇到了一些环境问题。 Uboot 上的变量。

实际上这适用于 ubuntu v14.04.5 LTS NFS 内核服务器,但 v18.04.1 不是。

这是我的 printenv 列表:

bootdelay=1
baudrate=115200
bootfile="uImage"
mdio_intf=mii
ram_cmd=setenv bootcmd nand read $(kernel_addr) 0x200000 0x400000\; nand read $(rootfs_addr) 0x600000 0x700000\; bootm $(kernel_addr) $(rootfs_addr)
ram_args=setenv bootargs root=/dev/ram rw rootfstype=ext4 $(fixed_args) $(mtdparts)
nfs_cmd=setenv bootcmd tftp $(kernel_addr) $(kernel_tftp_path)\; bootm $(kernel_addr)
nfs_args=setenv bootargs root=/dev/nfs noinitrd $(fixed_args) $(mtdparts) ip=$(ipaddr):$(serverip):$(gatewayip):$(netmask):$(hostname)::off nfsroot=$(serverip):$(nfsroot) ethaddr=$(ethaddr)
fixed_args=mem=256M console=ttyAMA0,115200
mtdparts=mtdparts=hinand:1M(boot),1M(env),4M(kernel),7M(rootfs),16M(work),24M(www),6M(fw),3M(log),2M(config),64M(data)
kernel_addr=0x82000000
rootfs_addr=0x82400000
hostname=hi3516d_hi
filesize=515E61
fileaddr=82000000
ethaddr=4A:A4:14:6E:F8:F7
boot_mode=nfs
gatewayip=10.20.0.20
serverip=10.20.9.77
ipaddr=10.20.9.110
netmask=255.255.0.0
nfsroot=/home/thkim/build_h3516d_ptz_rel/target
kernel_tftp_path=thkim_H3516D/kernel/curr.kernel
stdin=serial
stdout=serial
stderr=serial
verify=n
factory=0
bootcmd=tftp $(kernel_addr) $(kernel_tftp_path); bootm $(kernel_addr)
bootargs=root=/dev/nfs noinitrd mem=256M console=ttyAMA0,115200 mtdparts=hinand:1M(boot),1M(env),4M(kernel),7M(rootfs),16M(work),24M(www),6M(fw),3M(log),2M(config),64M(data)     ip=10.20.9.110:10.20.9.77:10.20.0.20:255.255.0.0:hi3516d_hi::off nfsroot=10.20.9.77:/home/thkim/build_h3516d_ptz_rel/target ethaddr=4A:A4:14:6E:F8:F7
ver=U-Boot 2010.06 (Feb 06 2018 - 11:07:28)

这是引导时的错误(最后几行):

IP-Config: Complete:
     device=eth0, addr=10.20.9.110, mask=255.255.0.0, gw=10.20.0.20
     host=hi3516d_hi, domain=, nis-domain=(none)
     bootserver=10.20.9.77, rootserver=10.20.9.77, rootpath=
VFS: Unable to mount root fs via NFS, trying floppy.
VFS: Cannot open root device "nfs" or unknown-block(2,0): error -6
Please append a correct "root=" boot option; here are the available partitions:
f000            1024 romblock0  (driver?)
1f00            1024 mtdblock0  (driver?)
f001            1024 romblock1  (driver?)
1f01            1024 mtdblock1  (driver?)
f002            4096 romblock2  (driver?)
1f02            4096 mtdblock2  (driver?)
f003            7168 romblock3  (driver?)
1f03            7168 mtdblock3  (driver?)
f004           16384 romblock4  (driver?)
1f04           16384 mtdblock4  (driver?)
f005           24576 romblock5  (driver?)
1f05           24576 mtdblock5  (driver?)
f006            6144 romblock6  (driver?)
1f06            6144 mtdblock6  (driver?)
f007            3072 romblock7  (driver?)
1f07            3072 mtdblock7  (driver?)
f008            2048 romblock8  (driver?)
1f08            2048 mtdblock8  (driver?)
f009           65536 romblock9  (driver?)
1f09           65536 mtdblock9  (driver?)
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,0)

我不知道是什么问题...

谁能帮帮我??

非常感谢!

此问题已解决。 这只是一个问题,因为 NFS 协议 v2 被禁用。 激活NFS Kernel Server Protocol v2后,确认正常挂载

我听说这个站点是用于代码和编程的,所以当我遇到这样的问题时,我会问另一个站点(unix.stackexchange.com)。

非常感谢!