diff --git a/docs/bare-metal.md b/docs/bare-metal.md new file mode 100644 index 0000000..db4a1d6 --- /dev/null +++ b/docs/bare-metal.md @@ -0,0 +1,23 @@ +# ZeroDownTime Alpine + +## Disklayout + +Inspired by ChromeOS. + +Partition | Label | Size | Comment +----------|-------|------|-------- +1 | EFI | 128M | EFI Grub, Syslinux for legacy BIOS +2 | RootA | 4GB | Slot A - RootFS incl. kernel and initrd +3 | RootB | 4GB | Slot B - RootFS incl. kernel and initrd +4 | Data | 100% | (LUKS optional) + LVM: /var, ... + +OS upgrades are atomic. If running using Slot A, the upgrade will install the new OS and Kernel into Slot B and switch the default boot order in grub.cfg residing in the EFI partition. + +## First boot +Instance meta-data on bare-metal is stored next to EFI bootloader in partition one as yaml. + +During first boot of Slot A or B, tiny-cloud will use the NoCloud meta-data yaml to bootstrap the instance. + + +# Resources +- https://chromium.googlesource.com/chromiumos/docs/+/HEAD/disk_format.md#x86-EFI-BIOS