Update Management für den Raspberry Pi (Compute Module)

29. September 2025

Die Raspberry Pi‑Plattform – insbesondere die Compute Modules – ist nicht nur bei Hobbyisten und Bastlern beliebt, sondern auch in industriellen Anwendungen weit verbreitet. Vor allem die Compute Modules 4 und 5 erfüllen die gängigen Anforderungen an Temperaturbereich und Performance in rauen Umgebungen.

Raspberry Pi 4 and CM4 Kit; License see *1

Praktische und regulatorische Anforderungen verstehen

Die Sicherheit vernetzter Geräte (IoT) ist heute ein zentraler Aspekt über den gesamten Produktlebenszyklus. Durch neue europäische Vorgaben zu Cybersicherheit, Produkthaftung und Mindestdauer der Update‑Unterstützung müssen Hersteller bereits vor der Markteinführung klare Prozesse etablieren, um sichere Produkte auszuliefern und eine Konformitätserklärung erstellen zu können.

Positiv: Für den Raspberry Pi stellt die Raspberry Pi Foundation eine langfristige Betreuung der Systemsoftware bereit.
Im Produktkontext bleibt es dennoch Ihre Aufgabe, die Software zu validieren, eigene Anpassungen zu testen und einen reproduzierbaren Update‑Prozess zu etablieren.

Wichtig: Ungetestete, automatisierte Updates direkt aus den offiziellen Update-Archiven einzuspielen, ist in produktiven Flotten riskant. Ein fehlerhaftes Paket kann sonst schlagartig ganze Produktflotten außer Betrieb setzen. Planen Sie daher von Anfang an eine robuste Test‑ und Rollout‑Strategie.


Update‑Management mit dem NOREYA Update Meister

Der NOREYA Update Meister ermöglicht die vollständige Kontrolle über den Software-Update-Prozess – ein zentrales Element jeder IoT-Update Strategie.
Jetzt Demo testen

Zentralisierte Steuerung

Updates werden nicht mehr direkt von den verschiedenen Quellen bezogen, sondern von kontrollierten Archiv-Endpunkten. Damit kann der gesamte Update-Prozess zentral koordiniert und dokumentiert werden.
Beispielhaft können sie folgende Endpunkte einrichten:

  • https://example.com/internal-nightly – für tägliche, automatisierte Tests
  • https://example.com/internal-testing – für die Vorbereitung des nächsten Releases
  • https://example.com/internal-stable – für interne Freigabetests (Release‑Candidate)
  • https://example.com/stable – für produktive Auslieferung an Endgeräte

Rollback-Optionen für Notfälle

Sollte ein Update unerwartete Probleme verursachen, kann ein definierter Archiv-Snapshot per Konfigurationsänderung reaktiviert werden.

Revisionssicherheit und Nachvollziehbarkeit

Jede Änderung wird automatisch versioniert und mit einem Zeitstempel versehen. In der Weboberfläche lassen sich CVEs und Changelogs pro Paket transparent nachvollziehen.

Risiko- und Schwachstellenmanagement

Die automatische Anzeige von Common Vulnerabilities and Exposures (CVEs) im Vergleichsfenster ermöglicht ein fundiertes Risikomanagement und unterstützt bei der Bewertung und Priorisierung sicherheitsrelevanter Updates.

Raspberry Pi OS‑Mirror einrichten – sources.list und raspi.list

Grundlage ist die Paketquellen‑Konfiguration von Debian.
Unter Raspberry Pi OS 12 (»bookworm«) sieht die Standarddatei /etc/apt/sources.list typischerweise so aus:

deb http://deb.debian.org/debian bookworm main contrib non-free non-free-firmware
deb http://deb.debian.org/debian-security/ bookworm-security main contrib non-free non-free-firmware
deb http://deb.debian.org/debian bookworm-updates main contrib non-free non-free-firmware

Zusätzlich existiert /etc/apt/sources.list.d/raspi.list für Raspberry‑Pi‑spezifische Pakete:

deb http://archive.raspberrypi.com/debian/ bookworm main

Was bedeuten diese Einträge?

  • bookworm
    Kennzeichnet die Debian‑12‑Release‑Suite.

  • bookworm (archive.raspberrypi.com)
    Raspberry‑Pi‑spezifische Pakete und Firmware der Raspberry‑Pi‑Organisation.

  • bookworm‑updates
    Wichtige Fehlerbehebungen zwischen Hauptreleases.

  • bookworm‑security
    Tägliche, sicherheitsrelevante Aktualisierungen.

Archiv‑Komponenten

  • main – offizieller, freier Softwarebestand.
  • contrib – freie Software, die auf unfreie Komponenten angewiesen ist.
  • non-free‑firmware – proprietäre Firmware, häufig für Hardwarefunktionen erforderlich.
  • non-free – proprietäre Software außerhalb der Debian‑Richtlinien für freie Software.

Konfiguration

Diese sources.list Konfiguration lässt sich folgendermaßen in eine NOREYA Update Meister Konfiguration übertragen.
Wichtig ist das sie alle Archive, Releases, Komponenten und Architekturen die in deiner Infrastruktur eingesetzt werden enthalten sind.
Bitte beachte das die folgende Konfiguration rund 300GB freien Festplattenspeicher benötigt:

config.yaml

