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…

Seeing is Believing: Video Support Lands for the ARM EFI App! 🎨

Seeing is Believing: Video Support Lands for the ARM EFI App! 🎨

For a while now, U-Boot’s EFI application (efi_app) has been a handy tool, but with one noticeable difference between architectures: x86 could show things on the screen, while ARM was stuck in the dark. If you wanted a splash screen or a graphical boot menu in your ARM EFI app, you were out of luck….

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…

Supercharging FITs: U-Boot’s New Two-Stage Boot Capability

Supercharging FITs: U-Boot’s New Two-Stage Boot Capability

The Flattened Image Tree (FIT) is at the heart of modern U-Boot booting, providing a flexible and verifiable way to package kernels, ramdisks, and devicetrees. A new series introduces a significant enhancement to how U-Boot processes FITs, enabling a powerful two-stage boot process. This allows a “load-only” FIT to configure the system (like setting up…

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…

New VBE Boot Method: Decoupling Your OS and Devicetrees

New VBE Boot Method: Decoupling Your OS and Devicetrees

In the world of embedded systems, a Flattened Image Tree (FIT) is the standard way to package a bootable OS, typically bundling the kernel, a ramdisk, and the necessary devicetree (FDT) into a single, verifiable file. While convenient, this approach tightly couples the OS with its hardware description. But what if the OS and the…

Virtio-SCSI Arrives, Backed by a Major SCSI Overhaul

Virtio-SCSI Arrives, Backed by a Major SCSI Overhaul

We’re excited to announce a significant new feature in U-Boot: a virtio-scsi driver. While U-Boot has long supported virtio-blk for block device access in virtualized environments, virtio-scsi offers greater flexibility, allowing a single virtio device to host multiple disks (LUNs) and supporting features like hotplug. This comprehensive 27-patch series, does more than just add a…

Giving FIT-loading a Much-Needed Tune-Up

Giving FIT-loading a Much-Needed Tune-Up

The U-Boot boot process relies heavily on the Flattened Image Tree (FIT) format to package kernels, ramdisks, device trees, and other components. At the heart of this lies the fit_image_load() function, which is responsible for parsing the FIT, selecting the right images, and loading them into memory. Over the years, as more features like the…

New U-Boot CI Lab Page

New U-Boot CI Lab Page

U-Boot has a new continuous integration (CI) lab page that provides a real-time look at the status of various development boards. The page, located at https://lab.u-boot.org/, offers a simple and clean interface that allows developers and curious people to quickly check on the health and activity of each board in the lab. When you first…