Metainformationen zur Seite

Von Pi3 auf Pi4 umziehen

Der LoxBerry unterstützt mittlerweile offiziell den neuen Pi4. Die SD-Karte kann einfach vom Pi3 in den Pi4 umgesteckt werden.

Achtung! Mit dieser Anleitung installiert ihr einen nicht-offiziellen Kernel (euer Loxberry nutzt einen anderen Kernel als ein Standard-LoxBerry. Damit können einige Plugins nicht mehr funktionieren (z. B. LoxMatic).

Bei rechenintensiven Anwendungen oder Plugins wie z.B. Stats4Lox, kann dem Pi3 schnell die Luft ausgehen. Daher kann es sich lohnen, auf einen Pi4, der mit deutlich mehr RAM (2GB, 4GB, 8GB), einer 64bit CPU-Multicore-Achritektur sowie 2xUSB3.0 daher kommt, umzuziehen.

Darüber hinaus kann es sinnvoll sein, bei oben genannten Plugin aufgrund der hohen Schreiblast, das OS auf einer SSD, angeschlossen an einem USB3.0-Port, zu betreiben.

Der Pi4 kann nativ, nach einer kleinen Änderung des EEPROM direkt von USB (SSD/HDD/Stick) booten. Mit ein paar kleineren Handgriffen war dies allerdings auch schon auf dem Pi3 möglich. Hier die Steps, wie es funktionieren kann: Vollständiges Backup des Datenträgers des Pi3 (microSD, externe SSD/HDD) erstellen (z.B: mittels dd an einem Linux/Unix/BSD-Host). Pi4 auf boot_from_USB vorbereiten (z.B. mit dem Raspberry-Pi-Imager-Tool), falls man von SSD booten möchte, was man natürlich will. Das im Schritt 1 erstellte Image auf die SSD spielen oder, falls man schon bei Pi3 von USB gebootet hat, diese Platte an den Pi4 anschließen und starten. Wenn der Pi4 gebootet hat (was im Bootscreen vorher durchaus mit ein paar Hinweisen auf veraltete Firmware quittiert sein kann), Firmware aktualisieren. Vor dem Update darauf achten, dass die /boot-Partition mindestens 256MB groß ist (notfalls mit parted oder anderen geeigneten Tools vergrößern)! <code bash> tholle@loxberry:~ $ df -h |grep -i boot /dev/sda1 301M 52M 250M 18% /boot tholle@loxberry:~ $ sudo rpi-update </code> Dann ein Reboot durchführen. <code bash> tholle@loxberry:~ $ sudo reboot </code> Da der Pi3 mit einem 32bit-Kernel lief, muss man jetzt noch dem Pi4 erklären, dass er in Zukunft bitte mit einem 64bit-Kernel arbeiten soll, um u.a. die vollständige, zur Verfügung stehende Hardware (wie z.B. RAM, Lanes, etc.) anzusprechen. Prüfen, welcher Kernel geladen ist: <code bash> tholle@loxberry:~ $ uname -m armv7l </code> Sollte hier armv7l oder armv7l+ stehen, läuft der Pi4 mit einem 32bit-Kernel. Um nun zu einem 64bit-Kernel zu wechseln, öffnet man einfach mit einem Editor die Datei /boot/config.txt, geht zum Abschnitt [pi4] und fügt die Zeile arm_64bit=1 an. Anschließend speichern, schließen und reboot. <code bash> tholle@loxberry:~ $ sudo vim /boot/config.txt </code> <code ini> [pi4] # Enable DRM VC4 V3D driver on top of the dispmanx display stack dtoverlay=vc4-fkms-v3d max_framebuffers=2 arm_64bit=1 </code> <code bash> tholle@loxberry:~ $ sudo reboot </code> Nach dem Reboot nochmals den geladenen Kernel checken (die Ausgabe spricht für sich): <code bash> tholle@loxberry:~ $ uname -m aarch64 </code>

Anmerkung: Bei mir liefen alle Plugins, bis auf RPi-Monitor ohne Probleme weiter. Nach einer Neuinstallation von RPi-Monitor lief auch das wieder. Es sei an dieser Stelle allerdings explizit darauf hingewiesen, dass es durchaus sein kann, dass manche Plugins Probleme mit dem Architekturwechsel haben können. Aber für diese Fälle haben wir ja glücklicherweise das in Schritt 1 erstellte Image des Pi3.

Aus eigener Erfahrung kann ich sagen, dass nicht jeder USB3.0/1-SATA-Adapter mit dem PI4 harmoniert. Deswegen hier eine Übersicht, über Adapter und Speicher, die sich als funktional, bzw. nicht funktional erwiesen haben. That’s it!