blob: 9704ce6251efa8b7fe7e9c8723f1b3ae861fac6d [file] [log] [blame]
Lorenz Brun54a5a052023-10-02 16:40:11 +02001syntax = "proto3";
2
Jan Schär69b76872025-05-14 16:39:47 +00003package metropolis.node.abloader.spec;
Lorenz Brun54a5a052023-10-02 16:40:11 +02004
5enum Slot {
Tim Windelschmidta10d0cb2025-01-13 14:44:15 +01006 SLOT_NONE = 0;
7 SLOT_A = 1;
8 SLOT_B = 2;
Lorenz Brun54a5a052023-10-02 16:40:11 +02009}
10
11// ABLoaderData contains data the A/B loader needs to chose which slot to boot
12// as well as for auto-rollback functionality.
13message ABLoaderData {
14 // The currently-active slot. This slot will be booted unless next_slot is
15 // set to a non-default value.
16 Slot active_slot = 1;
17 // The slot to boot next, but only once. Once the the slot has been selected
18 // to be booted by the loader, this value is reset before booting into that
19 // slot. If the OS boots successfully, it will update the active_slot to
20 // permanently boot from the new slot.
21 Slot next_slot = 2;
Jan Schär69b76872025-05-14 16:39:47 +000022}