image_pdfimage_print
Hunting Memory Leaks in U-Boot’s Test Suite with mcheck

Hunting Memory Leaks in U-Boot’s Test Suite with mcheck

Running U-Boot’s full sandbox test suite – over 1300 tests – should be a clean experience. But with mcheck heap protection enabled and leak checking turned on, cracks started to show. Tests that passed in isolation would fail when run after dozens of others. The mcheck registry would overflow. Heap-pressure tests would segfault. Something was…

ext4l: Supporting Multiple Concurrent Filesystem Mounts

ext4l: Supporting Multiple Concurrent Filesystem Mounts

The ext4l driver – U-Boot’s port of the Linux kernel ext4 implementation – has until now been limited to a single mounted filesystem at a time. This is a consequence of the legacy filesystem interface, where each operation (load, ls, size) re-probes the filesystem from scratch, and global variables track the current mount state. With…

AI-Assisted Patch Review in Patman

AI-Assisted Patch Review in Patman

U-Boot receives hundreds of patch series every release cycle. Reviewing them thoroughly takes time, and context-switching between unrelated subsystems makes it harder still. Patman now has an AI-assisted review mode that can read a patch series from patchwork, review each patch using a Claude agent, and create Gmail draft replies threaded into the original conversation,…

Introducing the Virtual Filesystem (VFS) Layer in U-Boot

Introducing the Virtual Filesystem (VFS) Layer in U-Boot

We are excited to announce a major new feature currently in development for U-Boot: a fully-fledged Virtual Filesystem (VFS) layer. Inspired by the Linux VFS, this new subsystem brings a unified namespace for mounted filesystems, drastically improving how users and developers interact with storage in U-Boot. A Unified Namespace Historically, U-Boot filesystem operations were tightly…

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…

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…