Multiboot für Raspbian

Systempartition auf USB

Bei Bedarf lässt sich eine Systempartition auch auf ein USB-Laufwerk auslagern, etwa einen schnellen Stick oder eine Festplatte. Gerade Letzteres führt im Alltag zu einer spürbaren Geschwindigkeitssteigerung, insbesondere dann, wenn der RasPi häufig Daten schreibt.

Mit dem Raspberry Pi 3 führte die Foundation die Möglichkeit ein, direkt von USB zu booten und damit ganz auf die SD-Karte zu verzichten. Allerdings funktioniert das nicht mit jedem Stick; außerdem dauert der Boot-Prozess deutlich länger, da er immer zuerst eine SD-Karte sucht.

Aber auch der Hybridbetrieb funktioniert ohne Probleme: Die Boot-Partition bleibt auf der SD-Karte, die Systempartition kommt auf den USB-Speicher. Da auf der Boot-Partition nur die Firmware und der Kernel liegen, greift das System lediglich beim Start kurz darauf zu, ansonsten gibt es keinerlei Zugriff. Theoretisch könnte man nach dem Hochfahren und dem Aushängen der Boot-Partition sogar die SD-Karte entnehmen und den Slot als normalen Kartenleser nutzen. Eine gute Idee ist das trotzdem nicht: Dann gehen Kernel- und Firmware-Aktualisierungen in die Hose.

Das Boot-Switch-Skript funktioniert ohne Probleme auch mit USB-Medien. Zum Testen hängen Sie einfach einen passend partitionierten Stick an den USB-Anschluss und rufen mit dem Schalter -I wie oben beschrieben die verfügbaren Partitionen ab.

In der Liste tauchen dann neben den /dev/mmcblk0px-Partitionen der SD-Karte auch noch die USB-Partitionen auf, üblicherweise als /dev/sda1 und so weiter. Per Copy und Switch übertragen Sie dann die Systempartition auf das USB-Medium und wechseln für den nächsten Boot-Vorgang dorthin.

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

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 6 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Raspberry Pi Geek kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Aktuelle Ausgabe

04/2019
TV & Multimedia

Diese Ausgabe als PDF kaufen

Preis € 9,99
(inkl. 19% MwSt.)

Stellenmarkt

Neuigkeiten

  • Finger weg

    Ein Temperatursensor verrät, ob Sie einen Gegenstand gefahrlos berühren dürfen. Beim Messen brauchen Sie dabei noch nicht einmal Kontakt zum Objekt.

  • Aus einer Hand

    Um einen Mikrocontroller zu programmieren, genügt ein Raspberry Pi. Wir zeigen, was Sie dazu noch benötigen.

  • Im Gleichtakt

    Synchronisierte Live-Loops und selbst erstellte Funktionen helfen dabei, Sonic Pi wie ein Live-Instrument zu spielen.

  • Mach mal

    Das Ftduino-Modul schlägt die Brücke zu Fischertechnik und ermöglicht es unter anderem, einen Drei-Achsen-Roboter anzusteuern.

  • Eleganter Diener

    Jeden Morgen dieselben Handgriffe, um zu sehen, ob die S-Bahn fährt und wie das Wetter wird? Ein cleverer Infoscreen auf RasPi-Basis automatisiert den Vorgang.

  • Bienenflüsterer

    Bienenzüchter, die ihre Völker besser kennenlernen möchten, müssen die fleißigen Insekten nicht pausenlos stören. Mit einem Raspberry Pi und verschiedenen Sensoren überwachen sie Temperatur, Luftfeuchtigkeit und bald auch das Gewicht des Bienenstocks.

  • Beerige Musik

    Für echten Hi-Fi-Sound braucht es mehr als einen kleinen Bluetooth-Brüllwürfel. Mit Volumio und einem Raspberry Pi rüsten Sie Ihre klassische Hi-Fi-Anlage mit smarten Funktionen auf.

  • Ton ab!

    Auf den ersten Blick erscheint der RasPi zu schwachbrüstig für den Betrieb leistungshungriger DAW-Software. Doch der Schein trügt.

  • Himbeer-TV

    Der DVB TV µHAT rüstet den Raspberry Pi mit einem DVB-T/T2-Tuner auf. Die deutsche TV-Landschaft schränkt dessen Möglichkeiten allerdings ein.

  • Git à la RasPi

    Mit wenigen Handgriffen zum Git-Hoster: Die dezentrale Arbeitsweise von Git erleichtert in Kombination mit der Netzwerkfähigkeit des RasPi das Verwalten von Quellcode.