fifteenhex / buildroot_idosom2d01

Buildroot for ido-som2d01 (and similar SSD20xD) based boards.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Cannot boot enter the normal rich rootfs after burnning in rescue rootfs

tonyho opened this issue · comments

I followed the repo README.md guide, burned all the images, after rebooting into uboot, I can boot into the rescue kernel+rootfs with:

setenv loadaddr 0x22000000; ubi readvol ${loadaddr} rescue 0x800000; bootm ${loadaddr}#ssd202d-som2d01

But I cann't boot into the normal rich OS, if I do nothing after rebooting, the u-boot would gives the error:

U-Boot 2021.01-rc4 (Sep 08 2021 - 08:21:10 +0000)

DRAM:  128 MiB
wrote 1f206540 <- 4bc7 was 4bc7, readback 4bc7
wrote 1f206544 <- 0037 was 0037, readback 0037
wrote 1f206548 <- b3d5 was b3d5, readback b3d5
wrote 1f20654c <- 0043 was 0043, readback 0043
wrote 1f206560 <- 0001 was 0001, readback 0001
wrote 1f206554 <- 0006 was 0006, readback 0006
wrote 1f20655c <- 0008 was 0008, readback 0008
wrote 1f206564 <- 1000 was 1000, readback 1000
wrote 1f206550 <- 0000 was 0001, readback 0000
wrote 1f206550 <- 0001 was 0000, readback 0001
wrote 1f20442c <- 0001 was 0001, readback 0001
wrote 1f203ddc <- 0004 was 0004, readback 0004
wrote 1f203dd4 <- 4004 was 4004, readback 4004
wrote 1f203dd8 <- 0001 was 0001, readback 0001
wrote 1f203dc0 <- 0000 was 8000, readback 0000
wrote 1f203dc0 <- 8000 was 0000, readback 8000
delaying for 100
readback: 4277
mpll here!
mpll here xxxx!
checking 26f8e370 26f8e370
found parent at 0
mpll is already running
MMC:
Loading Environment from UBI... Read 8192 bytes from volume env to 26f89780
*** Warning - bad CRC, using default environment

In:    uart@221000
Out:   uart@221000
Err:   uart@221000
Net:   checking 26f8ee88 26f8ee88
found parent at 0
emac patches
rx ring 26fbba40

Warning: emac@2a2000 (eth0) using random MAC address - fa:af:49:31:d5:e3
eth0: emac@2a2000
=> 

If I use the following commands, it failed to find the rootfs and result in the VFS root mount failure panic:

setenv loadaddr 0x22000000; ubi readvol ${loadaddr} kernel 0x800000; bootm ${loadaddr}#ssd202d-som2d01

I guess this is the env partition is incorrect?
What is the the correct bootargs? And where can I set it(dts/uboot env)?
How can I boot into the normal rootfs?

It looks like we lost the rootfs info in the dts during mainlining work...

You need to tell the kernel to create a ubiblock and use that as root via the commandline.

Adding something like:

ubi.mtd=1 ubi.block=0,5 root=/dev/ubiblock0_5

@tonyho can you try replicate and reuse mine bootargs with ubifs (you will need to build it) from #7
Try and post results