10-22, 15:15–15:40 (UTC), Event Loft
Updating embedded systems reliably requires more than just the actual
update process. This presentation gives an overview of the overall design
and components needed for successful system updates.
With the security issues in recent year, the fact that updates are
necessary is no longer in question. Still, for embedded systems updates
remain a challenge. With no administrator to handle unexpected problems, a
failed update can render the device unusable, which is not acceptable.
Performing updates reliably is only possible when updating is considered in
the design of the entire system, from the bootloader to the application.
This presentation gives an overview of the building blocks and decisions made
to create such a design. The configuration and boot choices in the bootloader,
watchdog handling, monitoring at boot- and runtime and, of course, the actual
update process itself.
The result is showcased using various open source components such as
barebox, systemd, rauc and casync.