With traditional software package management solutions like APT and Yum showing their age and not adapting well to the embedded world and the multitude of new areas for Linux like IoT, a new generation of Linux software update solutions atomic-based continues to be worked on. Matt Porter of the Konsulko Group presents this week at the Embedded Linux Conference Europe 2016 a comparison of these update technologies.
Incremental atomic updates have been researched by several Linux software vendors to provide more reliable distribution updates, smaller size updates via binary deltas, and generally allow rollbacks if something goes wrong. Some of the new distribution update mechanisms covered included SWUpdate, Mender, OSTree, and swupd. Interestingly, Ubuntu’s Snappy is not mentioned in the slideshow.
SWUpdate is a single / dual image update framework which is modular, supports signed images, uses Kconfig for configurations, can handle local or remote updates, etc. SWUpdate is particularly designed for embedded systems.
Mender, on the other hand, is a solution for over-the-air software updates. Mender is written in the Go programming language and is a dual-image update framework.
One of the best known in this presentation is OSTree for incremental atomic upgrades. OSTree is similar to Git and is used by Fedora / Red Hat and GNOME’s container system, Flatpak, also uses OSTree.
We finally talked about swupd, the update system run by the Clear Linux distribution from Intel. Swupd is hosted on GitHub with its client and server parts hosted by Clear Linux. Swupd is similar to OSTree but does not require a restart to activate bundles.
For those not in Berlin for the Embedded Linux Conference Europe, you can learn more about these different software update mechanisms with a focus on Embedded Linux through these PDF slides.