Forums

Skip to content

Advanced search
  • Quick links
    • Unanswered topics
    • Active topics
    • Search
  • FAQ
  • Login
  • Register
  • Board index Architectures & Platforms Gentoo on ARM
  • Search

Radxa Rock 5 ITX (RK3588) restarts during boot.

Gentoo on all things ARM. Both 32 bit and 64 bit.
Tell about your hardware and CHOST.
Problems with crossdev targeting ARM hardware go here too.
Post Reply
  • Print view
Advanced search
13 posts • Page 1 of 1
Author
Message
lekto
Apprentice
Apprentice
Posts: 231
Joined: Sat Sep 20, 2014 6:48 pm
Location: Ancient Rome

Radxa Rock 5 ITX (RK3588) restarts during boot.

  • Quote

Post by lekto » Sat Jan 17, 2026 4:39 pm

Hi, I have a Radxa Rock 5 ITX and I want to use it as a NAS. I've installed U-Boot, Grub and kernel on SD Card and rootfs on ZFS on SSDs, but when I try to boot it restarts after few seconds.

This is how I built the U-Boot:

Code: Select all

cd /usr/src

git clone https://github.com/u-boot/u-boot/ -b v2026.01 –depth=1
git clone https://github.com/rockchip-linux/rkbin –depth=1
git clone https://github.com/ARM-software/arm-trusted-firmware.git --depth=1

make -j8 -C arm-trusted-firmware CROSS_COMPILE=aarch64-none-elf- PLAT=rk3588
make -j8 -C u-boot rock-5-itx-rk3588_defconfig
make -j8 -C u-boot ROCKCHIP_TPL=/usr/src/rkbin/bin/rk35/rk3588_ddr_lp4_2112MHz_lp5_2400MHz_v1.19.bin BL31=/usr/src/arm-trusted-firmware/build/rk3588/release/bl31/bl31.elf
This is parition layout on the SD Card, partitions names are set to name of U-Boot files:

Code: Select all

Model: Generic STORAGE DEVICE (scsi)
Disk /dev/sdd: 121241600s
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start     End       Size      File system  Name           Flags
 1      64s       7167s     7104s                  idbloader.img
 2      16384s    24575s    8192s                  u-boot.itb
 3      32768s    2032768s  2000001s  fat32        efi            boot, esp
 4      2033664s  3905535s  1871872s  ext4         boot
I tried booting using Grub:

Code: Select all

=> load mmc 1:4 $fdt_addr_r rk3588-rock-5-itx-6.19-rc5.dtb ; load mmc 1:3 $kernel_addr_r /EFI/gentoo/grubaa64.efi ; bootefi ${kernel_addr_r} ${fdt_addr_r}
grub> linux /kernel-6.19.0-rc5
grub> boot
And tried to booting without the Grub:

Code: Select all

=> load mmc 1:4 $fdt_addr_r rk3588-rock-5-itx-6.19-rc5.dtb ; load mmc 1:4 $kernel_addr_r kernel-6.19.0-rc5 ; bootefi ${kernel_addr_r} ${fdt_addr_r}
After this kernel runs for a few seconds and board restarts. I tried different kernels, different configs: defconfig, from running Armbian, and gentoo-kernel. Tried to run it with initramfs (Dracut) and without it. Tried empty bootparams and with quiet and root. Only difference is when booting with quiet it prints nothing before restart.

This is example of boot log from serial console:

Code: Select all

