Implementing A/B System Updates with U-Boot
summary
Practical recipe for A/B updates using U-Boot: use U-Boot’s part list to detect the partition with the bootable flag, flip that flag with the MBR/GPT commands (or sgdisk) after writing the new image, mark the update with upgrade_available and rely on bootcount/bootlimit + altbootcmd to detect failed boots and run an alternate boot sequence; use a Linux user-space confirmer to clear upgrade_available, and a watchdog to force reboot/fallback when the new slot fails.
AI-written summary · about
chapters (18)
- 0:00Michael Opdenacker
- 1:34Abstract
- 2:24Full image update approaches
- 4:46Main practical questions
- 6:00Using partition bootable flags
- 8:29Detecting the active partition in Linux
- 9:18Detecting the active partition in U-Boot at boot time
- 10:13U-Boot: booting on the active partition (2)
- 12:55U-Boot: using extlinux support (2)
- 16:00Recovering from a failed upgrade - Challenges
- 19:45Accessing the U-Boot environment from Linux
- 20:37Using a watchdog
- 21:37Editing a partition's bootable flag from U-Boot
- 23:02Why partition flags?
- 24:09Limitations and advice
- 25:32Strategies for updating the bootloader?
- 28:06What to remember
- 29:26References
related talks
41mCase Study: Switching from Asymmetric to Symmetric Software Updates
33mU-Boot's New Standard Boot and What's Next
16mPatchlings: Enabling A/B-Equivalent OTA Updates for Deeply Embedded...
50mThe ultimate guide to software updates on embedded Linux devices
55mBoF: Embedded Update Tools
49mGeneric System for Safe Rootfs/Kernel Upgrades without Single-Point of Failure
39mHow to Choose a Software Update Mechanism for Embedded Linux Devices
42mwolfBoot: Open Source Secure Boot and Remote Firmware Updates in Safety-critical..
