CM3588 Plus 32GB RAM - 256GB eMMC + NAS Kit
I'm using the FriendlyELEC 12V 4A Universal Power Adapter.

I'm using a custom wrapper script for rkdeveloptool on a Linux host to flash. At first I thought my flashing process must be the issue, so I then turned to the eflasher image. But it crashes in exactly the same place and fashion. If you want to examine my flashing process, I'm happy to provide it, but the panic I'm providing is from the eflasher image, so I don't think my process is part of the problem.

**Hardware:**

    - CM3588 Plus (32GB RAM / 256GB eMMC)

    - FriendlyELEC 12V 4A Universal Power Adapter

    - NAS Kit chassis


**Flashing tools:**

    - I primarily use a custom wrapper for `rkdeveloptool` on Linux.

    - To rule that out, I also tested FriendlyELEC's **eflasher** method via SD card — **same result**, so this issue appears unrelated to flashing.


## Problem

Most official FriendlyELEC images **crash with a kernel panic** very early during boot. The crashes occur **after freeing initrd** and are consistently of the form:

Code: Select all

```ascii
[    7.604839] Freeing initrd memory: 7756K
[   22.765725] CPU0 online:1
[   22.765744]    EL2(NS) PC: <0xffffffc0092491e4> cpu_do_idle+0x4/0xc
[   22.765881]
[   22.765887] CPU1 online:1
[   22.765896]    EL2(NS) PC: <0xffffffc0092491e4> cpu_do_idle+0x4/0xc
[   22.766024]
[   22.766031] CPU2 online:1
[   22.766040]    EL2(NS) PC: <0xffffffc0092491e4> cpu_do_idle+0x4/0xc
[   22.766168]
[   22.766174] CPU3 online:1
[   22.766183]    EL2(NS) PC: <0xffffffc0088748a0> rockchip_panic_notify+0x2d4/0x394
[   22.766313]
[   22.766320] CPU4 online:1
[   22.766329]    EL2(NS) PC: <0xffffffc00810b828> do_raw_spin_lock+0x5c/0x134
[   22.766459]
[   22.766465] CPU5 online:1
[   22.766474]    EL2(NS) PC: <0xffffffc0092491e0> cpu_do_idle+0x0/0xc
[   22.766604]
[   22.766610] CPU6 online:1
[   22.766619]    EL2(NS) PC: <0xffffffc0092491e0> cpu_do_idle+0x0/0xc
[   22.766748]
[   22.766755] CPU7 online:1
[   22.766764]    EL2(NS) PC: <0xffffffc0092491e0> cpu_do_idle+0x0/0xc
[   22.766893]
[   22.766905]            CPU0       CPU1       CPU2       CPU3       CPU4       CPU5       CPU6       CPU7       
[   22.766924]   9:          0          0          0          0          0          0          0          0     GICv3  25 Level     vgic
[   22.766939]  11:          0          0          0          0          0          0          0          0     GICv3  30 Level     kvm guest ptimer
[   22.766953]  12:          0          0          0          0          0          0          0          0     GICv3  27 Level     kvm guest vtimer
[   22.766968]  13:        359       1666        200        195        210       4799        223        193     GICv3  26 Level     arch_timer
[   22.766982]  14:          0          0          0          0          0          0          0          0     GICv3 321 Level     rk_timer
[   22.766998]  15:          0          0          0          0          0          0          0          0     GICv3 309 Level     (null)
[   22.767013]  16:          0          0          0          0          0          0          0          0     GICv3 310 Level     (null)
[   22.767028]  17:          0          0          0          0          0          0          0          0     GICv3 311 Level     (null)
[   22.767042]  18:          0          0          0          0          0          0          0          0     GICv3 312 Level     (null)
[   22.767055]  19:          0          0          0          0          0          0          0          0     GICv3 313 Level     (null)
[   22.767071]  20:          0          0          0          0          0          0          0          0     GICv3 455 Edge      debug-signal
[   22.767085]  21:          0          0          0          0          0          0          0          0     GICv3 365 Level     debug
[   22.767101]  22:          0          0          0          0          0          0          0          0     GICv3 429 Level     rockchip_thermal
[   22.767118]  23:          0          0          0          0          0          0          0          0     GICv3 425 Level     rockchip_usb2phy
[   22.767132]  24:          0          0          0          0          0          0          0          0     GICv3 423 Level     rockchip_usb2phy
[   22.767148]  25:          0          0          0          0          0          0          0          0     GICv3 424 Level     rockchip_usb2phy
[   22.767162]  26:          0          0          0          0          0          0          0          0     GICv3 426 Level     rockchip_usb2phy
[   23.767302]            CPU0       CPU1       CPU2       CPU3       CPU4       CPU5       CPU6       CPU7       
[   23.767319]   9:          0          0          0          0          0          0          0          0     GICv3  25 Level     vgic
[   23.767333]  11:          0          0          0          0          0          0          0          0     GICv3  30 Level     kvm guest ptimer
[   23.767347]  12:          0          0          0          0          0          0          0          0     GICv3  27 Level     kvm guest vtimer
[   23.767361]  13:        360       1824        200        195        210       5099        226        194     GICv3  26 Level     arch_timer
[   23.767374]  14:          0          0          0          0          0          0          0          0     GICv3 321 Level     rk_timer
[   23.767388]  15:          0          0          0          0          0          0          0          0     GICv3 309 Level     (null)
[   23.767401]  16:          0          0          0          0          0          0          0          0     GICv3 310 Level     (null)
[   23.767415]  17:          0          0          0          0          0          0          0          0     GICv3 311 Level     (null)
[   23.767428]  18:          0          0          0          0          0          0          0          0     GICv3 312 Level     (null)
[   23.767441]  19:          0          0          0          0          0          0          0          0     GICv3 313 Level     (null)
[   23.767454]  20:          0          0          0          0          0          0          0          0     GICv3 455 Edge      debug-signal
[   23.767468]  21:          0          0          0          0          0          0          0          0     GICv3 365 Level     debug
[   23.767481]  22:          0          0          0          0          0          0          0          0     GICv3 429 Level     rockchip_thermal
[   23.767495]  23:          0          0          0          0          0          0          0          0     GICv3 425 Level     rockchip_usb2phy
[   23.767508]  24:          0          0          0          0          0          0          0          0     GICv3 423 Level     rockchip_usb2phy
[   23.767522]  25:          0          0          0          0          0          0          0          0     GICv3 424 Level     rockchip_usb2phy
[   23.767535]  26:          0          0          0          0          0          0          0          0     GICv3 426 Level     rockchip_usb2phy
[   23.767546] ------------[ cut here ]------------
[   23.767553] Watchdog detected hard LOCKUP on cpu 4
[   23.767569] WARNING: CPU: 3 PID: 0 at kernel/watchdog.c:445 watchdog_timer_fn+0x30c/0x3c0
[   23.767592] Modules linked in:
[   23.767605] CPU: 3 PID: 0 Comm: swapper/3 Not tainted 6.1.118 #18
[   23.767616] Hardware name: FriendlyElec CM3588 Plus (DT)
[   23.767625] pstate: 604001c9 (nZCv dAIF +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[   23.767637] pc : watchdog_timer_fn+0x30c/0x3c0
[   23.767648] lr : watchdog_timer_fn+0x30c/0x3c0
[   23.767660] sp : ffffffc00a343e50
[   23.767667] x29: ffffffc00a343e50 x28: ffffff87fbe62280 x27: 0000000000000004
[   23.767685] x26: ffffffc009f3b498 x25: 0000000000000004 x24: ffffffc00a5e3c90
[   23.767701] x23: 0000000000000000 x22: ffffff87fbe62a40 x21: ffffffc009a7ea00
[   23.767718] x20: ffffffc009a7e9a8 x19: ffffffc009f3ac50 x18: ffffffffffffffff
[   23.767734] x17: 2020202020302020 x16: fffffffffff8765f x15: ffffffc00a256cb5
[   23.767750] x14: ffffffc00a3439f0 x13: ffffffc00a256cb7 x12: 50554b434f4c2064
[   23.767767] x11: ffffffc009f60098 x10: 0000000000000000 x9 : ffffffc0081150d0
[   23.767783] x8 : 000000000002ffe8 x7 : 00000000ffffe195 x6 : ffffffc00a010098
[   23.767799] x5 : 0000000000000195 x4 : 40000000ffffe195 x3 : 0000000000000000
[   23.767815] x2 : 0000000000000000 x1 : 0000000000000000 x0 : ffffff8100311f80
[   23.767831] Call trace:
[   23.767839]  watchdog_timer_fn+0x30c/0x3c0
[   23.767851]  __hrtimer_run_queues+0x180/0x29c
[   23.767866]  hrtimer_interrupt+0xec/0x240
[   23.767879]  arch_timer_handler_phys+0x30/0x44
[   23.767893]  handle_percpu_devid_irq+0x88/0x1bc
[   23.767906]  generic_handle_domain_irq+0x30/0x44
[   23.767918]  gic_handle_irq+0x54/0x12c
[   23.767929]  call_on_irq_stack+0x24/0x38
[   23.767942]  do_interrupt_handler+0x80/0x8c
[   23.767954]  el1_interrupt+0x30/0x4c
[   23.767968]  el1h_64_irq_handler+0x14/0x1c
[   23.767981]  el1h_64_irq+0x68/0x6c
[   23.767991]  arch_cpu_idle+0x14/0x34
[   23.768004]  default_idle_call+0x3c/0x134
[   23.768017]  do_idle+0x22c/0x290
[   23.768031]  cpu_startup_entry+0x38/0x40
[   23.768044]  secondary_start_kernel+0x11c/0x140
[   23.768058]  __secondary_switched+0x64/0x68


```

