Skip to main content

Hoekom A/B-partisionering?

In ingebedde stelsels kan mislukte opdaterings toestelle onbruikbaar maak. 'n A/B-uitleg los dit op deur twee wortellêerstelsels te handhaaf:

  • Gleuf A — aktiewe wortels
  • Slot B — wag rootfs vir volgende opdatering

Wanneer 'n opdatering slaag, skakel die bootloader oor na die nuwe gleuf. As die boot misluk, rol dit terug na die laaste bekende goeie weergawe.

Hierdie benadering veronderstel dat gleuf A en gleuf B dieselfde grootte van die partisie het, wat soms moeilik kan wees in ingebedde stelsels wanneer die hulpbronne beperk is.

swupdate met reddingstelsel

'n Ander benadering is om partisies te skep vir 'n klein reddingsisteem en 'n groter partisie vir die normaalweg lopende stelsel.

Voorbeeld van partisie-uitleg

'n Tipiese Raspberry Pi Compute Module 5 (CM5) uitleg kan so lyk:
PartisietipeDoel
p1FAT32/boot_A (kern, cmdline, bootloader)
p2ext4rootfs A
p3FAT32/boot_B (kern, cmdline, bootloader vir reddingsisteem)
p4ext4rootfs_B
p5ext4Data / Konfigurasie
Die bootloader kan 'n vlag gebruik (byvoorbeeld, GPIO17=1 in rpi-eeprom) om te bepaal of dit van die reddingspartisie af moet opstart.

Praktiese Voorbeeld

Hierdie opstelling word in twee rpi-image-genvoorbeeldprojekte gedemonstreer:

Die eerste skep die reddingsisteem en die tweede kombineer die reddingsisteem met 'n ander lopende stelsel, en pas partisie-etikette in cmdline.txt en fstabaan.

Bestuursopdatering

Jy kan die inaktiewe stelselpartisie handmatig monteer om konfigurasies, toepassings of stelselkomponente op te dateer.
Vir produksiestelsels word opdaterings tipies bestuur via SWUpdate, wat hierdie proses veilig outomatiseer.

Integrasie met SWUpdate

SWUpdate ondersteun inheems dual-rootfs (A/B) opdateringsstrategieë.
Partisies en opdateringslogika word direk in die sw-description -lêer gedefinieer.

Hierdie benadering verseker atomiese stelselopdaterings met ingeboude terugrolveiligheid — 'n noodsaaklike kenmerk vir koplose of afgeleë toestelle, waar handmatige herstel nie haalbaar is nie.