[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x412fd050]
[    0.000000] Linux version 6.19.0-rc4 (root@gentoo) (gcc (Gentoo 15.2.1_p20251122 p3) 15.2.1 20251122, GNU ld (Gentoo 2.45.1 p1) 2.45.1) #1 SMP Sat Jan 10 09:25:33 UTC 2026
[    0.000000] KASLR enabled
[    0.000000] Machine model: Radxa ROCK 5 ITX
[    0.000000] efi: EFI v2.11 by Das U-Boot
[    0.000000] efi: RTPROP=0xecba1040 SMBIOS 3.0=0xedf3c000 RNG=0xecb4f040 MEMRESERVE=0xecb4c040
[    0.000000] random: crng init done
[    0.000000] OF: reserved mem: 0x000000000010f000..0x000000000010f0ff (0 KiB) nomap non-reusable shmem@10f000
[    0.000000] Zone ranges:
[    0.000000]   DMA      [mem 0x000000000010f000-0x00000000ffffffff]
[    0.000000]   DMA32    empty
[    0.000000]   Normal   [mem 0x0000000100000000-0x00000007ffffffff]
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x000000000010f000-0x000000000010ffff]
[    0.000000]   node   0: [mem 0x0000000000200000-0x00000000ec7fffff]
[    0.000000]   node   0: [mem 0x00000000ec800000-0x00000000ec800fff]
[    0.000000]   node   0: [mem 0x00000000ec801000-0x00000000ecba0fff]
[    0.000000]   node   0: [mem 0x00000000ecba1000-0x00000000ecba1fff]
[    0.000000]   node   0: [mem 0x00000000ecba2000-0x00000000ecba2fff]
[    0.000000]   node   0: [mem 0x00000000ecba3000-0x00000000ecbc4fff]
[    0.000000]   node   0: [mem 0x00000000ecbc5000-0x00000000edf3bfff]
[    0.000000]   node   0: [mem 0x00000000edf3c000-0x00000000edf3cfff]
[    0.000000]   node   0: [mem 0x00000000edf3d000-0x00000000efefffff]
[    0.000000]   node   0: [mem 0x00000000eff00000-0x00000000eff0ffff]
[    0.000000]   node   0: [mem 0x00000000eff10000-0x00000000efffffff]
[    0.000000]   node   0: [mem 0x0000000100000000-0x00000003fbffffff]
[    0.000000]   node   0: [mem 0x00000003fc500000-0x00000003ffefffff]
[    0.000000]   node   0: [mem 0x0000000400000000-0x00000007ffffffff]
[    0.000000] Initmem setup node 0 [mem 0x000000000010f000-0x00000007ffffffff]
[    0.000000] On node 0, zone DMA: 271 pages in unavailable ranges
[    0.000000] On node 0, zone DMA: 240 pages in unavailable ranges
[    0.000000] On node 0, zone Normal: 1280 pages in unavailable ranges
[    0.000000] On node 0, zone Normal: 256 pages in unavailable ranges
[    0.000000] cma: Reserved 16 MiB at 0x00000000eee00000
[    0.000000] psci: probing for conduit method from DT.
[    0.000000] psci: PSCIv1.1 detected in firmware.
[    0.000000] psci: Using standard PSCI v0.2 function IDs
[    0.000000] psci: MIGRATE_INFO_TYPE not supported.
[    0.000000] psci: SMC Calling Convention v1.5
[    0.000000] percpu: Embedded 33 pages/cpu s97560 r8192 d29416 u135168
[    0.000000] Detected VIPT I-cache on CPU0
[    0.000000] CPU features: detected: GICv3 CPU interface
[    0.000000] CPU features: detected: Virtualization Host Extensions
[    0.000000] CPU features: kernel page table isolation forced ON by KASLR
[    0.000000] CPU features: detected: Kernel page table isolation (KPTI)
[    0.000000] CPU features: detected: Qualcomm erratum 1009, or ARM erratum 1286807, 2441009
[    0.000000] CPU features: detected: ARM errata 1165522, 1319367, or 1530923
[    0.000000] alternatives: applying boot alternatives
[    0.000000] Kernel command line: BOOT_IMAGE=/kernel-6.19.0-rc4
[    0.000000] printk: log buffer data + meta data: 262144 + 917504 = 1179648 bytes
[    0.000000] Dentry cache hash table entries: 4194304 (order: 13, 33554432 bytes, linear)
[    0.000000] Inode-cache hash table entries: 2097152 (order: 12, 16777216 bytes, linear)
[    0.000000] software IO TLB: area num 8.
[    0.000000] software IO TLB: mapped [mem 0x00000000e8800000-0x00000000ec800000] (64MB)
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 8321025
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=8, Nodes=1
[    0.000000] ftrace: allocating 70735 entries in 278 pages
[    0.000000] ftrace: allocated 278 pages with 4 groups
[    0.000000] rcu: Hierarchical RCU implementation.
[    0.000000] rcu:     RCU event tracing is enabled.
[    0.000000]  Rude variant of Tasks RCU enabled.
[    0.000000]  Tracing variant of Tasks RCU enabled.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 30 jiffies.
[    0.000000] RCU Tasks Rude: Setting shift to 3 and lim to 1 rcu_task_cb_adjust=1 rcu_task_cpu_ids=8.
[    0.000000] RCU Tasks Trace: Setting shift to 3 and lim to 1 rcu_task_cb_adjust=1 rcu_task_cpu_ids=8.
[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[    0.000000] GIC: enabling workaround for GICv3: non-coherent attribute
[    0.000000] GICv3: GIC: Using split EOI/Deactivate mode
[    0.000000] GICv3: 480 SPIs implemented
[    0.000000] GICv3: 0 Extended SPIs implemented
[    0.000000] GICv3: MBI range [424:479]
[    0.000000] GICv3: Using MBI frame 0x00000000fe610000
[    0.000000] Root IRQ handler: gic_handle_irq
[    0.000000] GICv3: GICv3 features: 16 PPIs
[    0.000000] GICv3: GICD_CTLR.DS=0, SCR_EL3.FIQ=0
[    0.000000] GICv3: CPU0: found redistributor 0 region 0:0x00000000fe680000
[    0.000000] ITS [mem 0xfe640000-0xfe65ffff]
[    0.000000] GIC: enabling workaround for ITS: Rockchip erratum RK3588001
[    0.000000] GIC: enabling workaround for ITS: non-coherent attribute
[    0.000000] ITS@0x00000000fe640000: allocated 8192 Devices @1001a0000 (indirect, esz 8, psz 64K, shr 0)
[    0.000000] ITS@0x00000000fe640000: allocated 32768 Interrupt Collections @1001b0000 (flat, esz 2, psz 64K, shr 0)
[    0.000000] ITS: using cache flushing for cmd queue
[    0.000000] ITS [mem 0xfe660000-0xfe67ffff]
[    0.000000] GIC: enabling workaround for ITS: Rockchip erratum RK3588001
[    0.000000] GIC: enabling workaround for ITS: non-coherent attribute
[    0.000000] ITS@0x00000000fe660000: allocated 8192 Devices @1001d0000 (indirect, esz 8, psz 64K, shr 0)
[    0.000000] ITS@0x00000000fe660000: allocated 32768 Interrupt Collections @1001e0000 (flat, esz 2, psz 64K, shr 0)
[    0.000000] ITS: using cache flushing for cmd queue
[    0.000000] GICv3: using LPI property table @0x00000001001f0000
[    0.000000] GIC: using cache flushing for LPI property table
[    0.000000] GICv3: CPU0: using allocated LPI pending table @0x0000000100200000
[    0.000000] GICv3: GIC: PPI partition interrupt-partition-0[0] { /cpus/cpu@0[0] /cpus/cpu@100[1] /cpus/cpu@200[2] /cpus/cpu@300[3] }
[    0.000000] GICv3: GIC: PPI partition interrupt-partition-1[1] { /cpus/cpu@400[4] /cpus/cpu@500[5] /cpus/cpu@600[6] /cpus/cpu@700[7] }
[    0.000000] rcu: srcu_init: Setting srcu_struct sizes based on contention.
[    0.000000] arch_timer: cp15 timer running at 24.00MHz (phys).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x588fe9dc0, max_idle_ns: 440795202592 ns
[    0.000000] sched_clock: 56 bits at 24MHz, resolution 41ns, wraps every 4398046511097ns
[    0.001354] Console: colour dummy device 80x25
[    0.001374] printk: legacy console [tty0] enabled
[    0.002663] Calibrating delay loop (skipped), value calculated using timer frequency.. 48.00 BogoMIPS (lpj=80000)
[    0.002701] pid_max: default: 32768 minimum: 301
[    0.003247] AppArmor: AppArmor initialized
[    0.003487] Mount-cache hash table entries: 65536 (order: 7, 524288 bytes, linear)
[    0.003623] Mountpoint-cache hash table entries: 65536 (order: 7, 524288 bytes, linear)
[    0.007558] rcu: Hierarchical SRCU implementation.
[    0.007585] rcu:     Max phase no-delay instances is 1000.
[    0.007978] Timer migration: 1 hierarchy levels; 8 children per group; 1 crossnode level
[    0.009575] Remapping and enabling EFI services.
[    0.010152] smp: Bringing up secondary CPUs ...
[    0.011014] Detected VIPT I-cache on CPU1
[    0.011352] GICv3: CPU1: found redistributor 100 region 0:0x00000000fe6a0000
[    0.011372] GICv3: CPU1: using allocated LPI pending table @0x0000000100210000
[    0.011431] CPU1: Booted secondary processor 0x0000000100 [0x412fd050]
[    0.012469] Detected VIPT I-cache on CPU2
[    0.012798] GICv3: CPU2: found redistributor 200 region 0:0x00000000fe6c0000
[    0.012816] GICv3: CPU2: using allocated LPI pending table @0x0000000100220000
[    0.012868] CPU2: Booted secondary processor 0x0000000200 [0x412fd050]
[    0.013957] Detected VIPT I-cache on CPU3
[    0.014285] GICv3: CPU3: found redistributor 300 region 0:0x00000000fe6e0000
[    0.014303] GICv3: CPU3: using allocated LPI pending table @0x0000000100230000
[    0.014353] CPU3: Booted secondary processor 0x0000000300 [0x412fd050]
[    0.015348] CPU features: detected: Spectre-v4
[    0.015357] CPU features: detected: Spectre-BHB
[    0.015364] CPU features: detected: SSBS not fully self-synchronizing
[    0.015368] Detected PIPT I-cache on CPU4
[    0.015531] GICv3: CPU4: found redistributor 400 region 0:0x00000000fe700000
[    0.015542] GICv3: CPU4: using allocated LPI pending table @0x0000000100240000
[    0.015573] CPU4: Booted secondary processor 0x0000000400 [0x414fd0b0]
[    0.016624] Detected PIPT I-cache on CPU5
[    0.016803] GICv3: CPU5: found redistributor 500 region 0:0x00000000fe720000
[    0.016814] GICv3: CPU5: using allocated LPI pending table @0x0000000100250000
[    0.016849] CPU5: Booted secondary processor 0x0000000500 [0x414fd0b0]
[    0.017822] Detected PIPT I-cache on CPU6
[    0.017995] GICv3: CPU6: found redistributor 600 region 0:0x00000000fe740000
[    0.018006] GICv3: CPU6: using allocated LPI pending table @0x0000000100260000
[    0.018039] CPU6: Booted secondary processor 0x0000000600 [0x414fd0b0]
[    0.018995] Detected PIPT I-cache on CPU7
[    0.019170] GICv3: CPU7: found redistributor 700 region 0:0x00000000fe760000
[    0.019181] GICv3: CPU7: using allocated LPI pending table @0x0000000100270000
[    0.019213] CPU7: Booted secondary processor 0x0000000700 [0x414fd0b0]
[    0.019362] smp: Brought up 1 node, 8 CPUs
[    0.019779] SMP: Total of 8 processors activated.
[    0.019798] CPU: All CPU(s) started at EL2
[    0.019816] CPU features: detected: 32-bit EL0 Support
[    0.019834] CPU features: detected: Data cache clean to the PoU not required for I/D coherence
[    0.019859] CPU features: detected: Common not Private translations
[    0.019879] CPU features: detected: CRC32 instructions
[    0.019904] CPU features: detected: RCpc load-acquire (LDAPR)
[    0.019923] CPU features: detected: LSE atomic instructions
[    0.019942] CPU features: detected: Privileged Access Never
[    0.019960] CPU features: detected: PMUv3
[    0.019977] CPU features: detected: RAS Extension Support
[    0.019998] CPU features: detected: XNX
[    0.020017] CPU features: detected: Speculative Store Bypassing Safe (SSBS)
[    0.020252] alternatives: applying system-wide alternatives
[    0.023335] CPU features: detected: ICV_DIR_EL1 trapping
[    0.023366] CPU features: detected: Hardware dirty bit management on CPU4-7
[    0.023844] Memory: 32512444K/33284100K available (17728K kernel code, 3850K rwdata, 15280K rodata, 2880K init, 616K bss, 743532K reserved, 16384K cma-reserved)
[    0.033306] devtmpfs: initialized
[    0.044933] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 6370867519511994 ns
[    0.044961] posixtimers hash table entries: 4096 (order: 4, 65536 bytes, linear)
[    0.045020] futex hash table entries: 2048 (131072 bytes on 1 NUMA nodes, total 128 KiB, linear).
[    0.045176] 2G module region forced by RANDOMIZE_MODULE_REGION_FULL
[    0.045185] 0 pages in range for non-PLT usage
[    0.045188] 514144 pages in range for PLT usage
[    0.045808] SMBIOS 3.7.0 present.
[    0.045826] DMI: radxa Radxa ROCK 5 ITX/Radxa ROCK 5 ITX, BIOS 2025.10 10/01/2025
[    0.045841] DMI: Memory slots populated: 0/0
[    0.049013] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[    0.049800] DMA: preallocated 4096 KiB GFP_KERNEL pool for atomic allocations
[    0.050138] DMA: preallocated 4096 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
[    0.050485] DMA: preallocated 4096 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
[    0.050519] audit: initializing netlink subsys (disabled)
[    0.050667] audit: type=2000 audit(0.049:1): state=initialized audit_enabled=0 res=1
[    0.051156] thermal_sys: Registered thermal governor 'fair_share'
[    0.051163] thermal_sys: Registered thermal governor 'step_wise'
[    0.051174] thermal_sys: Registered thermal governor 'user_space'
[    0.051182] thermal_sys: Registered thermal governor 'power_allocator'
[    0.051235] cpuidle: using governor menu
[    0.051323] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
[    0.051518] ASID allocator initialised with 32768 entries
[    0.068682] /pcie@fe180000: Fixed dependency cycle(s) with /pcie@fe180000/legacy-interrupt-controller
[    0.069056] /pcie@fe190000: Fixed dependency cycle(s) with /pcie@fe190000/legacy-interrupt-controller
[    0.073048] /i2c@fec90000/audio-codec@11: Fixed dependency cycle(s) with /i2s@fe470000
[    0.073388] /i2c@feca0000/usb-typec@22/connector: Fixed dependency cycle(s) with /usb@fc000000
[    0.073928] /i2c@feca0000/usb-typec@22/connector: Fixed dependency cycle(s) with /phy@fed80000
[    0.073986] /usb@fc000000: Fixed dependency cycle(s) with /phy@fed80000
[    0.074029] /phy@fed80000: Fixed dependency cycle(s) with /i2c@feca0000/usb-typec@22/connector
[    0.077598] gpio gpiochip0: Static allocation of GPIO base is deprecated, use dynamic allocation.
[    0.078122] rockchip-gpio fd8a0000.gpio: probed /pinctrl/gpio@fd8a0000
[    0.078360] gpio gpiochip1: Static allocation of GPIO base is deprecated, use dynamic allocation.
[    0.078599] rockchip-gpio fec20000.gpio: probed /pinctrl/gpio@fec20000
[    0.078816] gpio gpiochip2: Static allocation of GPIO base is deprecated, use dynamic allocation.
[    0.079037] rockchip-gpio fec30000.gpio: probed /pinctrl/gpio@fec30000
[    0.079312] gpio gpiochip3: Static allocation of GPIO base is deprecated, use dynamic allocation.
[    0.079531] rockchip-gpio fec40000.gpio: probed /pinctrl/gpio@fec40000
[    0.079809] gpio gpiochip4: Static allocation of GPIO base is deprecated, use dynamic allocation.
[    0.080033] rockchip-gpio fec50000.gpio: probed /pinctrl/gpio@fec50000
[    0.082060] /vop@fdd90000: Fixed dependency cycle(s) with /hdmi@fdea0000
[    0.082113] /hdmi@fdea0000: Fixed dependency cycle(s) with /vop@fdd90000
[    0.082714] /pcie@fe150000: Fixed dependency cycle(s) with /pcie@fe150000/legacy-interrupt-controller
[    0.083183] /pcie@fe160000: Fixed dependency cycle(s) with /pcie@fe160000/legacy-interrupt-controller
[    0.083728] /pcie@fe170000: Fixed dependency cycle(s) with /pcie@fe170000/legacy-interrupt-controller
[    0.085099] /hdmi@fdea0000: Fixed dependency cycle(s) with /hdmi1-con
[    0.085149] /hdmi1-con: Fixed dependency cycle(s) with /hdmi@fdea0000
[    0.087939] HugeTLB: registered 1.00 GiB page size, pre-allocated 0 pages
[    0.087954] HugeTLB: 0 KiB vmemmap can be freed for a 1.00 GiB page
[    0.087964] HugeTLB: registered 32.0 MiB page size, pre-allocated 0 pages
[    0.087972] HugeTLB: 0 KiB vmemmap can be freed for a 32.0 MiB page
[    0.087981] HugeTLB: registered 2.00 MiB page size, pre-allocated 0 pages
[    0.087989] HugeTLB: 0 KiB vmemmap can be freed for a 2.00 MiB page
[    0.087998] HugeTLB: registered 64.0 KiB page size, pre-allocated 0 pages
[    0.088006] HugeTLB: 0 KiB vmemmap can be freed for a 64.0 KiB page
[    0.143835] raid6: neonx8   gen()  4216 MB/s
[    0.200641] raid6: neonx4   gen()  4223 MB/s
[    0.257422] raid6: neonx2   gen()  3735 MB/s
[    0.314199] raid6: neonx1   gen()  2818 MB/s
[    0.370989] raid6: int64x8  gen()   955 MB/s
[    0.427757] raid6: int64x4  gen()  1242 MB/s
[    0.484536] raid6: int64x2  gen()  1640 MB/s
[    0.541321] raid6: int64x1  gen()  1365 MB/s
[    0.541328] raid6: using algorithm neonx4 gen() 4223 MB/s
[    0.598089] raid6: .... xor() 3233 MB/s, rmw enabled
[    0.598097] raid6: using neon recovery algorithm
[    0.598722] iommu: Default domain type: Translated
[    0.598735] iommu: DMA domain TLB invalidation policy: strict mode
[    0.603707] SCSI subsystem initialized
[    0.603845] usbcore: registered new interface driver usbfs
[    0.603872] usbcore: registered new interface driver hub
[    0.603899] usbcore: registered new device driver usb
[    0.603997] mc: Linux media interface: v0.10
[    0.604026] videodev: Linux video capture interface: v2.00
[    0.604086] pps_core: LinuxPPS API ver. 1 registered
[    0.604094] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    0.604109] PTP clock support registered
[    0.604197] scmi_core: SCMI protocol bus registered
[    0.604270] efivars: Registered efivars operations
[    0.604568] Advanced Linux Sound Architecture Driver Initialized.
[    0.605165] Bluetooth: Core ver 2.22
[    0.605199] NET: Registered PF_BLUETOOTH protocol family
[    0.605208] Bluetooth: HCI device and connection manager initialized
[    0.605219] Bluetooth: HCI socket layer initialized
[    0.605228] Bluetooth: L2CAP socket layer initialized
[    0.605240] Bluetooth: SCO socket layer initialized
[    0.605270] NetLabel: Initializing
[    0.605276] NetLabel:  domain hash size = 128
[    0.605283] NetLabel:  protocols = UNLABELED CIPSOv4 CALIPSO
[    0.605330] NetLabel:  unlabeled traffic allowed by default
[    0.605604] vgaarb: loaded
[    0.611285] clocksource: Switched to clocksource arch_sys_counter
[    1.017431] VFS: Disk quotas dquot_6.6.0
[    1.017453] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[    1.017974] AppArmor: AppArmor Filesystem Enabled
[    1.025883] NET: Registered PF_INET protocol family
[    1.026182] IP idents hash table entries: 262144 (order: 9, 2097152 bytes, linear)
[    1.092745] tcp_listen_portaddr_hash hash table entries: 16384 (order: 6, 262144 bytes, linear)
[    1.093011] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
[    1.093068] TCP established hash table entries: 262144 (order: 9, 2097152 bytes, linear)
[    1.095029] TCP bind hash table entries: 65536 (order: 9, 2097152 bytes, linear)
[    1.096924] TCP: Hash tables configured (established 262144 bind 65536)
[    1.097203] MPTCP token hash table entries: 32768 (order: 8, 786432 bytes, linear)
[    1.097463] UDP hash table entries: 16384 (order: 8, 1048576 bytes, linear)
[    1.098661] UDP-Lite hash table entries: 16384 (order: 8, 1048576 bytes, linear)
[    1.099956] NET: Registered PF_UNIX/PF_LOCAL protocol family
[    1.100357] RPC: Registered named UNIX socket transport module.
[    1.100368] RPC: Registered udp transport module.
[    1.100375] RPC: Registered tcp transport module.
[    1.100382] RPC: Registered tcp-with-tls transport module.
[    1.100389] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    1.101088] PCI: CLS 0 bytes, default 64
[    1.104070] kvm [1]: nv: 568 coarse grained trap handlers
[    1.104341] kvm [1]: IPA Size Limit: 40 bits
[    1.104368] kvm [1]: GICv3: no GICV resource entry
[    1.104376] kvm [1]: disabling GICv2 emulation
[    1.104411] kvm [1]: GIC system register CPU interface enabled
[    1.104434] kvm [1]: vgic interrupt IRQ9
[    1.104470] kvm [1]: VHE mode initialized successfully
[    1.105862] Initialise system trusted keyrings
[    1.106060] workingset: timestamp_bits=46 max_order=23 bucket_order=0
[    1.106560] NFS: Registering the id_resolver key type
[    1.106580] Key type id_resolver registered
[    1.106587] Key type id_legacy registered
[    1.106605] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[    1.106614] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
[    1.146426] NET: Registered PF_ALG protocol family
[    1.146460] xor: measuring software checksum speed
[    1.146982]    8regs           :  6373 MB/sec
[    1.147537]    32regs          :  6012 MB/sec
[    1.148062]    arm64_neon      :  6333 MB/sec
[    1.148070] xor: using function: 8regs (6373 MB/sec)
[    1.148082] Key type asymmetric registered
[    1.148090] Asymmetric key parser 'x509' registered
[    1.148135] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 241)
[    1.148310] io scheduler mq-deadline registered
[    1.148320] io scheduler kyber registered
[    1.157852] ledtrig-cpu: registered to indicate activity on CPUs
[    1.160659] dma-pl330 fea10000.dma-controller: Loaded driver for PL330 DMAC-241330
[    1.160677] dma-pl330 fea10000.dma-controller:       DBUFF-128x8bytes Num_Chans-8 Num_Peri-32 Num_Events-16
[    1.161927] dma-pl330 fea30000.dma-controller: Loaded driver for PL330 DMAC-241330
[    1.161943] dma-pl330 fea30000.dma-controller:       DBUFF-128x8bytes Num_Chans-8 Num_Peri-32 Num_Events-16
[    1.163144] dma-pl330 fed10000.dma-controller: Loaded driver for PL330 DMAC-241330
[    1.163160] dma-pl330 fed10000.dma-controller:       DBUFF-128x8bytes Num_Chans-8 Num_Peri-32 Num_Events-16
[    1.164371] Serial: 8250/16550 driver, 10 ports, IRQ sharing disabled
[    1.167342] feb50000.serial: ttyS2 at MMIO 0xfeb50000 (irq = 31, base_baud = 1500000) is a 16550A
[    1.167403] printk: legacy console [ttyS2] enabled
[    1.331748] feb90000.serial: ttyS6 at MMIO 0xfeb90000 (irq = 32, base_baud = 1500000) is a 16550A
[    1.333760] arm-smmu-v3 fc900000.iommu: ias 48-bit, oas 48-bit (features 0x001c1e8f)
[    1.335027] arm-smmu-v3 fc900000.iommu: allocated 65536 entries for cmdq
[    1.336010] arm-smmu-v3 fc900000.iommu: allocated 32768 entries for evtq
[    1.337042] arm-smmu-v3 fc900000.iommu: msi_domain absent - falling back to wired irqs
[    1.339123] platform fdb50000.video-codec: Adding to iommu group 0
[    1.340538] platform fdba0000.video-codec: Adding to iommu group 1
[    1.341943] platform fdba4000.video-codec: Adding to iommu group 2
[    1.343314] platform fdba8000.video-codec: Adding to iommu group 3
[    1.344684] platform fdbac000.video-codec: Adding to iommu group 4
[    1.345984] platform fdd90000.vop: Adding to iommu group 5
[    1.352779] rockchip-drm display-subsystem: bound fdd90000.vop (ops 0xffffc923954ae658)
[    1.353959] [drm] Initialized rockchip 1.0.0 for display-subsystem on minor 0
[    1.354634] rockchip-drm display-subsystem: [drm] Cannot find any crtc or sizes
[    1.358208] brd: module loaded
[    1.362399] loop: module loaded
[    1.362899] rbd: loaded (major 254)
[    1.363254] lkdtm: No crash points registered, enable through debugfs
[    1.366472] /spi@feb20000/pmic@0: Fixed dependency cycle(s) with /spi@feb20000/pmic@0/regulators/dcdc-reg7
[    1.367376] /spi@feb20000/pmic@0: Fixed dependency cycle(s) with /spi@feb20000/pmic@0/dvs3-null-pins
[    1.368206] /spi@feb20000/pmic@0: Fixed dependency cycle(s) with /spi@feb20000/pmic@0/dvs2-null-pins
[    1.369015] /spi@feb20000/pmic@0: Fixed dependency cycle(s) with /spi@feb20000/pmic@0/dvs1-null-pins
[    1.370783] spi-nor spi5.0: supply vcc not found, using dummy regulator
[    1.375720] usbcore: registered new interface driver asix
[    1.376233] usbcore: registered new interface driver cdc_ether
[    1.376769] usbcore: registered new interface driver rndis_host
[    1.377316] usbcore: registered new interface driver cdc_ncm
[    1.378071] VFIO - User Level meta-driver version: 0.3
[    1.396351] usbcore: registered new interface driver cdc_acm
[    1.396858] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
[    1.397661] usbcore: registered new interface driver uas
[    1.398217] usbcore: registered new interface driver usb-storage
[    1.399117] mousedev: PS/2 mouse device common for all mice
[    1.399718] i2c_dev: i2c /dev entries driver
[    1.405844] rtc-hym8563 6-0051: no valid clock/calendar values available
[    1.406680] rtc-hym8563 6-0051: registered as rtc0
[    1.408108] rtc-hym8563 6-0051: no valid clock/calendar values available
[    1.408700] rtc-hym8563 6-0051: hctosys: unable to read the hardware clock
[    1.409798] /i2s@fe470000: Fixed dependency cycle(s) with /i2c@fec90000/audio-codec@11
[    1.410540] /i2c@fec90000/audio-codec@11: Fixed dependency cycle(s) with /i2s@fe470000
[    1.412843] rockchip-rga fdb80000.rga: HW Version: 0x03.02
[    1.413472] rockchip-rga fdb80000.rga: Registered rockchip-rga as /dev/video0
[    1.414296] usbcore: registered new interface driver uvcvideo
[    1.418803] sdhci: Secure Digital Host Controller Interface driver
[    1.419354] sdhci: Copyright(c) Pierre Ossman
[    1.419739] Synopsys Designware Multimedia Card Interface Driver
[    1.420609] sdhci-pltfm: SDHCI platform and OF driver helper
DDR 9fffbe1e78 cym 24/02/04-10:09:20,fwver: v1.16
LPDDR5, 2400MHz
channel[0] BW=16 Col=10 Bk=16 CS0 Row=17 CS1 Row=17 CS=2 Die BW=8 Size=8192MB
channel[1] BW=16 Col=10 Bk=16 CS0 Row=17 CS1 Row=17 CS=2 Die BW=8 Size=8192MB
channel[2] BW=16 Col=10 Bk=16 CS0 Row=17 CS1 Row=17 CS=2 Die BW=8 Size=8192MB
channel[3] BW=16 Col=10 Bk=16 CS0 Row=17 CS1 Row=17 CS=2 Die BW=8 Size=8192MB
Manufacturer ID:0x6
CH0 RX Vref:27.5%, TX Vref:22.0%,22.0%
CH1 RX Vref:28.9%, TX Vref:23.0%,21.0%
CH2 RX Vref:28.9%, TX Vref:23.0%,21.0%
CH3 RX Vref:29.3%, TX Vref:22.0%,21.0%
change to F1: 534MHz
change to F2: 1320MHz
change to F3: 1968MHz
change to F0: 2400MHz
out
U-Boot SPL board init
Top
pingtoo
Advocate
Advocate
User avatar
Posts: 2180
Joined: Fri Sep 10, 2021 8:37 pm
Location: Richmond Hill, Canada

  • Quote

