Skip to main content

Lernen Sie, wie Sie ein produktionsreifes Linux System für den Raspberry Pi Compute Module 5 (CM5)

Mit benutzerdefinierten Images, A/B-Updates und automatischer Bereitstellung.

Lernen Sie, wie Sie ein produktionsreifes Linux System für den Raspberry Pi Compute Module 5 (CM5) - mit benutzerdefinierten Images, A/B-Updates und automatischer Bereitstellung.

Die Raspberry Pi Compute Module 5 bietet ernstzunehmende Embedded-Leistung - PCIe, NVMe, LPDDR4X und eine solide BSP-Basis. Der Wechsel von einer Entwicklungsplatine zu einer wartbaren, produktionsgerechten Linux Umgebung bringt jedoch neue Herausforderungen mit sich: Image-Anpassung, Bereitstellung und zuverlässige Over-the-Air (OTA)-Updates.

Compute Module 5 IO-Karte

In dieser Serie werden wir untersuchen, wie Sie ein schlankes, reproduzierbares Linux System für den CM5 zu erstellen, ohne Yocto. Anstatt eine komplette Distribution von Grund auf neu zu erstellen, werden wir praktische Tools und Arbeitsabläufe verwenden - wir zeigen, wie rpi-image-gen benutzerdefinierte Images erzeugen kann, wie A/B rootfs-Layouts sichere Updates ermöglichen, wie rpi-sb-provisioner die Einrichtung von Geräten automatisiert und wie SWUpdate die Bereitstellung der Firmware vor Ort verwaltet.

Jeder Artikel bietet einen technischen Überblick über die wesentlichen Komponenten - kein fertiges Produkt, sondern eine Karte des Ökosystems. Sie erfahren, wo jedes Tool eingesetzt wird, welche Probleme es löst und wie Sie es zu einer flexiblen Build- und Update-Pipeline für Ihre eigenen CM5-basierten Projekte kombinieren können.

Am Ende der Serie werden Sie wissen, wie Sie sich von einem Stock Raspberry Pi OS Image zu einer kontrollierten, aktualisierbaren Embedded-Plattform entwickeln können - ohne die Komplexität von Yocto oder Buildroot.

Einführung - Vom Stock OS zur Produktionsplattform

Entdecken Sie, warum Yocto nicht immer die beste Wahl ist, insbesondere für kleine Teams oder schnelle Produktzyklen. Wir stellen Ihnen einen praktischen, modularen Ansatz vor, der auf der vertrauten Raspberry Pi OS Grundlage.

Die wichtigsten Punkte:

  • Warum "produktionsreif" mehr bedeutet als nur zu booten
  • Herausforderungen bei der Verwendung Yocto für Pi-basierte Produkte
  • Überblick über den alternativen Stack: Raspberry Pi OS, rpi-image-gen, dual-rootfs (A/B), Bereitstellung, und SWUpdate
  • Das Endziel: eine reproduzierbare und wartbare System-Pipeline

Siehe: Vom Stock OS zur Produktionsplattform

Bilderzeugung - Anpassen Raspberry Pi OS mit rpi-image-gen

Lernen Sie, wie Sie reproduzierbare Systemabbilder erstellen können, ohne sich auf eine vollständige Yocto oder Buildroot Einrichtung. Dieser Beitrag stellt vor rpi-image-geneinen minimalen, skriptfähigen Image-Builder zum Anpassen Raspberry Pi OS an Ihre Hardware- und Anwendungsanforderungen anzupassen.

Die wichtigsten Punkte:

  • Anatomie eines Raspberry Pi Images (Boot, rootfs, Konfiguration)
  • Verwenden Sie rpi-image-gen zum Zusammenstellen und Anpassen von Images
  • Hinzufügen von benutzerdefinierten Dateien, Diensten und Kernel-Modulen
  • Automatisieren von Builds für CI/CD-Umgebungen

Siehe: Customizing Raspberry Pi OS with rpi-image-gen

Systemrobustheit - Entwurf eines A/B Root-Dateisystem-Layouts

Die A/B-Partitionierung ist das Rückgrat für sichere System-Updates und Rollbacks. Dieser Artikel erklärt, wie Sie zwei Root-Partitionen konfigurieren und verwalten, beim Booten zwischen ihnen wechseln und sich auf zuverlässige OTA-Mechanismen vorbereiten.

Wichtige Punkte:

  • Partitionsschema für A/B rootfs auf CM5
  • Bootloader- und Kernel-Befehlszeilenkonfiguration
  • Verwaltung aktiver/inaktiver Slots und Statusverfolgung
  • Integration der Aktualisierungslogik mit systemd und SWUpdate

Siehe: Systemrobustheit - Entwerfen eines A/B-Root-Dateisystem-Layouts

Bereitstellung - Automatisieren des ersten Starts mit rpi-sb-provisioner

Bei der Provisionierung trifft Software auf Hardware. Wir werden uns mit rpi-sb-provisioner als ein leichtgewichtiges Tool für die Initialisierung neuer Geräte, die Einspeisung der Konfiguration und die sichere Registrierung bei Backend-Diensten.

Wichtige Punkte:

  • Die Rolle von Provisioning in eingebetteten Systemen
  • Verwendung rpi-sb-provisioner zum Einrichten von Geräteidentitäten und Parametern
  • Beispiel-Automatisierungsskripte für den ersten Start
  • Konzepte der Geräteidentität, Zertifikate und Konfigurationsinjektion

Siehe: Provisioning — Automating First Boot with rpi-sb-provisioner

OTA und Lebenszyklus - Software Updates mit SWUpdate

A/B-Updates werden zum Leben erweckt mit SWUpdate, einem robusten Open-Source-Framework für die sichere Bereitstellung von Software auf Geräten im Feld. Dieser Beitrag zeigt, wie SWUpdate in Ihr Image und Partitionslayout integriert wird, um sicherzustellen, dass Updates atomar und wiederherstellbar sind.

Wichtige Punkte:

  • Überblick über die SWUpdate Architektur (Handler, Updater, Web-Interface)
  • Erstellen und Signieren von Update-Bundles
  • Integration mit dem A/B-System
  • Beispiel für den Ablauf von Updates und Rollbacks

Siehe: OTA and Lifecycle — Software Updates with SWUpdate