blob: 9704ce6251efa8b7fe7e9c8723f1b3ae861fac6d [file] [log] [blame]
syntax = "proto3";
package metropolis.node.abloader.spec;
enum Slot {
SLOT_NONE = 0;
SLOT_A = 1;
SLOT_B = 2;
}
// ABLoaderData contains data the A/B loader needs to chose which slot to boot
// as well as for auto-rollback functionality.
message ABLoaderData {
// The currently-active slot. This slot will be booted unless next_slot is
// set to a non-default value.
Slot active_slot = 1;
// The slot to boot next, but only once. Once the the slot has been selected
// to be booted by the loader, this value is reset before booting into that
// slot. If the OS boots successfully, it will update the active_slot to
// permanently boot from the new slot.
Slot next_slot = 2;
}