Debian hangs on VFS can't find root on after flashing new U-boot onStora
July 12, 2023 05:33PM
Hi Bodhi! Thanks for all your hard work on here, I could never have gotten this far without it.

I have a Netgear Stora. I tried doing installations from a bunch of different USB flash drives, but consistently had unsolvable and intermittent failures. I tried again with SATA hard drive in an external enclosure and got much further.

The system is still flashed with the original uBoot. I ran into the resetenvs problem,but seem to have recovered thanks to this site. I was running uBoot 1.1.4, Marvel version 3.4.14

I used the original firmware to install Debian-5.13.6-kirkwood-tld-1-rootfs-bodhi, then used that to re-flash my u-Boot to
U-Boot 2016.05-tld-1 (Jun 12 2016 - 13:45:22 -0700)
Netgear-MS2110. I used the guides on here and followed every step, including updating the Debian install, creating a swap disk, etc.

The flash was successful, and the Stora now correctly reboots into the newer U-Boot. However, after the flash and it's associated env changes, the kernel panics because it can't find rootfs. It used to boot fine before that, I could log in, that's how I flashed the new U-Boot,etc.

It looks like it's defined correctly in the envs, and I also added it to uEnv.txt just in case, but either way it hangs on the VFS load.

I used to do embedded development, so I'm pretty familiar with close-to-the-hardware systems like this, but I have to admit I'm still having trouble understanding exactly how the envs flow through the system, setting them from U-Boot vs. using uEnv.txt. I understand here that the kernel isn't finding 'root', but it seems to be set in both the U-boot envs and also in uEnv.txt. I'm not sure why it's not getting through anymore. All this worked before when sending the newer U-boot over serial each time, but when I flashed it I got stuck here.

Here's a dump of the boot:
U-Boot 2016.05-tld-1 (Jun 12 2016 - 13:45:22 -0700)
Netgear-MS2110

SoC:   Kirkwood 88F6281_A1
DRAM:  128 MiB
WARNING: Caches not enabled
NAND:  256 MiB
In:    serial
Out:   serial
Err:   serial
Net:   egiga0
PHY reset timed out
88E1116 Initialized on egiga0
Hit any key to stop autoboot:  0 
Netgear Stora> boot
starting USB...
USB0:   USB EHCI 1.00
scanning bus 0 for devices... 2 USB Device(s) found
       scanning usb for storage devices... 
Use USB retry period from the environment: 15 second(s)
1 Storage Device(s) found

Partition Map for USB device 0  --   Partition Type: DOS

Part	Start Sector	Num Sectors	UUID		Type
  1	2048      	976771120 	fac9f74d-01	83 Boot
loading envs from usb 0 ...
18 bytes read in 326 ms (0 Bytes/s)
importing envs ...
running scan_disk ...
Scan device usb
device usb 0:1
1 bytes read in 557 ms (0 Bytes/s)
Found bootable drive on usb 0
loading uImage ...
5447395 bytes read in 472 ms (11 MiB/s)
loading uInitrd ...
9671091 bytes read in 559 ms (16.5 MiB/s)
loading DTB /boot/dts/kirkwood-netgear_stora_ms2000.dtb ...
11507 bytes read in 990 ms (10.7 KiB/s)
## Booting kernel from Legacy Image at 00800000 ...
   Image Name:   Linux-5.13.6-kirkwood-tld-1
   Created:      2023-07-11  21:53:02 UTC
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    5447331 Bytes = 5.2 MiB
   Load Address: 00008000
   Entry Point:  00008000
   Verifying Checksum ... OK
## Loading init Ramdisk from Legacy Image at 01100000 ...
   Image Name:   initramfs-5.13.6-kirkwood-tld-1
   Created:      2021-09-24   1:06:32 UTC
   Image Type:   ARM Linux RAMDisk Image (gzip compressed)
   Data Size:    9671027 Bytes = 9.2 MiB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 01c00000
   Booting using the fdt blob at 0x1c00000
   Loading Kernel Image ... OK
   Loading Ramdisk to 036c6000, end 03fff173 ... OK
   Loading Device Tree to 036c0000, end 036c5cf2 ... OK

Starting kernel ...