Post by pingtoo » Sat Jan 17, 2026 5:49 pm

I suggest you start from the vendor BSP to capture a complete boot sequence from serial console and start work from there.

from a quick glance on the boot message I suspect the kernel is missing driver for SD hardware. the standard sdhci come up, but following that message I expect see some kind of hardware driver for the specific that did not show.

for example on my RK3588 (Not Radxa)

Code: Select all

[    8.196912] sdhci: Secure Digital Host Controller Interface driver
[    8.196941] sdhci: Copyright(c) Pierre Ossman
[    8.196957] Synopsys Designware Multimedia Card Interface Driver
[    8.198250] sdhci-pltfm: SDHCI platform and OF driver helper
[    8.200895] sdhci-dwcmshc fe2e0000.mmc: Looking up vmmc-supply from device tree
[    8.200907] sdhci-dwcmshc fe2e0000.mmc: Looking up vmmc-supply property in node /mmc@fe2e0000 failed
[    8.201647] sdhci-dwcmshc fe2e0000.mmc: Looking up vqmmc-supply from device tree
[    8.201660] sdhci-dwcmshc fe2e0000.mmc: Looking up vqmmc-supply property in node /mmc@fe2e0000 failed
Or the device tree is missing something.
Top
zen_desu
Guru
Guru
Posts: 501
Joined: Fri Oct 25, 2024 3:14 pm
Location: your area

  • Quote

