image_pdfimage_print
qconfig: From minutes to seconds with kconfiglib

qconfig: From minutes to seconds with kconfiglib

The qconfig.py tool builds a database of CONFIG options across all ~1500 U-Boot boards and can sync defconfig files after Kconfig changes. Until now, both operations spawned two make subprocesses per board – one for make defconfig and one for make auto.conf or make savedefconfig. This required cross-compiler toolchains for every architecture and took several minutes on a well-equipped machine. A new patch series…

Supporting Multiple Bootflows per Partition in U-Boot

Supporting Multiple Bootflows per Partition in U-Boot

U-Boot’s standard boot framework (bootstd) discovers operating systems by scanning partitions for bootflow files. Until now, each partition could contribute at most one bootflow per bootmeth. In practice, formats like extlinux can define several labels in a single configuration file – each pointing to a different kernel – and BLS (Boot Loader Specification) installations can…

Buildman Goes Distributed: Spreading Builds Across Machines

Buildman Goes Distributed: Spreading Builds Across Machines

If you have several machines on your network and want to get builds done more quickly, a new patch series in Concept adds distributed builds to buildman. It spreads work across remote machines over SSH, so you can throw all your available hardware at a build and get results in a fraction of the time. This is…

Automatic Memory-Leak Detection in U-Boot Tests

Automatic Memory-Leak Detection in U-Boot Tests

U-Boot Concept now has built-in memory-leak detection that can be enabled with a single flag. It snapshots the heap before each test and reports any new allocations left behind afterwards, with full caller backtraces showing exactly where the leaked memory was allocated. The problem U-Boot’s driver model creates and destroys hundreds of devices during each…

Running Claude Code in Containers for U-Boot Development

Running Claude Code in Containers for U-Boot Development

We’ve been using Claude Code for U-Boot development and it’s genuinely useful — writing tests, debugging driver issues, working through refactoring. But running an AI with full access to my dev machine makes one…nervous. So we added a cc subcommand to uman, a tool for managing common U-Boot development tasks, that runs Claude Code inside an LXC container….

Closing the Loop: Pickman Now Fixes Its Own CI Failures

Closing the Loop: Pickman Now Fixes Its Own CI Failures

Pickman automates cherry-picking commits from upstream U-Boot into a downstream branch, packaging each batch as a GitLab merge request. Until now, when a CI pipeline failed on one of those MRs — a build error caused by a missing context change, a renamed symbol — a human had to read the logs, find the problem,…

Expanding U-Boot’s CI: Rust Demos, EFI App Boards and More

Expanding U-Boot’s CI: Rust Demos, EFI App Boards and More

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 The first round added the Rust toolchain to the Docker CI image and enabled testing of the ulib Rust demo across multiple architectures. The demo…