Safe and Secure OTA Updates for Embedded Linux!

RAUC is a lightweight update client that runs on your Embedded Linux device and reliably controls the procedure of updating your device with a new firmware revision. RAUC is also the tool on your host system that lets you create, inspect and modify update artifacts for your device.

 Download  Visit on GitHub

Secure by Design

RAUC uses X.509 cryptography to sign your update bundles


RAUC uses full image updates of redundant slots


RAUC requires no fixed device / partition setup but instead can be adapted to your needs

Start using RAUC

The best way to start using RAUC is reading our Documentation.

Note that designing a robust redundancy and update mechanism for your device requires a lot of design considerations and additional configuration that cannot be fully covered by a generic update tool.

You may always integrate RAUC manually (read the Integration chapter for this).

But, for those who like a quick start, here are the 3 shortcuts that will make it easy to use RAUC on your next device.

Yocto Logo

Use the meta-rauc layer to integrate RAUC into your Yocto BSP

PTXdist Logo

Full RAUC support in PTXdist was added in 2017.04.0

PTXdist Logo

RAUC support in Buildroot was added with 2017.08 release


RAUC support in Debian bullseye/testing/unstable and Ubuntu 20.04 LTS available

Need Some Help?

For community support join the #rauc Matrix channel, post your question to the mailing list, or use the GitHub Issue Tracker

For commercial support contact Pengutronix via


Join the discussions on the mailing list, or feel free to send GitHub Pull Requests