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
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.
It's been 3 weeks ago now since the tag for RAUC 1.4 was created. But it is vacation time and so we have a good excuse for communicating things with some delay. Fortunately, the media team is back now and so also those of you who haven't noticed the new release yet will be informed about notable changes.