image_pdfimage_print
Fixing a Devious Memory Corruption Bug in Sandbox

Fixing a Devious Memory Corruption Bug in Sandbox

We’ve just merged a fix in Concept for a particularly tricky memory corruption bug in the U-Boot sandbox environment. This bug was difficult to track down, so we wanted to share the story of the investigation and the solution. The Symptom: Mysterious Heap Corruption The problem first appeared as random and hard-to-reproduce memory corruption in…

Making CI Work for You: New Controls for U-Boot’s GitLab Pipeline

Making CI Work for You: New Controls for U-Boot’s GitLab Pipeline

Continuous Integration (CI) is the backbone of a large project like U-Boot, ensuring that every change is tested against a huge matrix of boards and configurations. While this comprehensive testing is vital for quality, it can also be time-consuming. When you’re focused on a specific feature, waiting for a full “world build” to complete can…

Taming Build Complexity: Introducing Config Fragments in Buildman

Taming Build Complexity: Introducing Config Fragments in Buildman

As U-Boot’s support for hardware grows, so does the complexity of managing build configurations. A single board might require several build variations—for example, one with network support and one without, or a standard build versus one tailored for Android booting. Historically, managing these variations often meant duplicating large defconfig files, a maintenance headache waiting to…

QEMU improvements

QEMU improvements

Since 2018 U-Boot has had a good selection of features for running on top of QEMU, including: Most of this was written by Bin Meng. It uses driver model and is nicely implemented. What’s new? More recently a few more features have been added: The `virtio list` command can be useful for seeing what paravirtualised…

Host-file Access with New virtio-fs

Host-file Access with New virtio-fs

What is virtio-fs? For those unfamiliar, virtio-fs is a modern shared filesystem designed specifically for virtualised environments. It allows a virtual machine (the “guest”) to access a directory on the host system, but it does so with a focus on performance and providing local filesystem semantics. Unlike traditional methods like network filesystems (e.g., NFS, Samba)…

Filesystems in U-Boot

Filesystems in U-Boot

U-Boot supports a fairly wide variety of filesystems, including ext4, ubifs, fat, exfat, zfs, btrfs. These are an important part of bootloader functionality, since reading files from bare partitions or disk offsets is neither scalable nor convenient. The filesystem API is functional but could use an overhaul. The main interface is in fs/fs.c, which looks…