Kompletter Wechsel
Besitzen Sie einen Raspberry Pi 3 und ein vom neuen Boot-Prozess unterstütztes USB-Gerät, dann können Sie mit Pi-Boot-Switch Ihr System auch komplett umziehen. Im ersten Schritt bereiten Sie die RasPi-Hardware dafür vor. Der Kasten “Booten von USB” erläutert die notwendigen Schritte. Lassen Sie sich nicht davon abschrecken, dass sich dieser Schritt nicht rückgängig machen lässt: Bei eingelegter SD-Karte verhält sich der Mini-Rechner danach genauso wie zuvor.
Booten von USB
Der Raspberry Pi 3 erlaubt das direkte Booten von einem USB-Massenspeicher [2]. Dieser MSD-Boot genannte Modus funktioniert jedoch nur, wenn Sie ein Bit im internen Speicher des Prozessors setzen – ein einmaliger, unumkehrbarer Vorgang. Dazu sollten Sie ein einigermaßen aktuelles Raspbian mindestens der Version vom 10.04.2017 verwenden. Im Zweifelsfall aktualisieren Sie vorher Kernel und Firmware. In der Datei config.txt auf der ersten Partition fügen Sie am Ende folgende Zeile ein:
program_usb_boot_mode=1
Dann booten Sie das System neu. Die erfolgreiche Umsetzung des fraglichen Bits prüfen Sie mit folgendem Befehl:
$ vcgencmd otp_dump | grep 17:
Die Ausgabe muss 17:3020000a lauten. Sobald das der Fall ist, löschen Sie die eingefügte Zeile wieder aus der config.txt.
Im zweiten Schritt partitionieren Sie die USB-Festplatte beziehungsweise den Stick. Als erste Partition benötigen Sie jetzt eine kleine FAT-Partition mit einer Größe von etwa 100 MByte für die Boot-Partition. Die folgenden Partitionen müssen dann mindestens 2 GByte (für Raspbian Lite) oder 8 GByte (für Raspbian) umfassen. Bei einer Festplatte lohnt es sich, daneben eine große Partition für Daten zu reservieren. Anschließend kopieren Sie wie oben beschrieben die Systempartition auf die entsprechende USB-Partition, analog zur ersten Zeile in Listing 4.
Verwenden Sie mehrere USB-Platten oder Sticks am RasPi, dann sollten Sie die korrekte Zielpartition genau überprüfen: Andernfalls überschreibt die Prozedur die darauf enthaltenen Daten. Das Kommando verwendet sowohl die Option -c für das Kopieren als auch den Schalter -s für den Wechsel der Systempartition.
Als Letztes fehlt noch das Übertragen der Boot-Partition von der SD-Karte auf den USB-Speicher. Das erledigen Sie mit den Befehlen aus Listing 6. Bei einem folgenden Neustart sollte der Kleinrechner dann direkt vom angeschlossenen USB-Gerät booten.
Listing 6
$ sudo pi-boot-switch -B -t /dev/sda1 -F $ sudo pi-boot-switch -I
Fazit
Der Wechsel der SD-Karte nur für einen Test erübrigt sich mit Pi-Boot-Switch. Das spart im Zweifelsfall die ein oder andere Karte, zumindest aber die Mühe des Ein- und Ausbauens des Mediums. Wie bei allen Manipulationen an Festplatten und Partitionen sollten Sie die Prozedur zuerst auf einem reinen Testsystem durchspielen und anschließend auch auf einem Produktivsystem nicht ohne Datensicherung anwenden.
Neben den hier vorgestellten Funktionen bietet Pi-Boot-Switch noch weitere Möglichkeiten, zum Beispiel die direkte Installation eines Raspbian-Images auf eine beliebige Zielpartition. Falls Sie solche erweiterten Funktionen interessieren, sehen Sie sich am besten die Projektdokumentation auf Github näher an.
Der Autor
Bernhard Bablok (mailto:[email protected]) arbeitet bei der Allianz Technology SE als SAP-HR-Entwickler. Wenn er nicht Musik hört, mit dem Fahrrad oder zu Fuß unterwegs ist, beschäftigt er sich mit Themen rund um Linux, Programmierung und Mini-PCs.
Infos
- Pi-Boot-Switch: https://github.com/bablokb/pi-boot-switch
- RasPi von USB booten: https://www.raspberrypi.org/documentation/hardware/raspberrypi/bootmodes/msd.md





