You can edit almost every page by Creating an account and confirming your email.

RAUC

From EverybodyWiki Bios & Wiki




RAUC
Original author(s)Jan Lübbe, Enrico Jörns, the RAUC community
Stable release
v1.10.1 / 3 August 2023; 2 years ago (2023-08-03).[1]
Written inC
Engine
    Operating systemLinux
    Available inEnglish
    LicenseGNU Lesser General Public License
    Websiterauc.io

    Search RAUC on Amazon.

    RAUC (Robust Auto-Update Controller) is an open source OTA update framework for embedded or IoT devices running a Linux operating system.[2][3]

    The main purpose of RAUC is to provide cryptographically verified, fail-safe firmware updates for Linux systems with a redundant (A/B) system partition set.

    RAUC serves both as a host and a target tool. The host tool allows the creation of signed (and optionally encrypted) update artifacts (called 'bundles') typically consisting of the file system image(s) to install and additional metadata. The target tool runs as a service on the embedded device and handles the bundle verification and installation.

    Design and principles

    Cryptographic verification of OTA updates is seen as mandatory and cannot be deactivated. RAUC uses standard X.509 cryptography for this.

    While RAUC performs mainly full image-based updates, it also comes with support for unpacking tar archives.

    The partition layout for RAUC is described in a target system configuration file. The RAUC update service running on the target uses this information to automatically determine the inactive system partitions that can serve as installation targets.

    Features

    D-Bus API

    A D-Bus API allows integrating RAUC into custom applications that can trigger installation, show progress or introspect system status.

    Bootloader Interaction

    To switch from the running system copy to the updated copy, RAUC needs to interact with the system's bootloader.

    The currently supported bootloaders are Barebox, GRUB, UEFI, U-Boot, or custom implementations.

    HTTP(S) Bundle Streaming

    Since v1.7 RAUC has built-in support for streaming update bundles from a web server via HTTP range requests. This allows updating a device without the need for intermediate on-target storage.

    Adaptive (Delta-like) Updates

    In OTA update scenarios, bandwidth is often limited. Adaptive updates are a generic mechanism for delta-like download optimizations.

    Encryption

    Build System Integration

    RAUC support is available or integrated into common embedded Linux build systems like Yocto Project/OpenEmbedded[4], Buildroot[5], or PTXdist. As a host tool, it is also part of common Linux distributions such as Debian, Ubuntu, Arch Linux or NixOS.

    Reception And Usage

    References

    1. "RAUC v1.10.1". GitHub. 2023-08-03. Retrieved 2023-08-28.
    2. "RAUC Manual". Retrieved 8 February 2019.
    3. Chris Simmonds. Mastering Embedded Linux Programming. Packt Publishing Ltd. p. 220. Search this book on
    4. "OpenEmbedded Layer Index - meta-rauc". layers.openembedded.org.
    5. "[git commit] rauc: new package". buildroot (Mailing list).
    6. "Portable Linux gaming with the Steam Deck".
    7. "Collabora Details How SteamOS 3.0 Works on the Steam Deck".
    8. "Linux4ICE" (PDF).

    External links


    This article "RAUC" is from Wikipedia. The list of its authors can be seen in its historical and/or the page Edithistory:RAUC. Articles copied from Draft Namespace on Wikipedia could be seen on the Draft Namespace of Wikipedia and not main one.