Datum : 3. August 2026
OTA- und Offline-Updates für Embedded-Linux-Geräte – projektnah, sicherheitsorientiert und Yocto-integriert.
Ein Embedded Gerät, das über viele Jahre im Feld arbeitet, braucht einen Update-Weg, der genauso lange trägt. Mit dem Cyber Resilience Act wird Wartbarkeit vom Zusatz zur Anforderung: Sicherheitsupdates müssen planbar und nachvollziehbar auf die Geräte kommen – auch Jahre nach der Auslieferung. Genau hier setzt SWUpdate an, und in unseren Yocto-BSPs ist das Framework bereits integriert. Dieser Beitrag zeigt, wie wir SWUpdate in Kundenprojekten einsetzen und worauf es bei einem belastbaren Update-Konzept ankommt.
Embedded-Geräte müssen heute über viele Jahre wartbar bleiben: Sicherheitsupdates, Bugfixes, neue Funktionen oder kundenspezifische Anpassungen sollen zuverlässig ins Feld kommen – ohne Geräte zurückholen zu müssen und ohne jedes Update-Konzept neu aufzubauen.
Genau dafür setzen wir in unseren Yocto-Projekten auf SWUpdate, ein etabliertes Open-Source-Framework für Software-Updates auf Embedded-Linux-Systemen. Für unsere Computermodule können wir unseren Kunden projektbezogene Yocto-Meta-Layer bereitstellen, die sie mitbauen und in ihre Systeme integrieren können. Dieser Ansatz wurde bereits in Kundenprojekten auf Basis von STM32MP13, STM32MP15, i.MX6ULL und i.MX8 eingesetzt.
SWUpdate ist kein starrer „One-size-fits-all"-Updater, sondern ein flexibles Framework. Das ist gerade im Embedded-Bereich entscheidend: Speicherlayout, Bootloader, Flash-Technologie, Update-Quelle und Sicherheitsanforderungen unterscheiden sich von Projekt zu Projekt. SWUpdate lässt sich entsprechend konfigurieren – statt das Zielsystem künstlich an ein festes Update-Schema anzupassen.
Mit SWUpdate können mehrere Bestandteile eines Systems in einem .swu-Updatepaket zusammengeführt werden, zum Beispiel Root-Filesystem, Kernel, Device Tree, Applikation, Konfigurationen oder weitere Artefakte. Die zentrale Datei sw-description beschreibt, welche Komponenten installiert werden und wie sie verarbeitet werden sollen.
Für Yocto-basierte Projekte ist das besonders interessant: Mit Hilfe der Layer meta-swupdate lassen sich SWU-Pakete direkt aus dem Build-Prozess erzeugen. Dadurch wird das Update-Artefakt reproduzierbar und passt exakt zu den Images, die ohnehin im Yocto-Projekt gebaut werden.
Ein professioneller Update-Mechanismus muss sicherstellen, dass nur autorisierte und unveränderte Software installiert wird. SWUpdate unterstützt signierte Update-Beschreibungen und Hash-Prüfungen der einzelnen Artefakte. In der Praxis bedeutet das: Das Zielsystem kann prüfen, ob ein Update von einer vertrauenswürdigen Quelle stammt und ob die enthaltenen Komponenten zur freigegebenen Release-Beschreibung passen.
Je nach Projektanforderung können Signaturverfahren wie RSA, CMS-Zertifikate oder GPG genutzt werden. Zusätzlich können Artefakte verschlüsselt werden, wenn Update-Inhalte geschützt transportiert oder gespeichert werden sollen.
Gerade im Feld zählt nicht nur, dass ein Update installiert werden kann – sondern dass ein Gerät danach zuverlässig wieder bootet. SWUpdate ist darauf ausgelegt, mit dem Bootloader zusammenzuarbeiten. Über persistente Statusinformationen kann der Bootloader erkennen, ob ein Update unterbrochen wurde oder ob eine neue Softwareversion erst noch erfolgreich starten und sich selbst bestätigen muss. Damit lassen sich A/B- oder Dual-Copy-Konzepte realisieren, bei denen die bisherige Software als Fallback erhalten bleibt. Scheitert der Start der neuen Version, kann das System auf die vorherige Version zurückfallen. Dieser Mechanismus ist ein wichtiger Baustein, um Geräte im Feld updatefähig zu halten und Serviceeinsätze zu reduzieren.
Viele Embedded-Systeme haben begrenzten RAM und Flash-Speicher. SWUpdate berücksichtigt das durch einen modularen Aufbau und unterstützt Streaming- bzw. Zero-Copy-Mechanismen. Dabei können Update-Daten direkt verarbeitet werden, ohne komplette temporäre Kopien im RAM oder Dateisystem ablegen zu müssen. Das ist insbesondere bei größeren Images oder kleineren Speicherausstattungen relevant.
Nicht jedes Produkt benötigt sofort eine vollständige Cloud-Flottenverwaltung. Manche Geräte werden im Servicefall per USB-Stick aktualisiert, andere über ein lokales Web-Interface, wieder andere über einen OTA-Backend-Prozess. SWUpdate unterstützt diese unterschiedlichen Szenarien: lokale Medien wie USB oder SD, einen integrierten Webserver, HTTP/HTTPS-Downloads sowie die Anbindung an Backend-Systeme wie Eclipse hawkBit. Damit kann ein Projekt mit einem einfachen Updatepfad starten und später zu einem Flotten- oder OTA-Konzept erweitert werden.
Durch unsere Yocto-Meta-Layer müssen Kunden hinsichtlich SWUpdate das Rad nicht immer wieder neu erfinden. Stattdessen erhalten sie eine praxiserprobte Grundlage, die in das jeweilige BSP und das konkrete Hardwaredesign eingebettet werden kann.
Das reduziert Integrationsaufwand und technische Risiken – insbesondere bei Fragen wie:
Welcher Update-Weg passt zum Produkt: USB, Web-Interface, Downloader oder OTA-Backend?
SWUpdate ist für Embedded-Linux-Produkte ein technischer Baustein, der Sicherheit, Wartbarkeit und Projektspezifik zusammenbringt. Für Kunden unserer Computermodule bedeutet das: Ein belastbares Update-Konzept kann bereits auf BSP-Ebene mitgedacht werden – und muss nicht erst am Ende des Produktprojekts nachgerüstet werden.