PECA: Firmware a kernel v žádným případě neměnit bezobslužně, to je jen otázka, *kdy* tě to pokouše.
Od jisté doby mám na SD kartě /boot sda1, /boot.alt sda2, /boot.recovery sda3, / sda5, /root.alt sda6 a /recovery sda7
S tím, že všechny booty jsou fat16, / je btrfs s RAID1 na SD a USB, a /root.alt a /recovery je ext4.
/boot je defaultní, boot.alt je jeho kopie (už se hodilo i při poškození karty), boot.recovery a recovery je nějaký jiný armbian
mám custom initramfs, který má moduly pro USB+kbd, statický custom busybox, a hlavně skript, který čeká, jestli naskočí systém do 5 minut: když ne, rebootne do boot.alt. Pokud nenaběhne boot.alt, týž skript rebootne do recovery. Tam teda neběží ty věci, kvůli kterým tam malina je, ale zase se to pokouší všemi způsoby řvát, aby si toho všiml monitoring.
Všude (včetně initramfs) jede dropbear se stejným klíčem (ten initramfs se musí pak shodit a pustit plnotučně), tj. pokud naběhne aspoň něco, tak se snad dobouchám.
No a výměna kernelu probíhá tak, že se ručním zásahem standardním postupem upgraduje /boot a /, zbuildí se přitom initramfs (má na to hook), a reboot. To by teoreticky šlo automaticky přes unattended-upgrades, ale věčně zelený je strom praxe. Pokud to proběhne dobře, tak se v plánovaným downtime rebootne do recovery, odtamtud se zkopíruje /boot na /boot.alt a / na /root.alt, zkusí se boot z boot.alt, a pak reboot ze standardního /boot .
Není to zas tak složitý, jak to vypadá z textu, nejtěžší bylo na začátku správně sestavit ten initramfs - teď se to pouští ručně jen pro úplnou jistotu.