This document compares software update tools that are suitable to implement the CIP software updates architecture. For a thorough comparison of open source software update tools please check the Comparison references section below. We compared the tools from different points of view such as:
Hawkbit
Mender.IO server
HERE OTA community
Custom Http server
SWUpdate + librsync
RAUC + Casync (command)
meta-updater
We compared several methods and read other comparison reports (see “Comparison references” below). All methods have their own advantages and disadvantages. For the next phase, we decided to go for the “SWUpdate + librsync” method because it satisfies the requirements specified by the CIP Software Updates Architecture and Siemens has important experience using that method. We also decided to use Hawkbit on the server side for our initial prototype because it is known that SWUpdate works with Hawkbit. Having said that, the project will be open to other update methods and tools and we welcome any contribution in that sense.
Finally, here is a document that contains more detailed comments and a table where CIP members compared several software update methods:
https://elinux.org/Secure_OTA_Update https://wiki.yoctoproject.org/wiki/System_Update https://mkrak.org/wp-content/uploads/2018/04/FOSS-NORTH_2018_Software_Updates.pdf https://events.linuxfoundation.org/wp-content/uploads/2017/12/Strategies-for-Developing-and-Deploying-your-Embedded-Applications-and-Images-Mirza-Krak-Mender.io_.pdf http://events17.linuxfoundation.org/sites/events/files/slides/ELC2017_SWUpdate.pdf https://events.static.linuxfound.org/sites/events/files/slides/linuxcon-japan-2016-softwre-updates-sangorrin.pdf https://events.linuxfoundation.org/wp-content/uploads/2017/12/ELCE-2018-Update-Tools-BoF_Jan-Lubbe.pdf https://elinux.org/images/f/f5/Embedded_Systems_Software_Update_for_IoT.pdf https://elinux.org/images/3/31/Comparison_of_Linux_Software_Update_Technologies.pdf