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

Ähnliche Artikel

Aktuelle Ausgabe

06/2019
Home Improvement

Diese Ausgabe als PDF kaufen

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

Stellenmarkt

Neuigkeiten

  • Verschlungene Pfade

    Mit Schleifen, Fallunterscheidungen und Funktionen programmieren Sie komplexe Skripte auf einfache und elegante Weise.

  • Extrem genau

    Mit einem A/D-Wandler messen Sie bei Bedarf Spannungen. Der MCP3424 macht dabei konstruktionsbedingt eine gute Figur.

  • Verbindungsaufnahme

  • Süßer Wecker

    Dem RasPi fehlen sowohl eine Echtzeituhr als auch ein BIOS, ein zeitgesteuertes Wecken erfordert also Zusatzkomponenten. Hier springt der Witty Pi Mini in die Bresche, ein µHAT von UUGear.

  • Windows to go

    Das Aufsetzen zuverlässiger und sicherer Remote-Desktop-Lösungen erfordert einiges Know-how. Die RasPi-basierte Pinbox von Pintexx reduziert den Konfigurationsaufwand auf ein Minimum.

  • Prima Klima

    In Museen ist es Pflicht, zu Hause nützlich: das permanente Prüfen und zentrale Erfassen der Feuchtigkeit und Temperatur in Räumen.

  • Auf einen Blick

    Ein maßgeschneiderter Infoscreen auf RasPi-Basis mit stromsparendem E-Ink-Display zeigt Termine, Bilder, Mitteilungen und Wetterinformationen an.

  • Sanft berührt

    Mit einem RasPi und dem Controllermodul PiXtend lassen sich mühelos Roboterarme ansteuern und deren Bewegung automatisieren.

  • Popcorn-Kino

    Mit Kodi 18.0 unterstützt LibreELEC 9.0 jetzt die von vielen Streaming-Diensten genutzte DRM-Verschlüsselung. Die Integration von Netflix, Amazon und Co. erfordert allerdings Handarbeit.

  • So nah und doch so fern

    Der RasPi kommt häufig als Server oder Steuerrechner für spezielle Zwecke zum Einsatz. Mit Anydesk erhalten Sie dazu eine Steuersoftware mit grafischer Oberfläche.