Jump directly to main navigation Jump directly to content Jump to sub navigation

rupdate – Rust based update tools and concept for embedded Linux systems

rupdate is published to the open source community, strengthening the activities towards modern languages like Rust and open and free software.

Rupdate is an update concept built around the idea of a pendulum update targeting an embedded linux system. This concept includes detailed specifications and Rust implementations for the following components:

Partition Description
System wide accessible description of the partition layout, the partition sets used to allow pendulum updates and specification of different formats to provide this information to linux and userspace application as well as bootloaders, initramfs and hypervisors.

Update Tool
A linux userspace tool to install update bundles, handle system testing and rollbacks.

Update Bundles (Packages)
An archive format to manage partition images and update information.

Update Environment
A binary encoded data section accessible by the userspace update tool as well as a bootloader or hypervisor to share a common system state and synchronize updates.

Bootloader Patches
Parts of the update concept like the swingback in case of unbootable systems are implemented in the bootloader, according patches are part of the concept. In case support for a bootloader needs to be added from scratch the reference requirements are available.

rupdate is designed following the KISS design principle. (Keep it small and simple). Hence no dedicated cloud service is needed and kind of integrity and confidentiality protection can be designed freely.

Available as open source

rupdate comes with a set of tools to create bundles, install bundles and for the initial setup.

The test suite of rupdate and its documentation are an integrated part of the open source package allowing others to get involved by using rupdate or improving its code base.

Rupdate was designed by Elektrobit in the course of development of EB corbos Linux - built on Ubuntu which is a highly optimized automotive Linux-based operating system and infrastructure.

Elektrobit made the decision to invest in such a framework together with emlix. In doing so, the rupdate architecture and requirements were defined together with emlix.

emlix was in charge of the implementation and now supports the maintenance of rupdate in the open source community - still powered by Elektrobit.


The software is placed under MIT license and will be hosted on github.

https://github.com/Elektrobit/rupdate

You will also find some additional info at rupdate.org.

The rupdate logo is a uroboros of dromaeosauridae (raptor dinosaur), designed from the Rust Logo and the usual spinning arrows often found for updates.

Rupdate Update Flow