SWUpdate is a Linux Update agent with the goal to provide an efficient and safe way to update an embedded system. SWUpdate supports local and remote updates, multiple update strategies and it can be well integrated in the Yocto build system by adding the meta-swupdate layer.
Examples using this layer with evaluation boards (Beaglebone, RPI3) are provided in meta-swupdate-boards layer.
It supports the common media on embedded devices such as NOR / NAND flashes, UBI volumes, SD / eMMC, and can be easily extended to introduce project specific update procedures.
Pre- and postinstall scripts are supported, and a Lua interpreter helps to customize the update process.
An update package is described by the sw-description file, using the libconfig syntax or JSON. It is even possible to use Lua with a custom syntax.
Here a short list of the main features:
Different components of this software are under different licenses (a mix of MIT, GPLv2 and GPLv2+). License information for any file is either explicitly stated or defaults to GPL version 2.0+.
Please check inside doc directory for documentation or the online documentation (generated from doc/) at: http://sbabic.github.io/swupdate
Contributions are welcome ! You can submit your patches (or post questions regarding the project) to the swupdate Mailing List:
Please read the contributing chapter in the documentation how to contribute to the project.