sync:
  - uid: 1
    display_name: debian-12-raspberry-pi-archive
    host: https://archive.raspberrypi.com
    url_path: debian
    snapshot_directory: /srv/snapshots/debian-12-raspberry-pi-archive
    working_directory: /srv/workdirs/debian-12-raspberry-pi-archive
    endpoints:
      - name: debian12-rpi/stable
        deployment:
          - name: /srv/s3cloud
      - name: debian12-rpi/testing
    architectures:
      - arm64
    components:
      - main
    releases:
      - bookworm
  - uid: 2
    display_name: debian-12
    host: https://deb.debian.org
    url_path: debian
    snapshot_directory: /srv/snapshots/debian-12
    working_directory: /srv/workdirs/debian-12
    endpoints:
      - name: debian12/stable
      - name: debian12/testing
    architectures:
      - arm64
    components:
      - main
      - contrib
      - non-free-firmware
      - non-free
    releases:
      - bookworm
  - uid: 3
    display_name: debian-12-updates
    host: https://deb.debian.org
    url_path: debian
    snapshot_directory: /srv/snapshots/debian-12-updates
    working_directory: /srv/workdirs/debian-12-updates
    endpoints:
      - name: debian12-updates/stable
      - name: debian12-updates/testing
    architectures:
      - arm64
    components:
      - main
      - contrib
      - non-free-firmware
      - non-free
    releases:
      - bookworm-updates
  - uid: 4
    display_name: debian-12-security
    host: https://deb.debian.org
    url_path: debian-security
    snapshot_directory: /srv/snapshots/debian-12-security
    working_directory: /srv/workdirs/debian-12-security
    endpoints:
      - name: debian12-security/stable
      - name: debian12-security/testing
    architectures:
      - arm64
    components:
      - main
      - contrib
      - non-free-firmware
      - non-free
    releases:
      - bookworm-security

Starten der initalen Synchronisation

Die initiale Synchronisation lässt sich folgendermaßen starten:

systemctl start nupme-sync

Der Vorgang kann je nach Internetgeschwindigkeit mehrere Stunden oder Tage dauern.

Der Status kann mit systemctl status nupme-sync überprüft werden.

Zuweisen der Endpunkte in der UI

In der UI müssen die Endpunkte vor der Verwendung einem Snapshot zugewiesen werden.

Konfiguration eines Raspberry Pi

Mit dem folgenden Befehlen kann die sources.list eines Raspberry Pi OS auf den internen Host umgestellt werden.
Es werden die in der config.yaml konfigurierten Endpunkte debian12/stable, debian12-updates/stable und debian12-security/stable verwendet. Der Hostname example.local wird für den intern Host verwendet.

sources.list

sed -i 's|https://archive\.debian\.org/debian|https://example.local/debian12-rpi/stable|g'                    /etc/apt/sources.list.d/raspi.list
sed -i 's|https://deb\.debian\.org/debian\sbookworm\s|https://example.local/debian12/stable |g'               /etc/apt/sources.list
sed -i 's|https://deb\.debian\.org/debian\sbookworm-updates|https://example.local/debian12-updates/stable |g' /etc/apt/sources.list
sed -i 's|https://deb\.debian\.org/debian-security|https://example.local/debian12-security/stable|g'          /etc/apt/sources.list

Optional: Update Priorität am Raspberry Pi ändern

Die folgende Konfiguration auf dem Raspberry Pi stellt sicher, dass die Updates immer vom Server eingespielt werden, auch wenn dies ein Downgrade bedeutet!
Bitte beachten Sie, dass diese Konfiguration unerwartete Folgen haben kann!

/etc/apt/preferences.d/10_update_priority.pref

Package: *
Pin: origin "example.local"
Pin-Priority: 1100

Die ausführliche Dokumentation zu den Optionen kann man mittels man apt_preferences abrufen.

Testen des Raspberry Pi

Wenn man nun auf dem Debian Client System apt-get update ausführt sollte der neue Host verwendet werden.

Weitere Schritte

Die angeführte Konfiguration ist nur ein einfaches Beispiel.
In der Praxis sind zusätzliche Schritte notwendig, um eine vollständige Update-Infrastruktur aufzubauen:

  • Update-Archiv aufsetzen: Für die Auslieferung der eigenen Software muss ein signiertes Update-Archiv erstellt werden.
  • Build-Prozess anpassen: Die sources.list-Dateien müssen entsprechend angepasst werden.
  • CI-Infrastruktur einrichten: Tests und Auslieferung der Software sollten idealerweise in einem automatisierten CI-Prozess erfolgen.
  • Externe Update-Server bereitstellen: Für die Verteilung der Updates empfiehlt sich die Nutzung eines eigenen Servers oder eines CDN (z. B. Amazon S3, CloudFront).

Fazit

Eine saubere Updatestrategie ist die Grundlage für sichere, langlebige IoT‑Produkte auf Raspberry Pi‑Basis. Mit klaren Teststufen, kontrollierten Paketquellen und Werkzeugen wie dem NOREYA Update Meister behalten Sie Qualität, Compliance und Ausfallsicherheit über den gesamten Lebenszyklus im Griff.


Raspberry Pi is a trademark of Raspberry Pi Ltd.

*1 Raspberry Pi 4, CC BY-SA 4.0 Michael H.
*1 CM Board, CC BY 2.0 SparkFun Electronics