Post by zen_desu » Sat Jan 17, 2026 6:44 pm

you absolutely need an initramfs to use a zfs rootfs.

ugrd _may_ handle arm systems better but you've got to run it in a chroot on the board or it won't handle special modules for your particular board.
µgRD dev
Wiki writer
Top
lekto
Apprentice
Apprentice
Posts: 231
Joined: Sat Sep 20, 2014 6:48 pm
Location: Ancient Rome

  • Quote

Post by lekto » Tue Jan 20, 2026 2:56 pm

zen_desu wrote:you absolutely need an initramfs to use a zfs rootfs.
I know, it was a minimal setup and I was looking for something else than restart, like a kernel panic because of lack of root.

pingtoo wrote:I suggest you start from the vendor BSP to capture a complete boot sequence from serial console and start work from there.
I tried building it but process is a bit convoluted, it runs in Docker and Armbian doesn't have Docker, also I need not only a kernel, but also a kernel source for building ZFS. So I did something awful: I grab debs from Armbian and installed them using dpkg, I had to remove temporarily /etc/kernel, because kernel wasn't happy about it. According to qcheck I didn't overwritten anything, so I think it is okay. I rebuilt ZFS and initramfs, but same effect. I think it might be a problem with mainline U-Boot. Collabora is working on an U-Boot fork for RK3588, so maybe this will work better.
https://gitlab.collabora.com/hardware-e ... 588/u-boot
Top
pingtoo
Advocate
Advocate
User avatar
Posts: 2180
Joined: Fri Sep 10, 2021 8:37 pm
Location: Richmond Hill, Canada

  • Quote

