image_pdfimage_print
🔑 Full Circle: Completing TKey Hardware-Backed LUKS Unlock

🔑 Full Circle: Completing TKey Hardware-Backed LUKS Unlock

This final series in Concept closes out the complete implementation of TKey hardware-backed full disk encryption (FDE) in U-Boot. The previous series established the core logic and UI flow. This final work wraps up the effort by providing end-to-end testing, a useful Python tool for key management on the host, along with documentation, making the…

🔒 TKey Integration: Unlocking Encrypted Disks

🔒 TKey Integration: Unlocking Encrypted Disks

A new series in Concept introduces the complete logic and UI enhancements required to use a TKey to unlock an encrypted disk (like a LUKS partition) before booting an operating system. 1. The TKey Unlock Flow The TKey unlock process is complex because it involves iterative communication with the external hardware and handling scenarios like…

Modernising Allocation: U-Boot Upgrades to dlmalloc 2.8.6

Modernising Allocation: U-Boot Upgrades to dlmalloc 2.8.6

For over two decades—since 2002—U-Boot has relied on version 2.6.6 of Doug Lea’s malloc (dlmalloc, old docs) to handle dynamic memory allocation. While reliable, the codebase was showing its age. In a massive 37-patch series, we have finally updated the core allocator to dlmalloc 2.8.6. This update brings modern memory efficiency algorithms, better security checks,…

Where did I come from? Introducing the backtrace command

Where did I come from? Introducing the backtrace command

Debugging embedded bootloaders can often feel like working in the dark. When execution crashes or behaves unexpectedly, the first question an engineer usually asks is, “How did I get here?” Of course, one should always have a JTAG debugger ready to press into service, but so few boards provide a JTAG header. To help, a…

Cleaning up the Nulls: Introducing ofnode Stubs for Non-DT Builds

Cleaning up the Nulls: Introducing ofnode Stubs for Non-DT Builds

In the world of U-Boot, the Device Model (DM) and Device Tree (DT) are the standard for hardware description. However, U-Boot runs on a massive variety of hardware, including constrained systems where full Device Tree support (OF_REAL) might be disabled. A recent patch cleans up how the core handles these “no-Device-Tree” scenarios, ensuring that code…

Introducing Codman: A Deep Dive into U-Boot Build Analysis

Introducing Codman: A Deep Dive into U-Boot Build Analysis

U-Boot is a massive project. With thousands of files, nearly endless configuration possibilities, and complex Kconfig dependencies, a single board configuration often only compiles a small fraction of the total source tree. For developers and maintainers, this complexity often leads to difficult questions: Simply searching for CONFIG_ macros or header inclusions is rarely enough. The…

Tidying up the FIT: Refactoring, Testing, and Shrinking U-Boot

Tidying up the FIT: Refactoring, Testing, and Shrinking U-Boot

Flattened Image Trees (FIT) are a cornerstone of modern U-Boot booting, offering a flexible way to package kernels, device trees, ramdisks, and firmware. However, the code responsible for printing information about these images—the output you see when running mkimage -l or iminfo—has been around for a long time. As with any legacy code, it had…

Unlocking Modern Storage: U-Boot Adds LUKSv2 Support

Unlocking Modern Storage: U-Boot Adds LUKSv2 Support

We’re excited to announce that U-Boot concept has merged support for unlocking LUKSv2 encrypted partitions! This is a significant enhancement to U-Boot’s security capabilities, allowing it to handle the encryption standard used today by most current Linux distributions. This 16-patch series (and a small follow-up) bring U-Boot up to speed with modern disk encryption, building…