Uncompressing Linux... done, booting the kernel.
[    0.000000][    T0] Booting Linux on physical CPU 0x0
[    0.000000][    T0] Linux version 5.13.6-kirkwood-tld-1 (root@tldDebian) (gcc (Debian 8.3.0-6) 8.3.0, GNU ld (GNU Binutils for Debian) 2.31.1) #1.0 PREEMPT Sat Jul 31 22:10:39 PDT 2021
[    0.000000][    T0] CPU: Feroceon 88FR131 [56251311] revision 1 (ARMv5TE), cr=0005397f
[    0.000000][    T0] CPU: VIVT data cache, VIVT instruction cache
[    0.000000][    T0] OF: fdt: Machine model: NETGEAR MS2000 / MS2110 aka Stora
[    0.000000][    T0] printk: bootconsole [earlycon0] enabled
[    0.000000][    T0] Memory policy: Data cache writeback
[    0.000000][    T0] Zone ranges:
[    0.000000][    T0]   Normal   [mem 0x0000000000000000-0x0000000007ffffff]
[    0.000000][    T0] Movable zone start for each node
[    0.000000][    T0] Early memory node ranges
[    0.000000][    T0]   node   0: [mem 0x0000000000000000-0x0000000007ffffff]
[    0.000000][    T0] Initmem setup node 0 [mem 0x0000000000000000-0x0000000007ffffff]
[    0.000000][    T0] Built 1 zonelists, mobility grouping on.  Total pages: 32512
[    0.000000][    T0] Kernel command line: console=ttyS0,115200n8 earlyprintk
[    0.000000][    T0] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes, linear)
[    0.000000][    T0] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes, linear)
[    0.000000][    T0] mem auto-init: stack:off, heap alloc:on, heap free:off
[    0.000000][    T0] Memory: 110552K/131072K available (11264K kernel code, 1553K rwdata, 4272K rodata, 1024K init, 309K bss, 20520K reserved, 0K cma-reserved)
[    0.000000][    T0] random: get_random_u32 called from ____cache_alloc+0x408/0x7b4 with crng_init=0
[    0.000000][    T0] trace event string verifier disabled
[    0.000000][    T0] rcu: Preemptible hierarchical RCU implementation.
[    0.000000][    T0] 	Trampoline variant of Tasks RCU enabled.
[    0.000000][    T0] 	Tracing variant of Tasks RCU enabled.
[    0.000000][    T0] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies.
[    0.000000][    T0] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
[    0.000000][    T0] clocksource: orion_clocksource: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 9556302233 ns
[    0.000003][    T0] sched_clock: 32 bits at 200MHz, resolution 5ns, wraps every 10737418237ns
[    0.008623][    T0] Switching to timer-based delay loop, resolution 5ns
[    0.016333][    T0] Console: colour dummy device 80x30
[    0.021629][    T0] Calibrating delay loop (skipped), value calculated using timer frequency.. 400.00 BogoMIPS (lpj=2000000)
[    0.032988][    T0] pid_max: default: 32768 minimum: 301
[    0.038905][    T0] LSM: Security Framework initializing
[    0.044457][    T0] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.052594][    T0] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.062920][    T0] CPU: Testing write buffer coherency: ok
[    0.071607][    T1] Setting up static identity map for 0x100000 - 0x100058
[    0.078992][    T1] mvebu-soc-id: MVEBU SoC ID=0x6281, Rev=0x3
[    0.085254][    T1] rcu: Hierarchical SRCU implementation.
[    0.092593][    T1] devtmpfs: initialized
[    0.104167][    T1] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.114915][    T1] futex hash table entries: 256 (order: -1, 3072 bytes, linear)
[    0.167445][    T1] prandom32: self test passed (less than 6 bits correlated)
[    0.174695][    T1] prandom: seed boundary self test passed
[    0.185387][    T1] prandom: 100 self tests passed
[    0.190268][    T1] pinctrl core: initialized pinctrl subsystem
[    0.198229][    T1] NET: Registered protocol family 16
[    0.204429][    T1] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.213314][    T1] audit: initializing netlink subsys (disabled)
[    0.221279][    T1] thermal_sys: Registered thermal governor 'step_wise'
[    0.221741][   T16] audit: type=2000 audit(0.210:1): state=initialized audit_enabled=0 res=1
[    0.237187][    T1] cpuidle: using governor ladder
[    0.242199][    T1] cpuidle: using governor menu
[    0.247391][    T1] Feroceon L2: Enabling L2
[    0.251816][    T1] Feroceon L2: Cache support initialised.
[    0.269813][    T1] No ATAGs?
[    2.568631][    C0] random: fast init done
[    6.143153][   T39] "cryptomgr_test" (39) uses obsolete ecb(arc4) skcipher
[    6.182440][   T59] wait_for_initramfs() called before rootfs_initcalls
[    6.388725][    T1] raid6: int32x8  gen()    90 MB/s
[    6.558686][    T1] raid6: int32x8  xor()    57 MB/s
[    6.728731][    T1] raid6: int32x4  gen()    90 MB/s
[    6.898815][    T1] raid6: int32x4  xor()    59 MB/s
[    7.068662][    T1] raid6: int32x2  gen()   114 MB/s
[    7.238785][    T1] raid6: int32x2  xor()    70 MB/s
[    7.408818][    T1] raid6: int32x1  gen()    81 MB/s
[    7.578728][    T1] raid6: int32x1  xor()    50 MB/s
[    7.583729][    T1] raid6: using algorithm int32x2 gen() 114 MB/s
[    7.589880][    T1] raid6: .... xor() 70 MB/s, rmw enabled
[    7.595396][    T1] raid6: using intx1 recovery algorithm
[    7.601187][    T1] vgaarb: loaded
[    7.605287][    T1] SCSI subsystem initialized
[    7.610468][    T1] usbcore: registered new interface driver usbfs
[    7.616759][    T1] usbcore: registered new interface driver hub
[    7.622924][    T1] usbcore: registered new device driver usb
[    7.628993][    T1] pps_core: LinuxPPS API ver. 1 registered
[    7.634689][    T1] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    7.644621][    T1] PTP clock support registered
[    7.651512][    T1] clocksource: Switched to clocksource orion_clocksource
[    7.782362][    T1] VFS: Disk quotas dquot_6.6.0
[    7.787127][    T1] VFS: Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[    7.833366][    T1] NET: Registered protocol family 2
[    7.838647][    T1] IP idents hash table entries: 2048 (order: 2, 16384 bytes, linear)
[    7.862685][    T1] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 4096 bytes, linear)
[    7.881582][    T1] TCP established hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    7.890013][    T1] TCP bind hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    7.911574][    T1] TCP: Hash tables configured (established 1024 bind 1024)
[    7.918986][    T1] MPTCP token hash table entries: 512 (order: 0, 6144 bytes, linear)
[    7.941625][    T1] UDP hash table entries: 256 (order: 0, 4096 bytes, linear)
[    7.948929][    T1] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes, linear)
[    7.971842][    T1] NET: Registered protocol family 1
[    7.982276][    T1] RPC: Registered named UNIX socket transport module.
[    7.988939][    T1] RPC: Registered udp transport module.
[    8.011541][    T1] RPC: Registered tcp transport module.
[    8.016974][    T1] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    8.031542][    T1] PCI: CLS 0 bytes, default 32
[    8.042051][    T1] NetWinder Floating Point Emulator V0.97 (double precision)
[    9.728766][    T1] Initialise system trusted keyrings
[    9.734092][    T1] Key type blacklist registered
[    9.739140][    T1] workingset: timestamp_bits=30 max_order=15 bucket_order=0
[    9.746556][    T1] zbud: loaded
[    9.751739][    T1] NFS: Registering the id_resolver key type
[    9.757557][    T1] Key type id_resolver registered
[    9.762540][    T1] Key type id_legacy registered
[    9.767326][    T1] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[    9.774809][    T1] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
[    9.782972][    T1] Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
[    9.790406][    T1] jffs2: version 2.2. (NAND) (SUMMARY)  © 2001-2006 Red Hat, Inc.
[    9.798874][    T1] fuse: init (API version 7.34)
[    9.804171][    T1] orangefs_debugfs_init: called with debug mask: :none: :0:
[    9.811711][    T1] orangefs_init: module version upstream loaded
[    9.817847][    T1] SGI XFS with ACLs, security attributes, realtime, scrub, quota, no debug enabled
[    9.948915][    T1] xor: measuring software checksum speed
[    9.965232][    T1]    arm4regs        :   927 MB/sec
[    9.988083][    T1]    8regs           :   556 MB/sec
[   10.005424][    T1]    32regs          :   809 MB/sec
[   10.010514][    T1] xor: using function: arm4regs (927 MB/sec)
[   10.016450][    T1] async_tx: api initialized (async)
[   10.021602][    T1] Key type asymmetric registered
[   10.026429][    T1] Asymmetric key parser 'x509' registered
[   10.032138][    T1] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 246)
[   10.040352][    T1] io scheduler bfq registered
[   10.284648][    T1] kirkwood-pinctrl f1010000.pin-controller: registered pinctrl driver
[   10.295161][    T1] mvebu-pcie mbus@f1000000:pcie@82000000: host bridge /mbus@f1000000/pcie@82000000 ranges:
[   10.305182][    T1] mvebu-pcie mbus@f1000000:pcie@82000000:      MEM 0x00f1040000..0x00f1041fff -> 0x0000040000
[   10.315390][    T1] mvebu-pcie mbus@f1000000:pcie@82000000:      MEM 0xffffffffffffffff..0x00fffffffe -> 0x0100000000
[   10.326106][    T1] mvebu-pcie mbus@f1000000:pcie@82000000:       IO 0xffffffffffffffff..0x00fffffffe -> 0x0100000000
[   10.337186][    T1] mvebu-pcie mbus@f1000000:pcie@82000000: PCI host bridge to bus 0000:00
[   10.345544][    T1] pci_bus 0000:00: root bus resource [bus 00-ff]
[   10.351803][    T1] pci_bus 0000:00: root bus resource [mem 0xf1040000-0xf1041fff] (bus address [0x00040000-0x00041fff])
[   10.362759][    T1] pci_bus 0000:00: root bus resource [mem 0xe0000000-0xefffffff]
[   10.370382][    T1] pci_bus 0000:00: root bus resource [io  0x1000-0xeffff]
[   10.377555][    T1] pci 0000:00:01.0: [11ab:6281] type 01 class 0x060400
[   10.384360][    T1] pci 0000:00:01.0: reg 0x38: [mem 0x00000000-0x000007ff pref]
[   10.393416][    T1] PCI: bus0: Fast back to back transfers disabled
[   10.399748][    T1] pci 0000:00:01.0: bridge configuration invalid ([bus 00-00]), reconfiguring
[   10.409968][    T1] PCI: bus1: Fast back to back transfers enabled
[   10.416241][    T1] pci_bus 0000:01: busn_res: [bus 01-ff] end is updated to 01
[   10.423870][    T1] pci 0000:00:01.0: BAR 6: assigned [mem 0xe0000000-0xe00007ff pref]
[   10.431874][    T1] pci 0000:00:01.0: PCI bridge to [bus 01]
[   10.438370][    T1] mv_xor f1060800.xor: Marvell shared XOR driver
[   10.502878][    T1] mv_xor f1060800.xor: Marvell XOR (Registers Mode): ( xor cpy intr )
[   10.514205][    T1] mv_xor f1060900.xor: Marvell shared XOR driver
[   10.582891][    T1] mv_xor f1060900.xor: Marvell XOR (Registers Mode): ( xor cpy intr )
[   10.594559][    T1] Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled
[   10.603514][    T1] printk: console [ttyS0] disabled
[   10.608619][    T1] f1012000.serial: ttyS0 at MMIO 0xf1012000 (irq = 26, base_baud = 12500000) is a 16550A
[   10.618511][    T1] printk: console [ttyS0] enabled
[   10.618511][    T1] printk: console [ttyS0] enabled
[   10.628381][    T1] printk: bootconsole [earlycon0] disabled
[   10.628381][    T1] printk: bootconsole [earlycon0] disabled
[   10.650906][    T1] loop: module loaded
[   10.655885][    T1] sata_mv f1080000.sata: slots 32 ports 2
[   10.666330][    T1] scsi host0: sata_mv
[   10.671034][    T1] scsi host1: sata_mv
[   10.675309][    T1] ata1: SATA max UDMA/133 irq 33
[   10.680143][    T1] ata2: SATA max UDMA/133 irq 33
[   10.686269][    T1] nand: device found, Manufacturer ID: 0xec, Chip ID: 0xda
[   10.693415][    T1] nand: Samsung NAND 256MiB 3,3V 8-bit
[   10.698758][    T1] nand: 256 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB size: 64
[   10.707449][    T1] Scanning device for bad blocks
[   10.829030][    T1] Bad eraseblock 969 at 0x000007920000
[   10.834467][    T1] Bad eraseblock 970 at 0x000007940000
[   10.851919][    T1] Bad eraseblock 1071 at 0x0000085e0000
[   10.857421][    T1] Bad eraseblock 1072 at 0x000008600000
[   10.870026][    T1] Bad eraseblock 1132 at 0x000008d80000
[   10.985956][    T1] 3 fixed-partitions partitions found on MTD device orion_nand
[   10.993452][    T1] Creating 3 MTD partitions on "orion_nand":
[   10.999367][    T1] 0x000000000000-0x000000100000 : "u-boot"
[   11.007061][    T1] 0x000000100000-0x000000700000 : "uImage"
[   11.012856][   T94] ata1: SATA link down (SStatus 0 SControl F300)
[   11.021051][    T1] 0x000000700000-0x000010000000 : "root"
[   11.030747][    T1] wireguard: WireGuard 1.0.0 loaded. See www.wireguard.com for information.
[   11.039380][    T1] wireguard: Copyright (C) 2015-2019 Jason A. Donenfeld <Jason@zx2c4.com>. All Rights Reserved.
[   11.051246][    T1] libphy: Fixed MDIO Bus: probed
[   11.058002][    T1] libphy: orion_mdio_bus: probed
[   11.062890][    T1] [Firmware Warn]: /ocp@f1000000/mdio-bus@72004/ethernet-phy@8: Whitelisted compatible string. Please remove
[   11.076190][    T1] mv643xx_eth: MV-643xx 10/100/1000 ethernet driver version 1.4
[   11.353256][   T96] ata2: SATA link down (SStatus 0 SControl F300)
[   11.842743][    T1] mv643xx_eth_port mv643xx_eth_port.0 eth0: port 0 with MAC address 52:3b:20:9c:11:51
[   11.852443][    T1] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[   11.859750][    T1] ehci-pci: EHCI PCI platform driver
[   11.865026][    T1] ehci-orion: EHCI orion driver
[   11.870014][    T1] orion-ehci f1050000.ehci: EHCI Host Controller
[   11.876316][    T1] orion-ehci f1050000.ehci: new USB bus registered, assigned bus number 1
[   11.884976][    T1] orion-ehci f1050000.ehci: irq 30, io mem 0xf1050000
[   11.921560][    T1] orion-ehci f1050000.ehci: USB 2.0 started, EHCI 1.00
[   11.928690][    T1] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.13
[   11.937751][    T1] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[   11.945744][    T1] usb usb1: Product: EHCI Host Controller
[   11.951353][    T1] usb usb1: Manufacturer: Linux 5.13.6-kirkwood-tld-1 ehci_hcd
[   11.958815][    T1] usb usb1: SerialNumber: f1050000.ehci
[   11.965136][    T1] hub 1-0:1.0: USB hub found
[   11.969684][    T1] hub 1-0:1.0: 1 port detected
[   11.975366][    T1] usbcore: registered new interface driver usb-storage
[   11.982687][    T1] mousedev: PS/2 mouse device common for all mice
[   12.261555][   T17] usb 1-1: new high-speed USB device number 2 using orion-ehci
[   12.472985][   T17] usb 1-1: New USB device found, idVendor=152d, idProduct=0583, bcdDevice=12.14
[   12.481958][   T17] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[   12.489869][   T17] usb 1-1: Product: SABRENT
[   12.494286][   T17] usb 1-1: Manufacturer: JMicron
[   12.499109][   T17] usb 1-1: SerialNumber: 000000000000A
[   13.051553][    T1] rtc-mv f1010300.rtc: internal RTC not ticking
[   13.057909][    T1] i2c /dev entries driver
[   13.069753][    T1] rtc-pcf8563 0-0051: registered as rtc0
[   13.076597][    T1] rtc-pcf8563 0-0051: setting system clock to 2023-07-12T22:19:01 UTC (1689200341)
[   13.087926][    T1] device-mapper: uevent: version 1.0.3
[   13.093714][    T1] device-mapper: ioctl: 4.45.0-ioctl (2021-03-22) initialised: dm-devel@redhat.com
[   13.103541][    T1] device-mapper: multipath round-robin: version 1.2.0 loaded
[   13.110810][    T1] device-mapper: multipath queue-length: version 0.2.0 loaded
[   13.118242][    T1] device-mapper: multipath service-time: version 0.3.0 loaded
[   13.125716][    T1] device-mapper: dm-log-userspace: version 1.3.0 loaded
[   13.132716][    T1] device-mapper: raid: Loading target version 1.15.1
[   13.142164][    T1] hid: raw HID events driver (C) Jiri Kosina
[   13.148453][    T1] drop_monitor: Initializing network drop monitor service
[   13.156072][    T1] NET: Registered protocol family 10
[   13.163055][    T1] Segment Routing with IPv6
[   13.167453][    T1] RPL Segment Routing with IPv6
[   13.172406][    T1] NET: Registered protocol family 17
[   13.177860][    T1] Key type dns_resolver registered
[   13.183531][    T1] registered taskstats version 1
[   13.188387][    T1] Loading compiled-in X.509 certificates
[   13.194560][    T1] zswap: loaded using pool lzo/zbud
[   13.200095][    T1] Key type ._fscrypt registered
[   13.204941][    T1] Key type .fscrypt registered
[   13.209588][    T1] Key type fscrypt-provisioning registered
[   13.218036][    T1] Key type big_key registered
[   13.227655][    T1] Key type encrypted registered
[   13.237446][    T1] md: Waiting for all devices to be available before autodetect
[   13.245128][    T1] md: If you don't use raid, use raid=noautodetect
[   13.251620][    T1] md: Autodetecting RAID arrays.
[   13.256441][    T1] md: autorun ...
[   13.259945][    T1] md: ... autorun DONE.
[   13.264932][    T1] VFS: Cannot open root device "(null)" or unknown-block(0,0): error -6
[   13.273265][    T1] Please append a correct "root=" boot option; here are the available partitions:
[   13.282475][    T1] 1f00            1024 mtdblock0 
[   13.282489][    T1]  (driver?)
[   13.290463][    T1] 1f01            6144 mtdblock1 
[   13.290474][    T1]  (driver?)
[   13.298567][    T1] 1f02          254976 mtdblock2 
[   13.298581][    T1]  (driver?)
[   13.306617][    T1] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
[   13.315625][    T1] CPU: 0 PID: 1 Comm: swapper Not tainted 5.13.6-kirkwood-tld-1 #1.0
[   13.323591][    T1] Hardware name: Marvell Kirkwood (Flattened Device Tree)
[   13.330597][    T1] [<8010e0a4>] (unwind_backtrace) from [<8010a8ac>] (show_stack+0x10/0x14)
[   13.339116][    T1] [<8010a8ac>] (show_stack) from [<80afddf4>] (panic+0xfc/0x328)
[   13.346755][    T1] [<80afddf4>] (panic) from [<81101ad0>] (mount_block_root+0x1e0/0x26c)
[   13.354994][    T1] [<81101ad0>] (mount_block_root) from [<81101c4c>] (mount_root+0xf0/0x120)
[   13.363575][    T1] [<81101c4c>] (mount_root) from [<81101dc0>] (prepare_namespace+0x144/0x180)
[   13.372338][    T1] [<81101dc0>] (prepare_namespace) from [<811015e4>] (kernel_init_freeable+0x1d0/0x234)
[   13.381974][    T1] [<811015e4>] (kernel_init_freeable) from [<80b091cc>] (kernel_init+0x8/0x118)
[   13.390911][    T1] [<80b091cc>] (kernel_init) from [<80100148>] (ret_from_fork+0x14/0x2c)
[   13.399238][    T1] Exception stack(0x814a5fb0 to 0x814a5ff8)
[   13.405023][    T1] 5fa0:                                     00000000 00000000 00000000 00000000
[   13.413945][    T1] 5fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[   13.422865][    T1] 5fe0: 00000000 00000000 00000000 00000000 00000013 00000000
[   13.430228][    T1] ---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0) ]---
And here's a dump of my current printenv:
Hit any key to stop autoboot:  0 
Netgear Stora> printenv
arcNumber=2743
bootargs=console=ttyS0,115000 root=Label=rootfs rootdelay=10 mtdparts=orion_nand:1m(uboot),4m@1m(kernel),251m@5m(rootfs) rw
bootcmd=run bootcmd_uenv; run scan_disk; run set_bootargs; run bootcmd_exec; reset
bootcmd_exec=run load_uimage; if run load_initrd; then if run load_dtb; then bootm $load_uimage_addr $load_initrd_addr $load_dtb_addr; else bootm $load_uimage_addr $load_initrd_addr; fi; else if run load_dtb; then bootm $load_uimage_addr - $load_dtb_addr; else bootm $load_uimage_addr; fi; fi
bootcmd_uenv=run uenv_load; if test $uenv_loaded -eq 1; then run uenv_import; fi; sleep 10
bootdelay=10
bootdev=usb
device=0:1
devices=usb
disks=0 1 2 3
dtb_file=/boot/dts/kirkwood-netgear_stora_ms2000.dtb
ethact=egiga0
ethaddr=52:3b:20:9c:11:51
if_netconsole=ping $serverip
init_ide=ide reset
init_mmc=mmc rescan
init_usb=usb start
led_error=orange blinking
led_exit=green off
led_init=green blinking
load_dtb=echo loading DTB $dtb_file ...; load $bootdev $device $load_dtb_addr $dtb_file
load_dtb_addr=0x1c00000
load_initrd=echo loading uInitrd ...; load $bootdev $device $load_initrd_addr /boot/uInitrd
load_initrd_addr=0x1100000
load_uimage=echo loading uImage ...; load $bootdev $device $load_uimage_addr /boot/uImage
load_uimage_addr=0x800000
mainlineLinux=yes
mtdids=nand0=orion_nand
mtdparts=mtdparts=orion_nand:1m(uboot),4m@1m(kernel),251m@5m(rootfs) rw
nc_ready=0
partition=nand0,2
scan_disk=echo running scan_disk ...; scan_done=0; setenv scan_usb "usb start";  setenv scan_ide "ide reset";  setenv scan_mmc "mmc rescan"; for dev in $devices; do if test $scan_done -eq 0; then echo Scan device $dev; run scan_$dev; for disknum in $disks; do if test $scan_done -eq 0; then echo device $dev $disknum:1; if load $dev $disknum:1 $load_uimage_addr /boot/uImage 1; then scan_done=1; echo Found bootable drive on $dev $disknum; setenv device $disknum:1; setenv bootdev $dev; fi; fi; done; fi; done
scan_ide=ide reset
scan_mmc=mmc rescan
scan_usb=usb start
set_bootargs=setenv bootargs console=ttyS0,115200 root=/dev/sda1 rootdelay=10 mtdparts=orion_nand:1m(uboot),4m@1m(kernel),251m@5m(rootfs) rw
start_netconsole=setenv ncip $serverip; setenv bootdelay 10; setenv stdin nc; setenv stdout nc; setenv stderr nc; version;
stderr=serial
stdin=serial
stdout=serial
uenv_addr=0x810000
uenv_import=echo importing envs ...; env import -t $uenv_addr $filesize
uenv_init_devices=setenv init_usb "usb start";  setenv init_ide "ide reset";  setenv init_mmc "mmc rescan"; for devtype in $devices; do run init_$devtype; done;
uenv_load=run uenv_init_devices; setenv uenv_loaded 0; for devtype in $devices;  do for disknum in 0; do run uenv_read_disk; done; done;
uenv_loaded=0
uenv_read=echo loading envs from $devtype $disknum ...; if load $devtype $disknum:1 $uenv_addr /boot/uEnv.txt; then setenv uenv_loaded 1; fi
uenv_read_disk=if test $devtype -eq mmc; then if $devtype part; then run uenv_read;  fi; else if $devtype part $disknum; then run uenv_read; fi;  fi
usb_ready_retry=15