Post by pingtoo » Tue Jan 20, 2026 3:11 pm

lekto wrote:
pingtoo wrote:I suggest you start from the vendor BSP to capture a complete boot sequence from serial console and start work from there.
I tried building it but process is a bit convoluted, it runs in Docker and Armbian doesn't have Docker, also I need not only a kernel, but also a kernel source for building ZFS. So I did something awful: I grab debs from Armbian and installed them using dpkg, I had to remove temporarily /etc/kernel, because kernel wasn't happy about it. According to qcheck I didn't overwritten anything, so I think it is okay. I rebuilt ZFS and initramfs, but same effect. I think it might be a problem with mainline U-Boot. Collabora is working on an U-Boot fork for RK3588, so maybe this will work better.
https://gitlab.collabora.com/hardware-e ... 588/u-boot
I am sorry that my post is not clear, I mean if you start first use whatever provided by Radxa and change one by one, first rootfs, then kernel, then u-boot. it will be easier to find which component having problem.

Start with original so you have a base working version for reference for later comparison.

Since you were able to load grub it usually mean the prior loader (u-boot) should be fine, for booting purpose), from grub you were able to load kernel, but I see no kernel command line arguments so I am not able to verify if everything were correctly initialized. For example I don't know if kernel booted by grub can see DTB in order to initial devices.

Too many changes at once lead to hard debug session because there could be many errors but not able to find where to start.

Additionally, I see Armbian is capable install docker cli and docker daemon. So I recommend at the beginning do not alter anything, just follow Radxa build step with the suggested docker base image, once successful complete the build process without error, than start modification.

Kernel/u-boot are indenpent from Gentoo. you can have Radxa native kernel and Radxa u-boot but boot into Gentoo rootfs.

Along the process should you running into issues, please don't hasitate, post it here I am happy to help.
Top
lekto
Apprentice
Apprentice
Posts: 231
Joined: Sat Sep 20, 2014 6:48 pm
Location: Ancient Rome

  • Quote

Post by lekto » Sun Jan 25, 2026 5:02 pm

There is a progress, with U-Boot from BSP there is finally the kernel panic, but I still can’t boot. Right now I have:
- U-Boot from BSP,
- kernel from Armbian,
- ZFS from Gentoo build against headers from Armbian,
- Dracut from Gentoo,
- Grub from Gentoo.

When I try to boot using Grub, I’m getting not grub>, but grub rescue> and nothing works:

Code: Select all