&nbsp;

rk3588-usb-alpine-linux-6.1-arm64-20250707.zip | Flashed to eMMC. Boots to login prompt. |
rk3588-usb-buildroot-6.1-arm64-20250613.zip | Flashed to eMMC. Boots to root shell. |
rk3588-usb-debian-bookworm-core-6.1-arm64-20250707.zip | Flashed to eMMC. Kernel panic on boot due to a watchdog-detected hard lockup on CPU. |
rk3588-usb-friendlycore-focal-6.1-arm64-20250717.zip | Flashed to eMMC. Kernel panic on boot due to a watchdog-detected hard lockup on CPU. |
rk3588-usb-friendlywrt-24.10-20250708.zip | Flashed to eMMC. Boots to login prompt. |
rk3588-usb-openmediavault-6.1-arm64-20250717.zip | Flashed to eMMC. Kernel panic on boot due to a watchdog-detected hard lockup on CPU. |
rk3588-usb-ubuntu-noble-desktop-6.1-arm64-20250717.zip | Flashed to eMMC. Kernel panic on boot due to a watchdog-detected hard lockup on CPU. |
rk3588-eflasher-openmediavault-6.1-arm64-20250717.zip | Erased eMMC. Flashed to SD card. Kernel panic on boot due to a watchdog-detected hard lockup on CPU. |


## Observations

    - Panic logs consistently show:

    - `Watchdog detected hard LOCKUP on cpu X`

    - This occurs very early in boot — often around or just after `initrd` is freed.

    - The board is **not overheating** — SoC is cool to the touch.

    - Same behavior across **SD card** and **eMMC**.

    - Power supply is official 12V/4A — ruling out inadequate supply.

    - RAM is correctly detected as 4x 8GB LPDDR5 = 32GB total:`channel[0-3] Size=8192MB`

    - Attempts to turn off SMP, limit number of CPUs, limit memory did not improve the outcome.

* * *

## Other details

    - The simple Alpine/Buildroot/FriendlyWRT images boot fine — likely due to minimal kernel/systemd init footprint.

    - Suspecting RAM init, CPU config, or DTB/memory mapping issues with 32GB boards.


* * *

## Questions / Help Wanted

    - Are the official images fully compatible with 32GB RAM boards?

    - Is there a known DTB limitation or kernel config issue for CM3588 with maxed RAM?

    - Can someone from FriendlyELEC confirm if these crashes are reproducible on their 32GB kits?