Environment size: 3101/131068 bytes
Netgear Stora>
I have made a few small changes trying to diagnose the problem. Here is what I believe my original (and then functional) printenv dump was before I did the flash.

arcNumber=2743
baudrate=115200
bootcmd=run bootcmd_uenv; run scan_disk; run set_bootargs; run bootcmd_exec; reset
bootcmd_exec=run load_uimage; if run load_initrd; then if run load_dtb; then bootm $load_uimage_addr $load_initrd_addr $load_dtb_addr; else bootm $load_uimage_addr $load_initrd_addr; fi; else if run load_dtb; then bootm $load_uimage_addr - $load_dtb_addr; else bootm$load_uimage_addr; fi; fi
bootcmd_uenv=run uenv_load; if test $uenv_loaded -eq 1; then run uenv_import; fi 
bootdelay=10
bootdev=usb
console=console=ttyS0,115200
device=0:1
devices=usb ide
disks=0 1 2 3
dtb_file=/boot/dts/kirkwood-netgear_stora_ms2000.dtb
ethact=egiga0
ethaddr=52:3b:20:9c:11:51
if_netconsole=ping $serverip
ipaddr=192.168.0.231
led_error=orange blinking
led_exit=green off
led_init=green blinking
load_dtb=echo loading DTB $dtb_file ...; load $bootdev $device $load_dtb_addr $dtb_file
load_dtb_addr=0x1c00000
load_initrd=echo loading uInitrd ...; load $bootdev $device $load_initrd_addr /boot/uInitrd
load_initrd_addr=0x1100000
load_uimage=echo loading uImage ...; load $bootdev $device $load_uimage_addr /boot/uImage
load_uimage_addr=0x800000
mainlineLinux=yes
mtdids=nand0=orion_nand
mtdparts=mtdparts=orion_nand:1m(uboot),4m@1m(kernel),251m@5m(rootfs) rw
partition=nand0,2
preboot_nc=run if_netconsole start_netconsole
scan_disk=echo running scan_disk ...; scan_done=0; setenv scan_usb "usb start";  setenv scan_ide "ide reset";  setenv scan_mmc "mmc rescan"; for dev in $devices; do if test $scan_done -eq 0; then echo Scan device $dev; run scan_$dev; for disknum in $disks; do if test $scan_done -eq 0; then echo device $dev $disknum:1; if load $dev $disknum:1 $load_uimage_addr /boot/uImage 1; then scan_done=1; echo Found bootable drive on $dev $disknum; setenv device $disknum:1; setenv bootdev $dev; fi; fi; done; fi; done
serverip=192.168.0.220
set_bootargs=setenv bootargs console=ttyS0,115200 root=LABEL=rootfs rootdelay=10 $mtdparts $custom_params
start_netconsole=setenv ncip $serverip; setenv bootdelay 10; setenv stdin nc; setenv stdout nc; setenv stderr nc; version;
stderr=serial
stdin=serial
stdout=serial
uenv_addr=0x810000
uenv_import=echo importing envs ...; env import -t $uenv_addr $filesize
uenv_init_devices=setenv init_usb "usb start";  setenv init_ide "ide reset";  setenv init_mmc "mmc rescan"; for devtype in $devices; do run init_$devtype; done;
uenv_load=run uenv_init_devices; setenv uenv_loaded 0; for devtype in $devices;  do for disknum in 0; do run uenv_read_disk; done; done;
uenv_read=echo loading envs from $devtype $disknum ...; if load $devtype $disknum:1 $uenv_addr /boot/uEnv.txt; then setenv uenv_loaded 1; fi
uenv_read_disk=if test $devtype -eq mmc; then if $devtype part; then run uenv_read;  fi; else if $devtype part $disknum; then run uenv_read; fi;  fi
usb_ready_retry=15
I'm assuming some difference between them is causing the problem, but I can't find it yet.