=> load mmc 1:3 $kernel_addr_r /EFI/gentoo/grubaa64.efi ; load mmc 1:4 $fdt_addr_r dtb-6.1.115-vendor-rk35xx/rockchip/rk3588-rock-5-itx.dtb ; bootefi $kernel_addr_r $fdt_addr_r                                   
reading /EFI/gentoo/grubaa64.efi
151552 bytes read in 15 ms (9.6 MiB/s)
274108 bytes read in 49 ms (5.3 MiB/s)
## Starting EFI application at 00400000 ...
Scanning disk flash@0.blk...
JEDEC id bytes: 0b, 40, 18
SF: Detected sfc_nor with page size 256 Bytes, erase size 4 KiB, total 16 MiB
Scanning disk flash@1.blk...
GUID Partition Table Header signature is wrong: 0xC53E042D2334EA11 != 0x5452415020494645
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
Scanning disk mmc@fe2c0000.blk...
Scanning disk mmc@fe2e0000.blk...
Found 4 disks
[Vendor ERROR]:Invalid boot device type(0)
## reserved-memory:
  cma: addr=10000000 size=10000000
  ramoops@110000: addr=110000 size=e0000
Adding bank: 0x00200000 - 0xf0000000 (size: 0xefe00000)
Adding bank: 0x100000000 - 0x3fc000000 (size: 0x2fc000000)
Adding bank: 0x3fc500000 - 0x3fff00000 (size: 0x03a00000)
Adding bank: 0x400000000 - 0x800000000 (size: 0x400000000)
error: no such partition.
Entering rescue mode...
grub rescue> ls
(hd0) (hd0,gpt3) (hd0,gpt2) (hd0,gpt1) (hd1) (hd1,gpt4) (hd1,gpt3) (hd1,gpt2) (hd1,gpt1) (hd2)
grub rescue> help
Unknown command `help'.
grub rescue> linux
Unknown command `linux'.
grub rescue> boot
Unknown command `boot'.
When I try to run kernel from U-Boot, it complains about initramfs:

Code: Select all

=> env set bootargs root=zfs:tempori_datapool/crypt/root ; load mmc 1:4 $fdt_addr_r dtb-6.1.115-vendor-rk35xx/rockchip/rk3588-rock-5-itx.dtb ; load mmc 1:4 $kernel_addr_r vmlinuz-6.1.115-vendor-rk35xx ; load mmc
 1:4 $ramdisk_addr_r initramfs-6.1.115-vendor-rk35xx.img ; booti $kernel_addr_r $ramdisk_addr_r $fdt_addr_r
274108 bytes read in 49 ms (5.3 MiB/s)
49017344 bytes read in 3938 ms (11.9 MiB/s)
20338235 bytes read in 1639 ms (11.8 MiB/s)
Fdt Ramdisk skip relocation
No bootdev
dev_desc is NULL!
Wrong Ramdisk Image Format
Ramdisk image is corrupt or invalid
When I try to pass initramfs in kernel parameters it causes kernel panic, like there is no initramfs:

Code: Select all

=> env set bootargs initrd=\initramfs-6.1.115-vendor-rk35xx.img  root=zfs:tempori_datapool/crypt/root ; load mmc 1:4 $fdt_addr_r dtb-6.1.115-vendor-rk35xx/rockchip/rk3588-rock-5-itx.dtb ; load mmc 1:4 $kernel_ad
dr_r vmlinuz-6.1.115-vendor-rk35xx ; booti $kernel_addr_r - $fdt_addr_r
274108 bytes read in 62 ms (4.2 MiB/s)
49017344 bytes read in 3942 ms (11.9 MiB/s)
Fdt Ramdisk skip relocation
No bootdev
dev_desc is NULL!
## Flattened Device Tree blob at 0x08300000
   Booting using the fdt blob at 0x08300000
the always on regulator (vcc5v0-host-regulator) should never be disabled!
rockchip_usb2phy_power_off: Failed to set VBus supply
PHY: Failed to power off host-port: -13.
the always on regulator (vcc5v0-host-regulator) should never be disabled!
rockchip_usb2phy_power_off: Failed to set VBus supply
PHY: Failed to power off host-port: -13.
   Using Device Tree in place at 0000000008300000, end 0000000008345ebb
[Vendor ERROR]:Invalid boot device type(0)
## reserved-memory:
  cma: addr=10000000 size=10000000
  ramoops@110000: addr=110000 size=e0000
Adding bank: 0x00200000 - 0xf0000000 (size: 0xefe00000)
Adding bank: 0x100000000 - 0x3fc000000 (size: 0x2fc000000)
Adding bank: 0x3fc500000 - 0x3fff00000 (size: 0x03a00000)
Adding bank: 0x400000000 - 0x800000000 (size: 0x400000000)
Total: 11087.653/11100.374 ms

Starting kernel ...
(…)
[   25.211616] /dev/root: Can't open blockdev
[   25.211718] VFS: Cannot open root device "zfs:tempori_datapool/crypt/root" or unknown-block(0,0): error -6
[   25.211796] Please append a correct "root=" boot option; here are the available partitions:
(…)
[   26.772403] ---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0) ]---
Top
pingtoo
Advocate
Advocate
User avatar
Posts: 2180
Joined: Fri Sep 10, 2021 8:37 pm
Location: Richmond Hill, Canada

  • Quote

Post by pingtoo » Sun Jan 25, 2026 5:32 pm

lekto wrote:There is a progress, with U-Boot from BSP there is finally the kernel panic, but I still can’t boot. Right now I have:
- U-Boot from BSP,
- kernel from Armbian,
- ZFS from Gentoo build against headers from Armbian,
- Dracut from Gentoo,
- Grub from Gentoo.

When I try to boot using Grub, I’m getting not grub>, but grub rescue> and nothing works:

Code: Select all

=> load mmc 1:3 $kernel_addr_r /EFI/gentoo/grubaa64.efi ; load mmc 1:4 $fdt_addr_r dtb-6.1.115-vendor-rk35xx/rockchip/rk3588-rock-5-itx.dtb ; bootefi $kernel_addr_r $fdt_addr_r                                   
reading /EFI/gentoo/grubaa64.efi
151552 bytes read in 15 ms (9.6 MiB/s)
274108 bytes read in 49 ms (5.3 MiB/s)
## Starting EFI application at 00400000 ...
Scanning disk flash@0.blk...
JEDEC id bytes: 0b, 40, 18
SF: Detected sfc_nor with page size 256 Bytes, erase size 4 KiB, total 16 MiB
Scanning disk flash@1.blk...
GUID Partition Table Header signature is wrong: 0xC53E042D2334EA11 != 0x5452415020494645
GUID Partition Table Header signature is wrong: 0xFFFFFFFFFFFFFFFF != 0x5452415020494645
Scanning disk mmc@fe2c0000.blk...
Scanning disk mmc@fe2e0000.blk...
Found 4 disks
[Vendor ERROR]:Invalid boot device type(0)
## reserved-memory:
  cma: addr=10000000 size=10000000
  ramoops@110000: addr=110000 size=e0000
Adding bank: 0x00200000 - 0xf0000000 (size: 0xefe00000)
Adding bank: 0x100000000 - 0x3fc000000 (size: 0x2fc000000)
Adding bank: 0x3fc500000 - 0x3fff00000 (size: 0x03a00000)
Adding bank: 0x400000000 - 0x800000000 (size: 0x400000000)
error: no such partition.
Entering rescue mode...
grub rescue> ls
(hd0) (hd0,gpt3) (hd0,gpt2) (hd0,gpt1) (hd1) (hd1,gpt4) (hd1,gpt3) (hd1,gpt2) (hd1,gpt1) (hd2)
grub rescue> help
Unknown command `help'.
grub rescue> linux
Unknown command `linux'.
grub rescue> boot
Unknown command `boot'.
When I try to run kernel from U-Boot, it complains about initramfs:

Code: Select all

