image_pdfimage_print
Introducing Pickman: AI-Powered Cherry-Pick Management for U-Boot

Introducing Pickman: AI-Powered Cherry-Pick Management for U-Boot

Managing cherry-picks across multiple branches is one of the more tedious aspects of maintaining a large project like U-Boot. When you need to backport dozens of commits from an upstream branch while handling merge commits, resolving conflicts, and creating merge requests, the process can consume hours of developer time. Today we’re introducing pickman, a new tool…

The Best of Both Worlds: Hybrid Python/C Testing in U-Boot

The Best of Both Worlds: Hybrid Python/C Testing in U-Boot

U-Boot has two testing worlds that rarely meet. Python tests are flexible and can set up complex scenarios – disk images, network configurations, boot environments. C tests are fast, debuggable, and run directly on hardware. What if we could combine them? The Problem Consider filesystem testing. You need to: The Python test framework handles steps…

When -858993444 Tests Run: A Tale of Linker Lists and Magic Numbers

When -858993444 Tests Run: A Tale of Linker Lists and Magic Numbers

Have you ever seen output like this from your test suite? That’s not a buffer overflow or memory corruption. It’s a wierd interaction between linker alignment, compiler optimisations, and pointer arithmetic. Let me tell you how we tracked it down. The Mystery U-Boot uses ‘linker lists’ extensively – a pattern where the linker collects scattered…

The Silent Saboteurs: Detecting and Resolving malloc() Failures in U-Boot

The Silent Saboteurs: Detecting and Resolving malloc() Failures in U-Boot

The robust operation of any complex software system, especially one as foundational as U-Boot, hinges on the reliability of its core services. Among these, dynamic memory allocation via malloc() is paramount. While often taken for granted, failures in malloc() can be silent saboteurs, leading to unpredictable behaviour, security vulnerabilities, or outright system crashes. Here, we…

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…

Streamlining Emulation in U-Boot: A Kconfig Cleanup 🧹

Streamlining Emulation in U-Boot: A Kconfig Cleanup 🧹

In the world of software development, consistency is key. A recent update to U-Boot Concept takes a solid step in that direction by restructuring how it handles emulation targets. This change makes life easier for developers working across different processor architectures. Previously there were inconsistencies in the configuration system (Kconfig). For example, enabling QEMU emulation…