Warner Losh
Warner has been involved in BSD and FreeBSD for a long time. Most recently, his work has focused on boot loaders, the storage stack and getting into trouble.
Session
Now that LinuxBoot support is integrated into FreeBSD, you may be wondering how to effectively use LinuxBoot to build an image to boot FreeBSD. Since this approach is not yet well documented, I will offer some helpful tools and advice for working within this environment.
First, I will introduce LinuxBoot, discuss where it’s used, and cover key pieces of LinuxBoot architecture. I will then present an overview of the Flash File System (FFS) structure used to store firmware; explain some tools to create, extract, and repackage FFS images; and share examples of aarch64 and amd64 running under QEMU created using these tools. In addition, I will discuss physical hardware concerns, issues related to burning images for booting on bare metal hardware, and techniques for minimizing an existing UEFI image to make room for a Linux kernel. Next, I will walk you through creating your own custom configuration for the minimal kernel in this constrained LinuxBoot environment. Finally, I’ll survey tools to create the initrd the Linux kernel needs to then boot FreeBSD.