Search code examples
embedded-linuxnfsubuntu-18.04

Hi3516D : Kernel Panic while booting from NFS with uboot


I'm trying to boot my kernel from NFS... i have some problem with env. variables on Uboot.

Actually this is work well with ubuntu v14.04.5 LTS NFS kernel server but v18.04.1 is not.

this is my printenv list :

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)

this is the error while booting(last rows) :

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)

I can't know what is the problem...

Can anyone help me ??

Thanks a lot !


Solution

  • This problem is solved. It was simply a problem because NFS Protocol v2 was disabled. After activating Protocol v2 of NFS Kernel Server, I confirmed that it is mounted normally.

    And I heard this site is for code and programming so I will ask another site(unix.stackexchange.com) when I have a problem like this.

    Thanks a lot!