Thanks for your help and all your hard work on this. I've been beating myself against the wall for over four days (not mainly on this problem, mostly with the fact that I haven't been able to get a single USB flash drive, of like 7, to work reliably).

-Scott



Edited 1 time(s). Last edit at 07/12/2023 05:35PM by thebitmaster.
I figured it out (FINALLY!)
The fact that I still had the extras for the original, stock U-Boot was preventing the kernel from correctly loading the envs from either the new bootloader or uEnv.txt. I re-did the install without the extra steps, and it booted on the first try.

So the moral of the story is, if you do your first kernel install with the stock bootloader, then use that install to upgrade to the more recent U-Boot, you either have to go back and un-do those extra steps for the old bootloader or re-install from scratch without them.

-Scott
Re: Debian hangs on VFS can't find root on after flashing new U-boot onStora
July 13, 2023 09:25AM
Scott,

Yes. The installation is for new u-boot and Debian at the same time.

https://forum.doozan.com/read.php?2,12096

Quote


4a. Boot with DTB file (standard way to boot FDT kernel). Recommended.

4b. Boot with DTB file embedded in the kernel image.Again, this step 4b is for stock U-Boot only.

So when you install Debian with stock u-boot, and then later install new u-boot, you need to simple reverse Step 4b in the rootfs. No need to reinstall the whole thing.

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Thanks Bodhi!

Since many people go the route I did of installing Debian with the stock U-boot and then using that to flash the new U-Boot, might it make sense to put a little note about the reversal somewhere? Everything else on the site has been really well document. But I was driving myself crazy trying to figure out why the envs I was changing in the flash and uEnv.txt weren't getting through to the kernel boot process.

-Scott
Re: Debian hangs on VFS can't find root on after flashing new U-boot onStora
July 13, 2023 10:32PM
Hi Scott,

Quote

many people go the route I did of installing Debian with the stock U-boot and then using that to flash the new U-Boot ..... note about the reversal

Yes indeed. I'll add that note.

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Thanks Bodhi!
Author:

Your Email:


Subject:


Spam prevention:
Please, enter the code that you see below in the input field. This is for blocking bots that try to post this form automatically. If the code is hard to read, then just try to guess it right. If you enter the wrong code, a new image is created and you get another chance to enter it right.
Message: