Bootargs received by a uImage but not by a FIT
Richard Thanki
richardthanki at gmail.com
Mon Dec 6 19:47:54 CET 2021
Hi all, I’m reaching out on this list as my problem spans U-Boot and Openwrt. In essence the very same kernel (5.4 and 5.10 - built using latest Openwrt), packaged in a FIT, is not receiving bootlogs from latest U-Boot and it’s also not being informed of the presence of the location and existence of an external initramfs. I suspect the issue is with my packaging, or Openwrt, but I wondered if there were any subtleties of how bootargs might be being passed differently between both types of image container? Why might this happen from a U-Boot perspective?
Rich
PS. The details of my issue are set out below in my post to the OpenWrt forum.
I'm seeing a very odd difference between a single build, deployed on an ath79 device in two different ways. In short, when deployed as an OpenWrt built sysupgrade-squashfs the kernel picks up the command line arguments provided by the bootloader. However, when packaged as a FIT image the kernel does not pick up the bootargs. I think this is why my FIT packed kernel image cannot find the packaged external initramfs.
My device is a very standard ath79 qca9531 board from ZBT - works great on mainline OpenWrt + mainline U-Boot with minimal DTS. I've tried adding my target to both ath79-generic and ath79-tiny targets and the results are the same. It's also the same with kernel 5.4 and 5.10. In each case I'm using mainline U-Boot (which with a few changes works well on QCA9531!).
## Steps I've taken
The main patches I've made to OpenWrt are all configuration:
enabling lzma for the external initramfs:
```
diff --git a/target/linux/ath79/config-5.4 b/target/linux/ath79/config-5.4
index 60f57692e2..8d521e4193 100644
--- a/target/linux/ath79/config-5.4
+++ b/target/linux/ath79/config-5.4
@@ -52,6 +52,7 @@ CONFIG_CPU_SUPPORTS_HIGHMEM=y
CONFIG_CPU_SUPPORTS_MSA=y
CONFIG_CRYPTO_RNG2=y
CONFIG_CSRC_R4K=y
+CONFIG_DECOMPRESS_LZMA=y
CONFIG_DMA_NONCOHERENT=y
CONFIG_DMA_NONCOHERENT_CACHE_SYNC=y
CONFIG_DTC=y
@@ -211,6 +212,7 @@ CONFIG_PHYLIB=y
# CONFIG_PHY_ATH79_USB is not set
CONFIG_PINCTRL=y
CONFIG_RATIONAL=y
+CONFIG_RD_LZMA=y
CONFIG_REGMAP=y
CONFIG_REGMAP_MMIO=y
CONFIG_RESET_ATH79=y
--
2.24.3 (Apple Git-128)
```
enabling mips kernel to extend the dtb bootargs with those from the bootloader:
```
diff --git a/target/linux/ath79/config-5.4 b/target/linux/ath79/config-5.4
index 8d521e4193..4898190a02 100644
--- a/target/linux/ath79/config-5.4
+++ b/target/linux/ath79/config-5.4
@@ -158,9 +158,9 @@ CONFIG_MIPS_ASID_BITS=8
CONFIG_MIPS_ASID_SHIFT=0
CONFIG_MIPS_CLOCK_VSYSCALL=y
# CONFIG_MIPS_CMDLINE_BUILTIN_EXTEND is not set
-# CONFIG_MIPS_CMDLINE_DTB_EXTEND is not set
+CONFIG_MIPS_CMDLINE_DTB_EXTEND=y
# CONFIG_MIPS_CMDLINE_FROM_BOOTLOADER is not set
-CONFIG_MIPS_CMDLINE_FROM_DTB=y
+# CONFIG_MIPS_CMDLINE_FROM_DTB is not set
# CONFIG_MIPS_ELF_APPENDED_DTB is not set
CONFIG_MIPS_L1_CACHE_SHIFT=5
# CONFIG_MIPS_NO_APPENDED_DTB is not set
--
2.24.3 (Apple Git-128)
```
I've even tried backporting this patch http://lkml.iu.edu/hypermail/linux/kernel/2003.2/01736.html to 5.4 and made no difference: the squashfs image picked up the args no problem (even when launched from $loadaddr/0x8100000) and the FIT packaging which doesn't
Here's my u-boot environment:
```
Environment size: 342/8187 bytes
baudrate=115200
bootargs=foo=bar
bootcmd=sf probe;mtdparts default;bootm 0x9f050000
bootcount=1
bootdelay=3
bootlimit=3
fdtcontroladdr=87f6caa0
ipaddr=192.168.0.234
loadaddr=0x81000000
serverip=192.168.0.6
stderr=uart at 18020000
stdin=uart at 18020000
stdout=uart at 18020000
```
Here's the bootlog from the squashfs image which picks up the bootargs (ignore the error at the end, image was running from memory):
```
getbox # bootm 0x81000000
## Booting kernel from Legacy Image at 81000000 ...
Image Name: MIPS OpenWrt Linux-5.4.158
Image Type: MIPS Linux Kernel Image (lzma compressed)
Data Size: 1538183 Bytes = 1.5 MiB
Load Address: 80060000
Entry Point: 80060000
Verifying Checksum ... OK
Uncompressing Kernel Image
[ 0.000000] Linux version 5.4.158 (vscode at d0b09531f99b) (gcc version 8.4.0 (OpenWrt GCC 8.4.0 r0+16397-266890bb12)) #0 Fri Dec 3 10:13:01 2021
[ 0.000000] printk: bootconsole [early0] enabled
[ 0.000000] CPU0 revision is: 00019374 (MIPS 24Kc)
[ 0.000000] MIPS: machine is Jangala Get Box (Tiny)
[ 0.000000] SoC: Qualcomm Atheros QCA9533 ver 2 rev 0
[ 0.000000] Initrd not found or empty - disabling initrd
[ 0.000000] Primary instruction cache 64kB, VIPT, 4-way, linesize 32 bytes.
[ 0.000000] Primary data cache 32kB, 4-way, VIPT, cache aliases, linesize 32 bytes
[ 0.000000] Zone ranges:
[ 0.000000] Normal [mem 0x0000000000000000-0x0000000007ffffff]
[ 0.000000] Movable zone start for each node
[ 0.000000] Early memory node ranges
[ 0.000000] node 0: [mem 0x0000000000000000-0x0000000007ffffff]
[ 0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x0000000007ffffff]
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 32512
[ 0.000000] Kernel command line: console=ttyS0,115200n8, foo=bar rootfstype=squashfs,jffs2
[ 0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes, linear)
[ 0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes, linear)
[ 0.000000] Writing ErrCtl register=0003e1f4
[ 0.000000] Readback ErrCtl register=0003e1f4
[ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[ 0.000000] Memory: 123932K/131072K available (3857K kernel code, 136K rwdata, 576K rodata, 1184K init, 186K bss, 7140K reserved, 0K cma-reserved)
[ 0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[ 0.000000] NR_IRQS: 51
[ 0.000000] random: get_random_bytes called from 0x804d8a3c with crng_init=0
[ 0.000000] CPU clock: 660.937 MHz
[ 0.000000] clocksource: MIPS: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 5783483148 ns
[ 0.000010] sched_clock: 32 bits at 330MHz, resolution 3ns, wraps every 6498295806ns
[ 0.008969] Calibrating delay loop... 438.78 BogoMIPS (lpj=877568)
[ 0.047945] pid_max: default: 32768 minimum: 301
[ 0.053352] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[ 0.061766] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[ 0.075468] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[ 0.086627] futex hash table entries: 256 (order: -1, 3072 bytes, linear)
[ 0.094441] pinctrl core: initialized pinctrl subsystem
[ 0.101873] NET: Registered protocol family 16
[ 0.140688] workqueue: max_active 576 requested for napi_workq is out of range, clamping between 1 and 512
[ 0.156374] clocksource: Switched to clocksource MIPS
[ 0.163650] NET: Registered protocol family 2
[ 0.168941] IP idents hash table entries: 2048 (order: 2, 16384 bytes, linear)
[ 0.178064] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 4096 bytes, linear)
[ 0.187618] TCP established hash table entries: 1024 (order: 0, 4096 bytes, linear)
[ 0.196420] TCP bind hash table entries: 1024 (order: 0, 4096 bytes, linear)
[ 0.204387] TCP: Hash tables configured (established 1024 bind 1024)
[ 0.211926] UDP hash table entries: 256 (order: 0, 4096 bytes, linear)
[ 0.219388] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes, linear)
[ 0.227769] NET: Registered protocol family 1
[ 0.232853] PCI: CLS 0 bytes, default 32
[ 0.242929] workingset: timestamp_bits=30 max_order=15 bucket_order=0
[ 0.257879] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[ 0.264612] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[ 0.293902] pinctrl-single 1804002c.pinmux: 576 pins, size 72
[ 0.301879] Serial: 8250/16550 driver, 1 ports, IRQ sharing disabled
[ 0.310236] printk: console [ttyS0] disabled
[ 0.315191] 18020000.uart: ttyS0 at MMIO 0x18020000 (irq = 9, base_baud = 1562500) is a 16550A
[ 0.325127] printk: console [ttyS0] enabled
[ 0.325127] printk: console [ttyS0] enabled
[ 0.334129] printk: bootconsole [early0] disabled
[ 0.334129] printk: bootconsole [early0] disabled
[ 0.363863] spi-nor spi0.0: w25q128 (16384 Kbytes)
[ 0.368872] 6 fixed-partitions partitions found on MTD device spi0.0
[ 0.375449] Creating 6 MTD partitions on "spi0.0":
[ 0.380494] 0x000000000000-0x000000058000 : "u-boot"
[ 0.386916] 0x000000058000-0x00000005a000 : "u-boot-env-a"
[ 0.393892] 0x00000005a000-0x00000005c000 : "u-boot-env-b"
[ 0.401089] 0x00000005c000-0x000000f70000 : "firmware"
[ 0.561029] 0x000000f70000-0x000000ff0000 : "data"
[ 0.567392] 0x000000ff0000-0x000001000000 : "art"
[ 0.574781] libphy: Fixed MDIO Bus: probed
[ 0.901494] ag71xx 19000000.eth: Could not connect to PHY device. Deferring probe.
[ 1.152370] random: fast init done
[ 1.540856] libphy: ag71xx_mdio: probed
[ 1.546569] libphy: ar8xxx-mdio: probed
[ 1.560510] switch0: Atheros AR8229 rev. 1 switch registered on mdio.0
[ 1.608508] ag71xx 1a000000.eth: connected to PHY at fixed-0:00 [uid=00000000, driver=Generic PHY]
[ 1.618740] eth0: Atheros AG71xx at 0xba000000, irq 5, mode: gmii
[ 1.625644] ath79-wdt 18060008.wdt: unable to register misc device, err=-16
[ 1.632917] ath79-wdt: probe of 18060008.wdt failed with error -16
[ 1.642629] NET: Registered protocol family 10
[ 1.654503] Segment Routing with IPv6
[ 1.658589] NET: Registered protocol family 17
[ 1.663658] 8021q: 802.1Q VLAN Support v1.8
[ 1.669437] PCI host bridge /ahb/pcie-controller at 180c0000 ranges:
[ 1.675943] MEM 0x0000000010000000..0x0000000013ffffff
[ 1.681362] IO 0x0000000000000000..0x0000000000000000
[ 1.786512] ar724x-pci 180c0000.pcie-controller: PCIe link is down
[ 1.793201] PCI host bridge to bus 0000:00
[ 1.797445] pci_bus 0000:00: root bus resource [mem 0x10000000-0x13ffffff]
[ 1.804597] pci_bus 0000:00: root bus resource [io 0x0000]
[ 1.810426] pci_bus 0000:00: root bus resource [??? 0x00000000 flags 0x0]
[ 1.817387] pci_bus 0000:00: No busn resource found for root bus, will use [bus 00-ff]
[ 1.826685] pci_bus 0000:00: busn_res: [bus 00-ff] end is updated to 00
[ 2.150544] ag71xx 19000000.eth: connected to PHY at mdio.0:1f:04 [uid=004dd042, driver=Generic PHY]
[ 2.161280] eth1: Atheros AG71xx at 0xb9000000, irq 4, mode: mii
[ 2.170278] /dev/root: Can't open blockdev
[ 2.174591] VFS: Cannot open root device "(null)" or unknown-block(0,0): error -6
[ 2.182408] Please append a correct "root=" boot option; here are the available partitions:
[ 2.191029] 1f00 352 mtdblock0
[ 2.191033] (driver?)
[ 2.197810] 1f01 8 mtdblock1
[ 2.197813] (driver?)
[ 2.204667] 1f02 8 mtdblock2
[ 2.204670] (driver?)
[ 2.211365] 1f03 15440 mtdblock3
[ 2.211367] (driver?)
[ 2.218187] 1f04 512 mtdblock4
[ 2.218190] (driver?)
[ 2.225007] 1f05 64 mtdblock5
[ 2.225010] (driver?)
[ 2.231711] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
[ 2.240341] Rebooting in 1 seconds..
```
Here's the full log from the FIT image, note that the bootargs variable `foo=bar` isn't reflected in the kernel as it is above:
```
getbox # bootm $loadaddr
## Loading kernel from FIT Image at 81000000 ...
Using 'base' configuration
Verifying Hash Integrity ... sha384,rsa4096:fit+ OK
Trying 'kernel' kernel subimage
Description: Linux Kernel
Type: Kernel Image
Compression: lzma compressed
Data Start: 0x810000d0
Data Size: 1538370 Bytes = 1.5 MiB
Architecture: MIPS
OS: Linux
Load Address: 0x80060000
Entry Point: 0x80060000
Hash algo: sha384
Hash value: 19e9[...]6ee34
Verifying Hash Integrity ... sha384+ OK
## Loading ramdisk from FIT Image at 81000000 ...
Using 'base' configuration
Verifying Hash Integrity ... sha384,rsa4096:fit+ OK
Trying 'ramdisk' ramdisk subimage
Description: RAMdisk
Type: RAMDisk Image
Compression: uncompressed
Data Start: 0x81177b14
Data Size: 6315702 Bytes = 6 MiB
Architecture: MIPS
OS: Linux
Load Address: unavailable
Entry Point: unavailable
Hash algo: sha384
Hash value: 9621df[...]67af4dd
Verifying Hash Integrity ... sha384+ OK
## Loading fdt from FIT Image at 81000000 ...
Using 'base' configuration
Verifying Hash Integrity ... sha384,rsa4096:fit+ OK
Trying 'fdt' fdt subimage
Description: Flattened Device Tree blob
Type: Flat Device Tree
Compression: lzma compressed
Data Start: 0x8177dabc
Data Size: 2166 Bytes = 2.1 KiB
Architecture: MIPS
Load Address: 0x80f00000
Hash algo: sha384
Hash value: c35[...]9272af
Verifying Hash Integrity ... sha384+ OK
Loading fdt from 0x8177dabc to 0x80f00000
Uncompressing Flat Device Tree
Booting using the fdt blob at 0x80f00000
Uncompressing Kernel Image
Loading Ramdisk to 87964000, end 87f69eb6 ... OK
[ 0.000000] Linux version 5.4.158 (vscode at d0b09531f99b) (gcc version 8.4.0 (OpenWrt GCC 8.4.0 r0+16397-266890bb12)) #0 Fri Dec 3 10:13:01 2021
[ 0.000000] printk: bootconsole [early0] enabled
[ 0.000000] CPU0 revision is: 00019374 (MIPS 24Kc)
[ 0.000000] MIPS: machine is Jangala Get Box (Tiny)
[ 0.000000] SoC: Qualcomm Atheros QCA9533 ver 2 rev 0
[ 0.000000] Initrd not found or empty - disabling initrd
[ 0.000000] Primary instruction cache 64kB, VIPT, 4-way, linesize 32 bytes.
[ 0.000000] Primary data cache 32kB, 4-way, VIPT, cache aliases, linesize 32 bytes
[ 0.000000] Zone ranges:
[ 0.000000] Normal [mem 0x0000000000000000-0x0000000007ffffff]
[ 0.000000] Movable zone start for each node
[ 0.000000] Early memory node ranges
[ 0.000000] node 0: [mem 0x0000000000000000-0x0000000007ffffff]
[ 0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x0000000007ffffff]
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 32512
[ 0.000000] Kernel command line: console=ttyS0,115200n8 rootfstype=squashfs,jffs2
[ 0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes, linear)
[ 0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes, linear)
[ 0.000000] Writing ErrCtl register=0003a1f4
[ 0.000000] Readback ErrCtl register=0003a1f4
[ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[ 0.000000] Memory: 123932K/131072K available (3857K kernel code, 136K rwdata, 576K rodata, 1184K init, 186K bss, 7140K reserved, 0K cma-reserved)
[ 0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[ 0.000000] NR_IRQS: 51
[ 0.000000] random: get_random_bytes called from 0x804d8a3c with crng_init=0
[ 0.000000] CPU clock: 656.250 MHz
[ 0.000000] clocksource: MIPS: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 5824793742 ns
[ 0.000010] sched_clock: 32 bits at 328MHz, resolution 3ns, wraps every 6544711678ns
[ 0.009059] Calibrating delay loop... 436.22 BogoMIPS (lpj=872448)
[ 0.048172] pid_max: default: 32768 minimum: 301
[ 0.053603] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[ 0.062053] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[ 0.075864] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[ 0.087157] futex hash table entries: 256 (order: -1, 3072 bytes, linear)
[ 0.094976] pinctrl core: initialized pinctrl subsystem
[ 0.102485] NET: Registered protocol family 16
[ 0.141550] workqueue: max_active 576 requested for napi_workq is out of range, clamping between 1 and 512
[ 0.157252] clocksource: Switched to clocksource MIPS
[ 0.164619] NET: Registered protocol family 2
[ 0.169903] IP idents hash table entries: 2048 (order: 2, 16384 bytes, linear)
[ 0.179116] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 4096 bytes, linear)
[ 0.188716] TCP established hash table entries: 1024 (order: 0, 4096 bytes, linear)
[ 0.197604] TCP bind hash table entries: 1024 (order: 0, 4096 bytes, linear)
[ 0.205622] TCP: Hash tables configured (established 1024 bind 1024)
[ 0.213192] UDP hash table entries: 256 (order: 0, 4096 bytes, linear)
[ 0.220759] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes, linear)
[ 0.229130] NET: Registered protocol family 1
[ 0.234290] PCI: CLS 0 bytes, default 32
[ 0.244384] workingset: timestamp_bits=30 max_order=15 bucket_order=0
[ 0.259475] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[ 0.266209] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[ 0.295772] pinctrl-single 1804002c.pinmux: 576 pins, size 72
[ 0.303785] Serial: 8250/16550 driver, 1 ports, IRQ sharing disabled
[ 0.312240] printk: console [ttyS0] disabled
[ 0.317232] 18020000.uart: ttyS0 at MMIO 0x18020000 (irq = 9, base_baud = 1562500) is a 16550A
[ 0.327212] printk: console [ttyS0] enabled
[ 0.327212] printk: console [ttyS0] enabled
[ 0.336314] printk: bootconsole [early0] disabled
[ 0.336314] printk: bootconsole [early0] disabled
[ 0.365451] spi-nor spi0.0: w25q128 (16384 Kbytes)
[ 0.370557] 6 fixed-partitions partitions found on MTD device spi0.0
[ 0.377121] Creating 6 MTD partitions on "spi0.0":
[ 0.382191] 0x000000000000-0x000000058000 : "u-boot"
[ 0.388723] 0x000000058000-0x00000005a000 : "u-boot-env-a"
[ 0.395725] 0x00000005a000-0x00000005c000 : "u-boot-env-b"
[ 0.402860] 0x00000005c000-0x000000f70000 : "firmware"
[ 0.564110] 0x000000f70000-0x000000ff0000 : "data"
[ 0.570490] 0x000000ff0000-0x000001000000 : "art"
[ 0.578088] libphy: Fixed MDIO Bus: probed
[ 0.902372] ag71xx 19000000.eth: Could not connect to PHY device. Deferring probe.
[ 1.149248] random: fast init done
[ 1.541733] libphy: ag71xx_mdio: probed
[ 1.547374] libphy: ar8xxx-mdio: probed
[ 1.561500] switch0: Atheros AR8229 rev. 1 switch registered on mdio.0
[ 1.609424] ag71xx 1a000000.eth: connected to PHY at fixed-0:00 [uid=00000000, driver=Generic PHY]
[ 1.619754] eth0: Atheros AG71xx at 0xba000000, irq 5, mode: gmii
[ 1.626650] ath79-wdt 18060008.wdt: unable to register misc device, err=-16
[ 1.634103] ath79-wdt: probe of 18060008.wdt failed with error -16
[ 1.643735] NET: Registered protocol family 10
[ 1.655790] Segment Routing with IPv6
[ 1.659809] NET: Registered protocol family 17
[ 1.664920] 8021q: 802.1Q VLAN Support v1.8
[ 1.670765] PCI host bridge /ahb/pcie-controller at 180c0000 ranges:
[ 1.677224] MEM 0x0000000010000000..0x0000000013ffffff
[ 1.682638] IO 0x0000000000000000..0x0000000000000000
[ 1.788077] ar724x-pci 180c0000.pcie-controller: PCIe link is down
[ 1.794718] PCI host bridge to bus 0000:00
[ 1.799069] pci_bus 0000:00: root bus resource [mem 0x10000000-0x13ffffff]
[ 1.806319] pci_bus 0000:00: root bus resource [io 0x0000]
[ 1.812075] pci_bus 0000:00: root bus resource [??? 0x00000000 flags 0x0]
[ 1.819179] pci_bus 0000:00: No busn resource found for root bus, will use [bus 00-ff]
[ 1.828511] pci_bus 0000:00: busn_res: [bus 00-ff] end is updated to 00
[ 2.155422] ag71xx 19000000.eth: connected to PHY at mdio.0:1f:04 [uid=004dd042, driver=Generic PHY]
[ 2.166336] eth1: Atheros AG71xx at 0xb9000000, irq 4, mode: mii
[ 2.175257] /dev/root: Can't open blockdev
[ 2.179688] VFS: Cannot open root device "(null)" or unknown-block(0,0): error -6
[ 2.187516] Please append a correct "root=" boot option; here are the available partitions:
[ 2.196198] 1f00 352 mtdblock0
[ 2.196202] (driver?)
[ 2.203117] 1f01 8 mtdblock1
[ 2.203119] (driver?)
[ 2.209879] 1f02 8 mtdblock2
[ 2.209882] (driver?)
[ 2.216733] 1f03 15440 mtdblock3
[ 2.216736] (driver?)
[ 2.223610] 1f04 512 mtdblock4
[ 2.223613] (driver?)
[ 2.230370] 1f05 64 mtdblock5
[ 2.230372] (driver?)
[ 2.237266] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
[ 2.245850] Rebooting in 1 seconds..
```
my its file is:
```
/dts-v1/;
/ {
description = "U-Boot fitImage for Jangala Get Box";
#address-cells = <2>;
images {
kernel {
description = "Linux Kernel";
data = /incbin/("getbox-v1-kernel.bin");
type = "kernel";
arch = "mips";
os = "linux";
compression = "lzma";
load = <0x80060000>;
entry = <0x80060000>;
hash-1 {
algo = "sha384";
};
};
ramdisk {
description = "RAMdisk";
data = /incbin/("getbox-v1-initramfs.cpio.lzma");
type = "ramdisk";
arch = "mips";
os = "linux";
compression = "none";
hash-1 {
algo = "sha384";
};
};
fdt {
description = "Flattened Device Tree blob";
data = /incbin/("getbox-v1-dtb.bin.lzma");
type = "flat_dt";
arch = "mips";
compression = "lzma";
load = <0x80f00000>;
hash-1 {
algo = "sha384";
};
};
};
configurations {
default = "base";
base {
description = "Boot Linux kernel with initramfs, fdt";
kernel = "kernel";
ramdisk = "ramdisk";
fdt = "fdt";
signature-1 {
algo = "sha384,rsa4096";
key-name-hint = "fit";
sign-images = "kernel", "fdt", "ramdisk";
};
};
};
};
```
At first I thought this was related to the measures OpenWrt takes to cope with malformed bootloaders but the DTB_EXTEND kernel option works when packaged as squashfs but not when as a ft image. I'm really stuck and would appreciate some hints!
More information about the U-Boot
mailing list