RAUC v0.4 Released
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
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)
- 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
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.
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.
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.