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…
Over the last few months (and since the last post) the mouse support in U-Boot Concept has matured quite a bit. The various performance improvements have had a big impact and the UI is now smooth and useable. Here’s a video: So what’s next? Let’s look at a few topics. Touchpads So far touchpads are…
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…
A new patch series has landed in U-Boot concept, adding foundational support for the Tillitis TKey, an open-source USB security token. This series lays the groundwork for integrating hardware-backed security operations directly within the bootloader. The TKey is an interesting piece of hardware. It’s a small, programmable USB device that contains a unique, internal secret…
Expo is U-Boot’s forms and UI subsystem. It supports text, images and menus and a large expo can contain quite a bit of information. How do you debug and understand that? Tracing through large, linked data structures is not fun. U-Boot Concept now has an expo_dump() function, designed to be called from your code when…
My first ARM machine was an Archimedes way back in about 1987. I received the first unit sold in New Zealand. At some point my machine started running Acorn’s RISC OS. For me, some of the amazing things about RISC OS were anti-aliased outline fonts, a string-sound generator which worked without a data table and…
Expo is U-Boot’s menu- and GUI-layout system. It provides a set of objects like text, images and menu items. Expo allows these objects to be positioned on the display. Most importantly it can render the objects onto the display. Input delays The typical loop polls the expo for input (keyboard or mouse), does any required…
Testing boot scenarios in very important but there are quite a lot of them! Concept currently has about 13 images containing various partitions and files used by the bootstd tests. These are listed in test.dts, for example: All images are built by test_ut_dm_init_bootstd(), but most of these are disabled by default, to avoid making sandbox…
A new 24-patch series in Concept that introduces basic support for unlocking LUKS1 encrypted partitions directly within U-Boot. This is a foundational step toward a more integrated and user-friendly full-disk encryption (FDE) experience. 🤔 The Problem with “Late” Unlocking Traditionally, FDE on Linux systems is handled late in the boot process. U-Boot loads a kernel…
The build-qemu script provides lots of useful features and is an easy way to run U-Boot under QEMU with an OS, with or without video, etc. Now in Concept it is possible to pass a boot command! The -b/–bootcmd option creates a special ‘file’ within QEMU that contains the requested command. Then U-Boot uses an…