# SWUpdate

A Linux update agent for embedded systems that installs software to eMMC, SD, NAND or NOR flash over local media or OTA, with atomic fail-safe updates, delta updates and cryptographic signing.

SWUpdate is an update agent for embedded Linux devices in the field, supporting local and over-the-air updates through multiple strategies. It can update all components of a device, including rootfs, kernel, bootloader and microcontroller firmware, install to eMMC, SD, raw NAND, UBIFS, NOR and SPI-NOR flash, and deliver a single image to multiple devices, streaming installs without temporary copies.

It supports delivery over local storage, an integrated web server, a REST connector to hawkBit for fleet updates, or a remote server, with software delivered as images or gzipped tarballs. Updates are fail-safe and atomic, can be cryptographically signed and verified and encrypted with a symmetric AES key, and a Lua interpreter can extend the update rules. Custom handlers support FPGA and microcontroller firmware, and delta updates use librsync.

It integrates with the Yocto build system via a meta-swupdate layer, with Buildroot, and as a Debian package.

Website: https://github.com/sbabic/swupdate
