Table of Contents

FreeBSD Developer Summit: Fail-Safe Boot Code

Date: TBD

Overview

FreeBSD has provided a failsafe upgrade path for appliances with NanoBSD (UFS + GPT Flags) for many years. Recent efforts to build a similar system for ZFS based systems using Boot Environments are going well, and cover everything after /boot/loader. However, the approach NanoBSD used (GPT Flags) doesn't work for boot environments, because there is only a single ZFS partition. The new and old system image are inside that partition. This requires extending the 'boot once' style failover system to earlier parts of the bootcode.

The UEFI standard provides a standard way to do failover and boot once. The Boot Manager protocol has been implemented completely there and can be used to reliably implement failover protocols. However, some embedded platform don't support writing to the UEFI environment (thus making persistent changes to the boot impossible, though these are just supposed to be for a one and only one way to boot scenarios). Also, some BIOS makers have such ham-fisted UEFI implementations that they clobber some or all of the UEFI BootXXXX variables. Finally, no updating script for NanoBSD has been upstreamed.

Agenda

Attending

Please add yourself here. Your name needs to already appear on the general developer summit attendees list though.

Name Username / Affiliation Topics of Interest Notes
AllanJude allanjude Organizer
WarnerLosh imp UEFI / Lua need to attend remotely
KrisMoore kmoore UEFI / ZFS
EmmanuelVadot manu
DaveCottlehuber dch UEFI & Lua for automation

Results

Notes: https://hackmd.io/AA4TrMDERUKn_1qw0TEyhA