← All Projects
Open Source

BootBaker - FreeBSD Bootloader CI Harness

September 2023
PythonLuaJenkinsGitHub ActionsFreeBSDEDK II

Overview

BootBaker is a CI test harness for the FreeBSD bootloader, built during Google Summer of Code 2023 under the mentorship of Warner Losh, a core FreeBSD developer. The project systematically validates bootloader behavior across all first and second-tier FreeBSD architecture combinations.

Problem

FreeBSD supports a wide range of hardware architectures - amd64, arm64, riscv, powerpc, and more. Before BootBaker, there was no automated way to validate that the bootloader worked correctly across all architecture/firmware combinations. This made it difficult to catch regressions early.

What I Built

  • Modular Python and Lua scripts for automated bootloader testing with dynamic configuration, structured reporting, and error handling
  • A test matrix covering all first and second-tier FreeBSD architecture combinations
  • Linux boot support for amd64 and arm64 via Linux EFI Shim (EDK II), enabling FreeBSD/Linux dual-boot compatibility testing
  • CI pipeline integration with Jenkins and GitHub Actions for automated test result reporting

Key Outcomes

  • Automated regression testing for the FreeBSD bootloader across architectures
  • Bridged FreeBSD/Linux compatibility via EFI Shim integration
  • Accepted into FreeBSD upstream; documented on the FreeBSD Wiki