Aktualisierung und Kernel-Umstellung auf Raspberry Pi OS Bookworm
WARNUNG: SORGFÄLTIG LESEN UND VORHER EIN BACKUP DER SD-KARTE ERSTELLEN
Diese Anleitung ermöglicht die Aktualisierung von Raspberry PiOS auf die neueste Version (Bookworm) und den Wechsel zu den neuen Kernels. Bitte beachten, dass dieser Vorgang nicht offiziell empfohlen wird und möglicherweise nicht für alle Anwendungen geeignet ist, besonders das Upgrade einer Installation mit grafischer Oberfläche wurde nicht getestet und wird höchstwahrscheinlich nicht ohne weiteres möglich sein. Auch ein Upgrade der 32-Bit Version von PiOS wurde nicht getestet.
With that out of the way:
Die 10 Schritte
Schritt 1: Sicherstellen, dass alles auf dem neuesten Stand ist
sudo apt-get update && sudo apt-get dist-upgrade
Schritt 2: Umstellen auf Bookworm-Repositorys
sudo sed -i -e 's/bullseye/bookworm/g' /etc/apt/sources.list
sudo sed -i -e 's/bullseye/bookworm/g' /etc/apt/sources.list.d/raspi.list
Inhalt von /etc/apt/sources.list
sollte jetzt so aussehen:
deb http://deb.debian.org/debian bookworm main contrib non-free non-free-firmware
deb http://security.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
#deb-src http://deb.debian.org/debian bookworm main contrib non-free
#deb-src http://security.debian.org/debian-security bookworm-security main contrib non-free
#deb-src http://deb.debian.org/debian bookworm-updates main contrib non-free
Inhalt von /etc/apt/sources.list.d/raspi.list
:
deb http://archive.raspberrypi.org/debian/ bookworm main
#deb-src http://archive.raspberrypi.org/debian/ bookworm main
Schritt 3: Tatsächliches Update durchführen
sudo apt update && sudo apt -y full-upgrade && sudo apt -y clean && sudo apt -y autoremove
Schritt 4: Neustart
sudo reboot
Schritt 5: Alte Konfigurationsdateien entfernen
sudo apt purge ?config-files
Schritt 6: Wechseln zu den neuen Kernels
Vorbereitung
sudo dpkg --purge --force-depends raspberrypi-kernel raspberrypi-bootloader
sudo umount /boot
sudo fsck -y /boot
sudo mkdir /boot/firmware
sudo sed -i.bak -e "s#boot#boot/firmware#" /etc/fstab
sudo systemctl daemon-reload
sudo mount /boot/firmware
sudo apt install raspi-firmware
Tatsächliche Installation der Kernel (Die richtige Version für den Pi wählen)
# 64-Bit
sudo apt install linux-image-rpi-v8 linux-headers-rpi-v8
# 32-Bit
# sudo apt install linux-image-rpi-v7l linux-headers-rpi-v7l
# 32-Bit (alternative Version)
# sudo apt install linux-image-rpi-v6 linux-headers-rpi-v6
Auto_initramfs hinzufügen
sudo sed -i.bak '$ a\auto_initramfs=1' /boot/firmware/config.txt
Schritt 7: Neustart
sudo reboot
Schritt 8: Überprüfen mit "uname -a" (alter Stand, sollte mittlerweile etwas aktuellere Versionen anzeigen)
Alter Kernel:
Linux raspberrypi 6.1.21-v8+ #1642 SMP PREEMPT Mon Apr 3 17:24:16 BST 2023 aarch64 GNU/Linux
Neuer Kernel:
Linux raspberrypi 6.1.0-rpi4-rpi-v8 #1 SMP PREEMPT Debian 1:6.1.54-1+rpt2 (2023-10-05) aarch64 GNU/Linux
Schritt 9: Wechseln zu NetworkManager (optional)
sudo systemctl enable --now NetworkManager
sudo systemctl disable --now dhcpcd
Statische IP einrichten (Anpassen nach Bedarf)
sudo nmcli -p connection show
sudo nmcli -p connection show "Wired connection 1"
sudo nmcli con mod "Wired connection 1" ipv4.method manual ipv4.addresses 192.168.1.5/24 ipv4.gateway 192.168.1.1
Schritt 10: Neustart
sudo reboot
Hinweise:
- Falls der Wechsel zu NetworkManager nicht durchgeführt wird, kann die Netzwerkverbindung nach dem Neustart verloren gehen.
Quelle:
https://gist.github.com/jauderho/6b7d42030e264a135450ecc0ba521bd8
"Auch ein Upgrade der 32-Bit Version von PiOS wurde nicht getestet."
Auch die 32-bit Version hatte ich problemlos aktualisieren können. Mittel- bis eher kurzfristig werde ich jedoch 64-bit aufsetzen. Idiotischerweise hatte ich mir leider den 4er Raspi mit lediglich 2GB RAM gegönnt, aber die reichen gerade so aus. Anhand welcher Quelle ich für das Upgrade zugange war, weiß ich leider nicht mehr, aber die hier könnte es gewesen sein:
https://raspberrytips.com/update-raspberry-pi-latest-version/
PS: Ein Backup und die sonstigen –hier gegebenen– Tipps sind natürlich hilfreich.
Die Empfehlung für den Kernel sind im Artikel unvollständig bzw so nicht richtig. Richtig ist wohl:
64 bit: linux-image-rpi-v8 linux-headers-rpi-v8 32 bit für Raspi 4 und 400: ...-v7l 32 bit für Raspi 3, Raspi 2, Raspi Zero 2W: ... -v7 32 bit für Raspi 1, Zero, Zero W: ... -v6
Stimmt.
Auf einem Raspberry Pi2 aufwärts scheint es zu laufen, allerdings alles darunter hat ein Problem mit den debian-bookworm-Paketen: Schon beim Installieren von bash (armhf) bricht das script mit "ungültiger Maschinenbefehl" ab. Die Bash ist dann nur halb installiert. Ich habe dann die bash vom raspbian per Hand als deb runtergeladen und das dann drüberinstalliert, die debian-repos wieder rausgenommen und ohne diese weitergemacht - das geht.
Beim Raspberrypi 2 funktioniert außerdem der linux-image-rpi-v7l nicht! Da blinkt die grüne LED 7x. Ich habe linux-image-rpi-v7 installiert. Auf dem Rasbperry Pi 1 habe ich linux-image-rpi-v6 installiert.
Super Anleitung, hat fhelerfrei auf Anhieb geklappt. Besten Dank