=> env set bootargs root=zfs:tempori_datapool/crypt/root ; load mmc 1:4 $fdt_addr_r dtb-6.1.115-vendor-rk35xx/rockchip/rk3588-rock-5-itx.dtb ; load mmc 1:4 $kernel_addr_r vmlinuz-6.1.115-vendor-rk35xx ; load mmc
 1:4 $ramdisk_addr_r initramfs-6.1.115-vendor-rk35xx.img ; booti $kernel_addr_r $ramdisk_addr_r $fdt_addr_r
274108 bytes read in 49 ms (5.3 MiB/s)
49017344 bytes read in 3938 ms (11.9 MiB/s)
20338235 bytes read in 1639 ms (11.8 MiB/s)
Fdt Ramdisk skip relocation
No bootdev
dev_desc is NULL!
Wrong Ramdisk Image Format
Ramdisk image is corrupt or invalid
When I try to pass initramfs in kernel parameters it causes kernel panic, like there is no initramfs:

Code: Select all

=> env set bootargs initrd=\initramfs-6.1.115-vendor-rk35xx.img  root=zfs:tempori_datapool/crypt/root ; load mmc 1:4 $fdt_addr_r dtb-6.1.115-vendor-rk35xx/rockchip/rk3588-rock-5-itx.dtb ; load mmc 1:4 $kernel_ad
dr_r vmlinuz-6.1.115-vendor-rk35xx ; booti $kernel_addr_r - $fdt_addr_r
274108 bytes read in 62 ms (4.2 MiB/s)
49017344 bytes read in 3942 ms (11.9 MiB/s)
Fdt Ramdisk skip relocation
No bootdev
dev_desc is NULL!
## Flattened Device Tree blob at 0x08300000
   Booting using the fdt blob at 0x08300000
the always on regulator (vcc5v0-host-regulator) should never be disabled!
rockchip_usb2phy_power_off: Failed to set VBus supply
PHY: Failed to power off host-port: -13.
the always on regulator (vcc5v0-host-regulator) should never be disabled!
rockchip_usb2phy_power_off: Failed to set VBus supply
PHY: Failed to power off host-port: -13.
   Using Device Tree in place at 0000000008300000, end 0000000008345ebb
[Vendor ERROR]:Invalid boot device type(0)
## reserved-memory:
  cma: addr=10000000 size=10000000
  ramoops@110000: addr=110000 size=e0000
Adding bank: 0x00200000 - 0xf0000000 (size: 0xefe00000)
Adding bank: 0x100000000 - 0x3fc000000 (size: 0x2fc000000)
Adding bank: 0x3fc500000 - 0x3fff00000 (size: 0x03a00000)
Adding bank: 0x400000000 - 0x800000000 (size: 0x400000000)
Total: 11087.653/11100.374 ms

Starting kernel ...
(…)
[   25.211616] /dev/root: Can't open blockdev
[   25.211718] VFS: Cannot open root device "zfs:tempori_datapool/crypt/root" or unknown-block(0,0): error -6
[   25.211796] Please append a correct "root=" boot option; here are the available partitions:
(…)
[   26.772403] ---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0) ]---
In this setup, you raised three different issues :D

when you see "grub rescue> " it mean your grub installation have some problem, it is missing support files necessary for initial startup. So it depend on how you did the installation and how the grub was build there are different solution for this.

your "initramfs-6.1.115-vendor-rk35xx.img" I suspect it is in compress in a format booti does not understand.

When you use booti but skip the initrd and expect kernel to handle initrd, it will not work because when kernel is not build with EFI stub it will not able to handle the boot argument initrd. = normally kernel find initrd in memory location, not from storage.

Now depend on which issue you want to address first, we can work on the detail howto.
Top
lekto
Apprentice
Apprentice
Posts: 231
Joined: Sat Sep 20, 2014 6:48 pm
Location: Ancient Rome

  • Quote

Post by lekto » Sun Jan 25, 2026 6:12 pm

pingtoo wrote:when you see "grub rescue> " it mean your grub installation have some problem, it is missing support files necessary for initial startup. So it depend on how you did the installation and how the grub was build there are different solution for this.
It is 100% missing grub.cfg, I run grub-mkconfig, but it failed. It was last year, so I don't remember the error, but I assumed it probably will work when I properly boot this system. Grub was "working" on mainline U-Boot, so U-Boot from BSP is cause of this problem. (hd1,gpt3) is /efi, (hd1,gpt4) is /boot.
pingtoo wrote:your "initramfs-6.1.115-vendor-rk35xx.img" I suspect it is in compress in a format booti does not understand.
I thought kernel is responsible for decompressing the initramfs.
pingtoo wrote:When you use booti but skip the initrd and expect kernel to handle initrd, it will not work because when kernel is not build with EFI stub it will not able to handle the boot argument initrd. = normally kernel find initrd in memory location, not from storage.
Kernel is from system that doesn't use UEFI, so it probably doesn't support UEFI.
pingtoo wrote:Now depend on which issue you want to address first, we can work on the detail howto.
I want it to use Grub, it is more convenient for me to use Grub than to deal with files on /boot manually. I tried to skip Grub to have at least something temporary.
Top
zen_desu
Guru
Guru
Posts: 501
Joined: Fri Oct 25, 2024 3:14 pm
Location: your area

  • Quote

Post by zen_desu » Sun Jan 25, 2026 6:26 pm

lekto wrote:
pingtoo wrote:when you see "grub rescue> " it mean your grub installation have some problem, it is missing support files necessary for initial startup. So it depend on how you did the installation and how the grub was build there are different solution for this.
It is 100% missing grub.cfg, I run grub-mkconfig, but it failed. It was last year, so I don't remember the error, but I assumed it probably will work when I properly boot this system. Grub was "working" on mainline U-Boot, so U-Boot from BSP is cause of this problem. (hd1,gpt3) is /efi, (hd1,gpt4) is /boot.
pingtoo wrote:your "initramfs-6.1.115-vendor-rk35xx.img" I suspect it is in compress in a format booti does not understand.
I thought kernel is responsible for decompressing the initramfs.
pingtoo wrote:When you use booti but skip the initrd and expect kernel to handle initrd, it will not work because when kernel is not build with EFI stub it will not able to handle the boot argument initrd. = normally kernel find initrd in memory location, not from storage.
Kernel is from system that doesn't use UEFI, so it probably doesn't support UEFI.
pingtoo wrote:Now depend on which issue you want to address first, we can work on the detail howto.
I want it to use Grub, it is more convenient for me to use Grub than to deal with files on /boot manually. I tried to skip Grub to have at least something temporary.
I think uboot and/or the kernel can handle decompression.

the "initrd=" arg, as pingtoo said, is used by the efi stub portion of a kernel image, so if you're using a kernel without anything UEFI related enabled, that definitely won't work

A while back when I was testing stuff on Radxa boards with custom uboot builds, I tended to use uncompressed initramfs images because it was simplest.

I've had the most luck using uboot on arm systems, I have never been able to get grub to work.
µgRD dev
Wiki writer
Top
pingtoo
Advocate
Advocate
User avatar
Posts: 2180
Joined: Fri Sep 10, 2021 8:37 pm
Location: Richmond Hill, Canada

  • Quote

Post by pingtoo » Sun Jan 25, 2026 7:12 pm

lekto wrote:
pingtoo wrote:when you see "grub rescue> " it mean your grub installation have some problem, it is missing support files necessary for initial startup. So it depend on how you did the installation and how the grub was build there are different solution for this.
It is 100% missing grub.cfg, I run grub-mkconfig, but it failed. It was last year, so I don't remember the error, but I assumed it probably will work when I properly boot this system. Grub was "working" on mainline U-Boot, so U-Boot from BSP is cause of this problem. (hd1,gpt3) is /efi, (hd1,gpt4) is /boot.
...
pingtoo wrote:Now depend on which issue you want to address first, we can work on the detail howto.
I want it to use Grub, it is more convenient for me to use Grub than to deal with files on /boot manually. I tried to skip Grub to have at least something temporary.
When you see "grub rescue> " mean it does not even gone to read grub.cfg yet, something like reading partition table. understand file system, even font to use for screen, all these are missing that is why you got "grub rescue> ".

