RAUC v0.4 Released

Enrico Jörns | | RAUC

Download v0.4 release of RAUC

The RAUC team is proud to announce that we've just released RAUC v0.4!

Beside a few fixes, this version provides some useful new features such as atomic bootloader updates for eMMC, a central storage location for the RAUC system status information and experimental support for using RAUC with the casync chunking tool for delta updates over the network.


  • Add barebox-statename key to [system] section of system.conf in order to allow using non-default names for barebox state
  • Support atomic bootloader updates for eMMCs. The newly introduced slot type boot-emmc will tell RAUC to handle bootloader updates on eMMC by using the mmcblkXboot0/-boot1 partitions and the EXT_CSD registers for alternating updates.
  • Support writing *.vfat images to vfat slots
  • Add basic support for streaming bundles using casync tool. Using the casync tool allows streaming bundle updates chunk-wise over http/https/sftp etc. By using the source slot as a seed for the reproducible casync chunking algorithm, the actual chunks to download get reduced to only those that differ from the original system.
    • Add rauc convert command to convert conventional bundles to casync bundle and chunk store
    • Extend update handler to handle .caibx and .caidx suffix image types in bundle
  • Added --detailed argument to rauc status to obtain newly added slot status information
  • Added D-Bus Methods GetSlotStatus to obtain collected status of all slots
  • Extended information stored in slot status files (installed bundle info, installation and activation timestamps and counters)
  • Optionally use a central status file located in a storage location not touched during RAUC updates instead of per-slot files (enabled by setting statusfile key in [system] section of system.conf).
  • Add write-slot command to write images directly to defined slots (for use during development)

Bug fixes

  • Fix documentation out-of-tree builds
  • Fixed packaging for dbus wrapper script rauc-service.sh
  • Some double-free and error handling fixes


  • Create uncrustify report during Travis run


  • Unified hash table iteration and variable usage
  • Add uncrustify code style configuration checker script to gain consistent coding style. Committed changes revealed by initial run.


  • Updated and extended D-Bus interface documentation
  • Added documentation for newly added features (casync, central slot status, etc.)
  • Fixed and extended Yocto (meta-rauc) integration documentation
  • Add link to IRC/Matrix channel
  • Some minor spelling errors fixed

Further Readings

rauc-hawkbit-updater v1.0 Released

Back in 2018, rauc-hawkbit-updater was started by Prevas A/S as a C/GLib port of our rauc-hawkbit Python prototype (also called RAUC hawkBit Client) that was mainly developed for showcases and to serve as a demonstration and evaluation platform for others.

Showcase: Fail-Safe (OTA) Field Updating

Enrico Jörns | | didyouknow, rauc

Being able to robustly and securely update embedded systems and IoT devices in the field is a key requirement of every product today. The update framework RAUC is the basis for a modern and future-proof solution. In this showcase we present the basic principles of a fail-safe update system and how Pengutronix can support you with implement this for your platform.

RAUC v1.5 Released

Jan Lübbe, Enrico Jörns | | RAUC

This release fixes a vulnerability in RAUC that can be exploited under certain circumstances to achieve a local privilege escalation. It provides both a mitigation for the vulnerability when using the existing bundle format as well as a new bundle format that uses dm-verity to continuously authenticate the update data while it is installed.