Minimal changes to use Raspberry Pi tryboot for A/B updates.
This repository allows implementing a boot flow similar to the one proposed by Raspberry Pi: https://www.raspberrypi.com/documentation/computers/config_txt.html#example-update-flow-for-ab-booting
It provides support for building a Raspberry Pi Yocto image with the following partition schema:
| Device | Partition |
|---|---|
/dev/sdx1 |
Tryboot |
/dev/sdx2 |
BootA |
/dev/sdx3 |
BootB |
/dev/sdx4 |
Extended Partition |
/dev/sdx5 |
RootA |
/dev/sdx6 |
RootB |
/dev/sdx7 |
Data |
The repository contains multiple branches reflecting different stages of development:
tryboot: Initial attempt to create the tryboot partition using subprocess calls.cmdline: First attempt to create two boot partitions with differentcmdlinesettings.tryboot-2: Refactored into awicplugin to generate the tryboot partition.tryboot-3: Further refactoring to modify thewicfile (boot partitions) inworkdirinstead ofdeploydir, as RAUC bundles were otherwise unbuildable.tryboot-4: Additional refactoring to re-generate the WIC bmap file to ensure correct hashes. This is the most up-to-date version!