U-Boot’s CI pipeline has seen two rounds of improvements recently, adding test coverage for new platforms, the Rust ulib demo and EFI application boards. Rust Toolchain and Ulib Demo Testing (ci/ulibd) The first round added the Rust toolchain to the Docker CI image and enabled testing of the ulib Rust demo across multiple architectures. The…
Linux needs deep understanding of the hardware it is running on. Without this it either cannot function, or cannot take full advantage of hardware features. While most peripherals can be probed to find out what they are (SCSI, USB, UFS, etc.), we need a way to know about the core hardware, such as the USB…
One of the more ambitious initiatives in U-Boot recently is the U-Boot Library (ulib) — the ability to build U-Boot as a reusable library that external programs can link against. Until now, ulib has only worked on sandbox, U-Boot’s native host execution environment. This series takes the first step toward real hardware by bringing ulib examples to…
U-Boot has long supported extlinux-style boot configurations, but there is another widely-used standard for describing boot entries: the Boot Loader Specification (BLS). Fedora, RHEL and other distributions use BLS Type #1 entries to describe available kernels and their parameters. With this series, U-Boot gains native support for discovering and booting from these entries. Why BLS? The extlinux format…
Introduction Pickman is a tool for cherry-picking patches from upstream U-Boot into a downstream branch. It walks the first-parent chain of the source branch, finds merge commits, and cherry-picks their contents one merge at a time using an AI agent. This works well for normal merges containing a handful of commits. But upstream U-Boot occasionally…
Introduction U-Boot on x86_64 has traditionally relied on a Secondary Program Loader (SPL) to bootstrap into 64-bit mode. SPL starts in 16-bit real mode (as required by the x86 reset vector), transitions through 32-bit protected mode, sets up page tables, and finally jumps into the 64-bit U-Boot proper. A recent series adds support for running…
If you use U-Boot’s buildman tool frequently, you are likely familiar with the standard two-step dance. First, you run the build. Then, to really understand what happened—checking for code bloat, size changes, or new warnings—you run buildman -s to generate the summary. While buildman effectively has two modes (building and summarising), treating them as mutually…
Have you ever found yourself wishing for a bit more “modernity” while editing environment variables or command strings at the U-Boot prompt? Our latest patch series brings a suite of enhanced editing features to U-Boot, designed to make the command-line experience much more forgiving and efficient. While these features improve the standard CLI, they were…
We’ve been working to improve the structure of the ext4l filesystem implementation in U-Boot, specifically targeting the large compatibility layer that allows us to reuse Linux kernel code. We’ve just posted a new 33-patch series that reorganises the compatibility stubs, moving them out of the monolithic ext4_uboot.h and into their proper locations within include/linux/. The…
As the “Expo” menu system in U-Boot continues to mature, we are moving beyond simple menu selections and into more complex user interaction. One area needing significant attention is text input—specifically, how we handle multi-line text editing and the underlying video console cursor. In a new 16-patch series, we overhaul the textedit object to support…