fiano – LinuxBoot’s Go-based tools for modifying UEFI firmware images

utk: generic UEFI tool kit meant to handle rom images. Usage:
    utk parse <rom-file>
    utk extract [–force] <rom-file> <directory-to-extract-to>
    utk assemble <directory-to-extract-to> <out-rom-file>

fmap: parses flash maps. Usage:
    fmap checksum [md5|sha1|sha256] FILE
    fmap extract i FILE
    fmap jget JSONFILE FILE
    fmap jput JSONFILE FILE
    fmap summary FILE
    fmap usage FILE
    fmap verify FILE

An Attempt to port linuxboot to Dell Latitude E7240

SystemBoot: a LinuxBoot distro that works as a system firmware + bootloader, based on u-root

SystemBoot is a distribution for LinuxBoot to create a system firmware + bootloader. It is based on u-root. The provided programs are:
* netboot: a network boot client that uses DHCP and HTTP to get a boot program based on Linux, and uses kexec to run it
* localboot: a tool that finds bootable kernel configurations on the local disks and boots them
* uinit: a wrapper around netboot and localboot that just mimicks a BIOS/UEFI BDS behaviour, by looping between network booting and local booting. The name uinit is necessary to be picked up as boot program by u-root.

This work is similar to the pxeboot and boot commands that are already part of u-root, but approach and implementation are slightly different. Thanks to Chris Koch and Jean-Marie Verdun for pioneering in this area. This project started as a personal experiment under but it is now an effort of a broader community and graduated to a real project for system firmwares.[…]

Trammell’s CCC LinuxBoot presentation, annotated transcript uploaded

LinuxBoot at 34c3

This is an annotated transcript of an overview talk that I gave at 34C3 (Leipzig 2017) entitled “Bringing Linux back to the server BIOS with LinuxBoot”.


Trammell on LinuxBoot (NERF) and Heads

Note that NERF is also called LinuxBoot now.

The NERF project is a collaboration with Ron Minnich at Google (creator of LinuxBIOS and coreboot) that aims to build an open, customizable, and slightly more secure firmware for server machines based on using Linux and Heads in the ROM to replace UEFI as the bootloader. Unlike coreboot, NERF doesn’t attempt to replace the chipset initialization code with opensource. Instead it retains the vendor PEI (Pre-EFI environment) code as well as the signed ACM (authenticated code modules) that Intel provides for establishing the TXT (trusted execution environment). The NERF firmware replaces the DXE (Driver Execution Environment) portion of UEFI with a few open source wrappers, the Linux Kernel and the Heads measured runtime.