For now we will deal grub.cfg later. First try to understand why your setup not able to find those support files.

First define what is necessary, in your setup, u-boot is the secondary boot loader (SBL) it is build with mini UEFI implementation. And the grub (/EFI/gentoo/grubaa64.efi) appently is a EFI app so using bootefi is correct way to start. apparently these are all correct.

Now we need you to know which/where is "normal.mod" location, it is usually in /boot/grub/*/notmal.mod. sense grub did not come up normally I assume it did not match grub environment build in value for root and prefix. we need this information ahead so we can try with "grub rescue> " to test if the environment have all the necessary files and just have wrong default.

Examine grub runtime, at "grub rescue> " run

Code: Select all

grub rescue> set<ENTER>
We need to examine what is "prefix", "root" and may be "cmdpath" (if it exist). Then examine storage, use command

Code: Select all

grub rescue> ls<ENTER>
to see what disk detected.

Once we know what grub see disks, we can use grub command to examine if those support files accessible by grub. what I don't know is what was build into grub now. If it cannot see disk with partition or know partition but not able to see file system. It would lead to rebuild grub with include support modules into order to start grub in normal operation.

What follow to success boot grub depend on how kernel build and initrd/DTB location.
Top
pingtoo
Advocate
Advocate
User avatar
Posts: 2180
Joined: Fri Sep 10, 2021 8:37 pm
Location: Richmond Hill, Canada

  • Quote

Post by pingtoo » Sun Jan 25, 2026 7:23 pm

zen_desu wrote:...
I think uboot and/or the kernel can handle decompression.
Yes, but depend on what was build into u-boot. I think default it only support gzip.
I've had the most luck using uboot on arm systems, I have never been able to get grub to work.
Nowadays, grub can be build for ARM as EFI app which only need some driver for partition tables and file system, it will use UEFI block I/O service to access storage.
Top
lekto
Apprentice
Apprentice
Posts: 231
Joined: Sat Sep 20, 2014 6:48 pm
Location: Ancient Rome

  • Quote

Post by lekto » Sat Jan 31, 2026 4:07 pm

There is some progress, U-Boot:

Code: Select all

=> load mmc 1:3 $kernel_addr_r /EFI/gentoo/grubaa64.efi ; load mmc 1:4 $fdt_addr_r rk3588-rock-5-itx-6.17.13.dtb ; bootefi $kernel_addr_r $fdt_addr_r
Grub rescue (I don't know what cmdpath does, so I don't change it):

Code: Select all

grub rescue> ls
(hd0) (hd0,gpt3) (hd0,gpt2) (hd0,gpt1) (hd1) (hd1,gpt4) (hd1,gpt3) (hd1,gpt2) (hd1,gpt1) (hd2)
grub rescue> set
cmdpath='(hd2)/dtb-6.1.115-vendor-rk35xx'
prefix='(hd2,gpt4)/grub'
root='hd2,gpt4'
grub rescue> set prefix=(hd1,gpt4)/grub
grub rescue> set root=(hd1,gpt4)
grub rescue> insmod normal
grub rescue> normal
Grub:

Code: Select all

grub>linux /kernel-6.17.13-gentoo

grub>initrd /initramfs-6.17.13-gentoo.img
error: out of memory.

grub>devicetree /rk3588-rock-5-itx-6.17.13.dtb

grub>boot
EFI stub: ERROR: FIRMWARE BUG: efi_loaded_image_t::image_base has bogus value
EFI stub: ERROR: Failed to install memreserve config table!
EFI stub: ERROR: Could not determine UEFI Secure Boot status.
EFI stub: ERROR: Unable to construct new device tree.
EFI stub: ERROR: Failed to update FDT and exit boot services
error: start_image() returned 0x0.

grub>
Top
pingtoo
Advocate
Advocate
User avatar
Posts: 2180
Joined: Fri Sep 10, 2021 8:37 pm
Location: Richmond Hill, Canada

  • Quote

Post by pingtoo » Sat Jan 31, 2026 4:43 pm

lekto,

I am not sure in your latest post if you have questions or need helps. So I will just make few comments,
lekto wrote:Grub rescue (I don't know what cmdpath does, so I don't change it):
No worries, it just help identify where the grub binary location. in your case it looks like wrong. but can be ignore for now.

Code: Select all

...
grub rescue> set prefix=(hd1,gpt4)/grub
grub rescue> set root=(hd1,gpt4)
grub rescue> insmod normal
grub rescue> normal
In "normal" mode, if grub.cfg were found and successfully loaded and the grub.cfg" contain "menuentry" section, then a menu screen should show. My guess it that "normal" module were not able to load the grub.cfg file or something wrong in that file.

Code: Select all

...

grub>initrd /initramfs-6.17.13-gentoo.img
error: out of memory.
...
I guess either the img file is too big or wrong format or the grub support module not loadded therefor grub does not know how to handle it.

Code: Select all

...
grub>boot
EFI stub: ERROR: FIRMWARE BUG: efi_loaded_image_t::image_base has bogus value
EFI stub: ERROR: Failed to install memreserve config table!
EFI stub: ERROR: Could not determine UEFI Secure Boot status.
EFI stub: ERROR: Unable to construct new device tree.
EFI stub: ERROR: Failed to update FDT and exit boot services
error: start_image() returned 0x0.

grub>
possibly same issue as initrd, your kernel image file may be in a format that grub does not understand so it is load as is and therefor the efi_loaded_image_t::image_base have wrong value for the kernel stub to continue.
Top
Post Reply
  • Print view

13 posts • Page 1 of 1

Return to “Gentoo on ARM”

Jump to
  • Assistance
  • ↳   News & Announcements
  • ↳   Frequently Asked Questions
  • ↳   Installing Gentoo
  • ↳   Multimedia
  • ↳   Desktop Environments
  • ↳   Networking & Security
  • ↳   Kernel & Hardware
  • ↳   Portage & Programming
  • ↳   Gamers & Players
  • ↳   Other Things Gentoo
  • ↳   Unsupported Software
  • Discussion & Documentation
  • ↳   Documentation, Tips & Tricks
  • ↳   Gentoo Chat
  • ↳   Gentoo Forums Feedback
  • ↳   Duplicate Threads
  • International Gentoo Users
  • ↳   中文 (Chinese)
  • ↳   Dutch
  • ↳   Finnish
  • ↳   French
  • ↳   Deutsches Forum (German)
  • ↳   Diskussionsforum
  • ↳   Deutsche Dokumentation
  • ↳   Greek
  • ↳   Forum italiano (Italian)
  • ↳   Forum di discussione italiano
  • ↳   Risorse italiane (documentazione e tools)
  • ↳   Polskie forum (Polish)
  • ↳   Instalacja i sprzęt
  • ↳   Polish OTW
  • ↳   Portuguese
  • ↳   Documentação, Ferramentas e Dicas
  • ↳   Russian
  • ↳   Scandinavian
  • ↳   Spanish
  • ↳   Other Languages
  • Architectures & Platforms
  • ↳   Gentoo on ARM
  • ↳   Gentoo on PPC
  • ↳   Gentoo on Sparc
  • ↳   Gentoo on Alternative Architectures
  • ↳   Gentoo on AMD64
  • ↳   Gentoo for Mac OS X (Portage for Mac OS X)
  • Board index
  • All times are UTC
  • Delete cookies

© 2001–2026 Gentoo Foundation, Inc.

Powered by phpBB® Forum Software © phpBB Limited

Privacy Policy