Secure Updates (OTA)

RAUC and SWUpdate are the two leading open-source frameworks for software updates in embedded Linux systems.

RAUC (Robust Auto-Update Controller)

RAUC is known for its clean abstraction via ‘slots’. It is ideal for teams that prefer a clear structure and primarily want to swap entire partitions (root filesystem, kernel).

  • A lightweight update client that runs on an Embedded Linux device and reliably controls software A/B updates

  • Supports HTTP streaming and adaptive updates

  • Uses X.509 cryptography to sign update bundles

  • Small footprint: As it does not need to run as a permanent daemon but is started only when required, it saves resources during operation.

SWUpdate

SWUpdate is thought for Embedded Linux, and it is very careful about using resources. Its small footprint and its very low usage of resources let to integrate on devices with limited RAM and flash. Its zero-copy option allows to install a new software without accessing to the resources of your device and without temporary copies.

  • Maximum flexibility: Thanks to Lua support, complex logic can be implemented directly within the update process, e.g. hardware checks or database migrations.

  • Streaming specialist: It can write update data directly to the destination partition whilst downloading (‘zero-copy’), which is extremely beneficial for devices with limited RAM.

  • It does not matter how you plan your updates. SWUPdate supports offline (USB,SD, etc.) as well as remote (OTA) updates. SWUpdate has an integrated Webserver to upgrade devices like SOHO routers, but it connects to backend (Hawkbit) for fleet deployments

Both tools integrate seamlessly with Eclipse hawkBit to enable the remote management of entire fleets of devices.