Skip to main content

Zašto A/B particioniranje?

U ugrađenim sustavima, neuspjela ažuriranja mogu onemogućiti uređaje. A/B raspored to rješava održavanjem dva root datotečna sustava:

  • Slot A — aktivni rootf-ovi
  • Slot B — čekaju rootf-ove za sljedeće ažuriranje

Kada ažuriranje uspije, bootloader se prebacuje na novi utor. Ako pokretanje ne uspije, vraća se na posljednju poznatu dobru verziju.

Ovaj pristup pretpostavlja da utor A i utor B imaju istu veličinu particije, što ponekad može biti nezgodno u ugrađenim sustavima kada su resursi ograničeni.

swupdate sa sustavom za spašavanje

Drugi pristup je stvaranje particija za mali sustav spašavanja i veće particije za normalni sustav.

Primjer rasporeda particija

Tipičan Raspberry Pi Compute Module 5 (CM5) raspored mogao bi izgledati ovako:
Svrhatipaparticije
P1FAT32/boot_A (kernel, cmdline, bootloader)
P2ext4rootfs A
P3FAT32/boot_B (kernel, cmdline, bootloader za rescue system)
P4ext4rootfs_B
P5ext4Podaci / konfiguracija
Bootloader može koristiti zastavicu (na primjer, GPIO17=1 u rpi-eepromu) kako bi odredio hoće li pokrenuti sustav s particije za spašavanje.

Praktični primjer

Ova postavka demonstrirana je u dva rpi-image-genprimjera projekta:

Prvi stvara sustav spašavanja, a drugi kombinira sustav spašavanja s drugim sustavom koji radi, podešavajući oznake particija u cmdline.txt i fstab.

Upravljanje ažuriranjem

Neaktivnu sistemsku particiju možete ručno montirati kako biste ažurirali konfiguracije, aplikacije ili sistemske komponente.
Za produkcijske sustave, ažuriranja se obično upravljaju putem SWUpdate, koji ovaj proces sigurno automatizira.

Integracija s SWUpdate

SWUpdate nativno podržava strategije ažuriranja dual-rootfs (A/B).
Particije i logika ažuriranja definirani su izravno u sw-description datoteci.

Ovaj pristup osigurava atomska ažuriranja sustava s ugrađenom sigurnošću povratka — što je ključna značajka za uređaje bez glave ili na daljinu, gdje ručni oporavak nije izvediv.