Umfassendes RAUC Dokumentations-Update

Wie in vielen Projekten, ist auch bei RAUC an vielen Stellen nach massiver Entwicklung meist nicht mehr ausreichend Zeit geblieben, die Änderungen, neuen Features und grundlegenden Konzepte angemessen aufbereitet in der Dokumentation unterzubringen und zu erklären.

Statistik
  Vorher Nachher
Zeilen 2135 3522
Wörter 9275 16805
Zeichen 66991 119992

https://rauc.readthedocs.io

Damit fallen nicht nur nützliche und sinnvolle Features unter den Tisch, sondern es häufen sich auch Nachfragen und Missverständnisse, die mit einer guten Dokumentation von vornherein hätten ausgeräumt werden können.

Daher hat Pengutronix eine gesamte Woche lang den virtuellen Zettel und Stift in die Hand genommen, um die Dokumentation von RAUC an vielen Stellen grundlegend umzukrempeln und zu erweitern.

Das Ergebnis kann sich durchaus sehen lassen, wenn man allein auf die quantitative Auswirkung schaut. Nach Anzahl Zeichen hat sich der Umfang der Dokumentation um knapp 80% vergrößert.

Die Struktur und der Inhalt der einleitenden Kapitel, welche grundlegende Konzepte und Ideen hinter RAUC für den Benutzer in einer Übersicht darstellen sollen, wurden komplett überarbeitet und um viele Aspekte ergänzt. Darüber hinaus wurden einige Themenkomplexe mit anschaulichen Grafiken untermalt.

Mit dem neu geschaffenen Kapitel Scenarios wird auf einige der am häufigsten verwendeten Redundanz-Setups eingegangen und an Konfigurations-Beispielen gezeigt, wie sie in RAUC realisiert werden können.

Technisch deutlich detaillierter wurden auch die wichtigen Kapitel zur Integration von Barebox und U-Boot ausgeführt.

Komplett neu hinzugekommen sind auch eine ganze Reihe weiterführender Themen wie Umgang mit Sicherheit, Erzeugung und Behandlung von Zertifikaten, Applikationsdaten-Behandlung und -Migration, Bootloader-Updates oder Software Deployment.

Auch wenn es robuste Frameworks wie RAUC gibt, zur Entwicklung eines individuell passenden und soliden Update-Konzeptes gehören viel Know-How und Sorgfalt bei der Zusammenstellung und Konfiguration des Gesamtsystems. Von der Auswahl des Bootloaders über das Aufsetzen und die Behandlung des Watchdogs bis hin zur Detektierung eines erfolgreich gebooteten Userspace müssen diverse Komponenten eng ineinandergreifen.

Mit der neu eingeführten Design Checklist haben wir daher einen grundlegenden Laufzettel erarbeitet, der (ohne Anspruch auf Vollständigkeit) vielen generellen Fallstricken beim Design und bei der Realisierung von Update-Konzepten zuvorkommen soll.


Weiterführende Links

RAUC v1.11 Released

Ho Ho ho! As the year's progress bar approaches 99%, another update is already completed: RAUC v1.11 is here!


RAUC v1.10 Released

Just in time for the EOSS 2023 in Prague, we have released v1.10 of RAUC. Just-in-time means the release was actually finalized by Jan Lübbe in the train to Prague (like I finally wrote the majority of this blog post on the train back).


RAUC v1.9 Released

"Getting things off the ground" could be the motto for the v1.9 release of RAUC. The support for custom metadata in the manifest got a step further, a new, more flexible, D-Bus API for bundle inspection paved the way for obtaining more detailed information, and a new manifest hash marks the first of several planned changes for configurable event logging. However, one of the most invasive changes happened under the hood: We have started the transition from autotools to meson as a build system.


eMMC Hardware Partitionierung

Wenn ein Embedded-System für eine lange Lebensdauer vorgesehen ist, ist es nötig, sich mit der Applikation und der darunter liegenden Hardware auseinanderzusetzen - damit beide zusammen eine hohe Langzeitstabilität erreichen.