image_pdfimage_print
A way to avoid needing clock support in xPL

A way to avoid needing clock support in xPL

U-Boot’s Verified Boot for Embedded (VBE) uses multiple boot phases – TPL, VPL, SPL and U-Boot proper – each with a different set of drivers enabled. On rk3399 boards using the DesignWare MMC controller, VPL does not include the CLK framework, to keep the binary small. This causes an intermittent card-enumeration failure that was surprisingly…

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,…

Running U-Boot x86_64 Directly from ROM Without SPL

Running U-Boot x86_64 Directly from ROM Without SPL

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…

Streamlining U-Boot Workflows: Build and Summarize in One Shot

Streamlining U-Boot Workflows: Build and Summarize in One Shot

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…

U-Boot CLI Gets a Power-Up: Multi-level Undo/Redo and More

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…