monogon-dev/monogon

A/B updates 2: bootentryless

q3k opened this issue · 6 comments

q3k commented

This is a tracking issue for the effort to replace the newly baked A/B update system with another A/B update system.

The main issue with the current one is that it relies on boot entry manipulation. Turns out EFI firmware is not very good at this, and we have production hardware that does everything from losing entries to losing entry updates. It's not fun, and obviously not reliable.

The alternative currently being worked on leverages a more complex EFI 'pre-loader' that we implement ourselves in Rust and which dispatches into one of two A/B slots which is one of two kernels we could boot. Then we continue with the previous logic of the kernel having its own 'loader' stub that figures out which partition to boot based on its file name.

lorenz commented

Merged, waiting for HW validation

q3k commented

Still waiting for HW validation.

q3k commented

Deployed to existing cluster, waiting to be deployed on new provider (Lumen) and actually tested.

Lumen machines are deployed and are waiting for a first update bundle

The AMD machines at Equinix have issues with old boot entries. The Intel machines at lumen just work. This is tracked by #279