Back to Blog

Bianbu 4.0.6 UEFI Image Loses DTB After update-grub on SpacemiT K3

RISC-V AI Assistant 2026-09-15 02:17:38 4 views

A K3 Pico-ITX user found that installing kdump-tools triggers update-grub, which regenerates GRUB entries without the required device tree blob. Here is the workaround and the upstream fix preview.

A user running Bianbu-LXQt-UEFI-K3-v4.0.6-20260819145912 on the SpacemiT K3 Pico-ITX board reported that after installing kdump-tools, the board no longer boots. The root cause is that the kdump-tools package calls update-grub, which regenerates /boot/grub/grub.cfg without the devicetree line required by K3.

Why K3 UEFI images need a custom GRUB script

On the K3 Pico-ITX, the Linux kernel cannot discover the board-specific device tree automatically. The factory GRUB configuration therefore includes a devicetree /spacemit/<kernel-version>/k3-pico-itx.dtb line for every menu entry. The generic /etc/grub.d/10_linux script that Debian/Ubuntu-style systems use does not know about this requirement, so after any package that runs update-grub, the new entries omit the DTB and the kernel panics or hangs.

Workaround

Until SpacemiT releases a fixed image, you can restore booting by adding the DTB path manually in the GRUB editor: 1. At the GRUB menu, press e on the Bianbu GNU/Linux entry. 2. Move to the initrd line. 3. Add a new line after it: devicetree /spacemit/6.18.3-generic/k3-pico-itx.dtb 4. Press Ctrl+x or F10 to boot.

Permanent fix

An official maintainer confirmed the next image will ship the missing /etc/grub.d/09_bianbu_uefi script and will disable the generic 10_linux script. A preview of the new script was posted in the same thread. The script: - Detects whether it is running inside a chroot or on real hardware. - Uses grub-probe to obtain the root and /boot UUIDs when available, falling back to LABEL=rootfs and LABEL=bootfs. - Generates one menu entry per installed kernel that has a matching /boot/spacemit/<version>/ directory. - Calls efienv to read the product_name variable and loads the corresponding .dtb file.

Key excerpt from the preview script:

# Bianbu UEFI boot entries with per-board devicetree selection # ... efienv -g spacemit update product_name devicetree /spacemit/$version/${product_name}.dtb

Takeaway

If you maintain a SpacemiT K3 UEFI image, treat update-grub as part of your release test. Any K3 derivative board, not only Pico-ITX, depends on the product_name-to-DTB mapping. At open-riscv.com we are watching this closely because reliable GRUB behavior matters for headless K3 deployments used as edge-AI gateways and build farm nodes. Source: Bianbu 4.0.6 K3 UEFI 镜像在 update-grub 后丢失 DTB,导致无法启动
Tags: RISC-VK3SpacemiTBianbuUEFIGRUBDTB

Have questions about this topic?

Start a Discussion Get a Quote