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

时间:2018-10-12 01:27:09

标签: embedded-linux nfs ubuntu-18.04

我正在尝试从NFS引导内核...我在使用env时遇到了问题。 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)

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

有人可以帮我吗?

非常感谢!

1 个答案:

答案 0 :(得分:0)

此问题已解决。 这只是一个问题,因为已禁用NFS协议v2。 激活NFS Kernel Server的协议v2后,我确认它已正常安装。

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

非常感谢!