rupdate is a modern open source update framework for embedded Linux systems. Developed in Rust, rupdate provides a secure, robust and lean solution for reliable system updates.
Elements of rupdate
rupdate is based on the concept of so-called pendulum updates. It uses redundant partition sets to enable atomic system updates, safe rollbacks and maximum system availability.
The framework comprises specifications and Rust implementations for the following core components:
Partition Description
The Partition Description defines the system-wide partition structure of an embedded Linux system. It describes:
■ the layout of the partitions
■ the redundant partition sets used
■ formats for making this information available to: Linux systems, user space applications, bootloaders, initramfs, hypervisors
This creates a consistent basis for secure A/B – or pendulum – updates.
Update Tool
The rupdate update tool is a Linux user space application for carrying out and managing system updates.
Its functions include:
■ installing update bundles
■ running system tests after updates
■ automatic rollback in the event of errors
■ synchronising the system status between bootloader and user space
The Rust implementation additionally ensures high stability, memory safety and maintainability.
Update Bundles (packages)
rupdate defines a flexible archive format for update bundles. These bundles contain:
■ partition images
■ metadata
■ update information
■ validation data
The package format has been optimised specifically for embedded Linux systems and enables efficient and reproducible updates.
Update Environment
KISS principle: small, simple and flexible
rupdate has been developed consistently according to the KISS principle (Keep It Small and Simple).
This means:
■ no mandatory cloud services
■ minimal complexity
■ flexible integration options
■ freely definable security and integrity mechanisms
■ easy adaptability to existing systems
Open Source & Community
rupdate is fully available as open source and includes:
■ tools for creating update bundles
■ tools for installing and managing updates
■ utilities for initial system set-up
■ comprehensive documentation
■ integrated test suites
The open architecture allows developers and companies to actively use rupdate, extend it and contribute to its further development.
The software is published under the MIT licence.
Background & development
rupdate was designed by Elektrobit in the course of developing a highly optimised Linux-based platform for automotive systems.
Further links and documents
Learn more about rupdateFeel free to contact us. During an initial consultation, we’ll discuss how we can provide you with tailored support. Your contactOur experts from the emlix Solutions team |
