RaspiOS auf Bullseye aktualisieren

Anfang November 2021 hat die Raspberry-Foundation das Betriebssystem des Raspis auf aktuelle Beine gestellt und den Unterbau von Debian Buster auf Debian Bullseye aktualisiert. Die wichtgsten Änderungen sind folgende:

  • Für Raspis mit 2GB und mehr RAM kommt das GTK+3-Toolkit zum Einsatz, bei Geräten mit weniger RAM bleibt es beim GTK+2-Toolkit
  • Python2 auf Python3 aktualisiert
  • Kernel-Mode-Setting-Videotreiber ist nun Standard (Opensource)
  • Kameratreiber durch libcamera (Opensource) ersetzt

Manuelle Aktualisierung

Die Entwickler raten, wie üblich, von einem Inline-Update ab! Wer es dennoch versuchen möchte sollte allerdings vorher unbedingt ein Backup seines Systems anfertigen. Je nachdem welche Scripte, Tools etc. genutzt werden besteht die große Gefahr, dass so manches nicht mehr funktionier (s.u.). Nach dem Backup werden die Einträge buster in /etc/apt/sources.list sowie in den *.list-Dateien in /etc/apt/sources.d mit bullseye ersetzt. Ein anschliessendes

sudo apt update && sudo apt install libgcc-8-dev gcc-8-base

aktualisiert die Paketquellen und installiert ggf. die genannten Pakete ohne die das Upgrade scheitern würde. Nun mittels

sudo apt upgrade

das Sytem upgraden. Der Vorgang dauert einge Zeit, mindestens 30 Minuten bis zu mehreren Stunden. Man sollte immer wieder einen Blick darauf werden, da Abfragen beantwortet werden müssen.

Stolpersteine (exemplarisch):

fprint unter Python 3

Da im Zuge des Upgrades Python 2 auf Python 3 gehoben wird, kann es aufgrund der Syntaxänderungen zu Fehlern in der Abarbeitung von Python-Scripten kommen. Insbesondere die Umstellung der Syntag des fprint-Befehls sei hier erwähnt.

ic2-Peripherie

Um weiterhin auf die ic2-Perepherie zugreifen zu können muss mit

sudo apt install python3-smbus

das entsprechende Paket nachinstalliert werden.

Kamera [UPDATE 02.02.2022}

Mit der neuesten Version von RaspiOS "bullseye" hat man die alten Lagacytreiber auch auf dem aktuellen System wieder verfügbar gemacht, nachdem sie kommentarlos entfernt und ersetzt wurden.. Mittels einer neuen Version von "raspi-config" hat man die Möglichkeit geschaffen die Videotreiber auf den Status "legacy" zu setzen. Damit funktionieren die alten Scripte wieder. Verzichtet man auf diese Möglichkeit, muss man die Kamerascripte wie folgt umändern:

Aus

raspistill -n -w 1280 -h 720 -o picture.png

wird ein

libcamera-still -n --width 1280 --height 720 -o picture.png

Gleiches gilt für Videoscripte.

Zusammenfassung

Wie sinnvoll es ist ein bestehendes System inline upzugraden muss jeder für sich entscheiden, der Aufwand für Anpassungen kann sehr gross sein und die Fehlersuche mühsam. Auch wenn es auf meinem Raspi Zero 2, auf dem nur pi-hole läuft, problemlos geklappt hat würde ich es persönlich auf meinen anderen Systemen nicht durchführen. Das alte System unter Buster erhält unter der Bezeichnung legacy weiterhin noch einige Zeit Support, so dass man in Ruhe entsprechende Anpassungen für das Upgrade/Neuinstallation vornehmen kann.