Multiboot für Raspbian

© Lubos Chlubny, 123RF

Schaltzentrale

Speziell bei verbauten RasPis erweist sich der Wechsel der SD-Karte oft als mühsam. Hier hilft der Pi-Boot-Switch aus der Klemme, der remote unterschiedliche Systeme bootet.

Der fest im Regal eingebaute Mini-Server, der Pi Zero im Internet-Radio und selbst der im Standardgehäuse der Raspberry Pi Foundation steckende Pi0: Sie alle verbindet, dass sich die Speicherkarte nicht mehr ohne Weiteres austauschen lässt. Liegt ein Update an oder möchte man neue Funktionen hinzufügen, bleibt dann nur noch die Änderung direkt am produktiven System. Das aber widerspricht der alten IT-Weisheit "never change a running system" – laufende Systeme fasst man aus Prinzip nicht mehr an.

Doch die Welt ist nicht statisch, Updates und neue Funktionen drängen und locken. Aus dieser Motivation heraus entstand das hier beschriebene Boot-System. Es zielt darauf ab, auf einer SD-Karte mehrere Raspbian-Systeme parallel vorzuhalten, um flexibel zwischen ihnen hin- und herzuwechseln. Vor einem Update etwa ziehen Sie so eine Kopie auf eine zweite Partition, probieren dort die Neuerungen aus und lassen dann entweder die Kopie weiterlaufen oder wechseln zurück – all das in wenigen Minuten und beliebig oft.

Booten auf dem RasPi

Der Boot-Prozess verläuft auf dem RasPi anders als auf anderen Systemen. Das liegt am speziellen Chip, der die Basis bildet: So startet beim RasPi zuerst die VideoCore genannte Grafikkomponente, bevor die eigentliche CPU übernimmt und das System hochfährt.

Dieses technische Konzept verhindert einen klassischen Boot-Manager, wie er etwa im normalen PC zum Einsatz kommt. Deswegen unterscheidet sich der hier vorgestellte Boot-Manager von seinen klassischen Vorbildern: Statt direkt nach dem Systemstart müssen Sie schon vorab das nächste zu bootende System auswählen.

Raspbian legt normalerweise zwei Partitionen an. Die erste, sehr kleine FAT-Partition enthält die für das Booten notwendigen Dateien wie Firmware und Kernel. Die zweite, System- oder Root-Partition genannt, enthält das eigentliche Linux-System. Während die Boot-Partition zwingend die erste sein muss, darf die Systempartition auch auf der dritten oder einer weiteren Partition liegen. Erst der Parameter root in der Datei cmdline.txt aus der Boot-Partition bestimmt die Systempartition.

Diese Konstellation machen wir uns zunutze, um im Betrieb flexibel zwischen verschiedenen Systemen zu wechseln. Allerdings belegt normalerweise die zweite Partition den gesamten restlichen Platz der SD-Karte – zumindest dann, wenn Sie bei der Ersteinrichtung, wie allgemein empfohlen, mit Raspi-config den entsprechenden Menüpunkt ausgewählt haben.

Im ersten Schritt müssen Sie also entsprechend Platz schaffen. Dazu benötigen Sie ein weiteres Linux-System, etwa ein Raspbian mit grafischer Oberfläche. Der nächste Abschnitt geht davon aus, dass Sie die aktuelle Version betreiben. Des Weiteren benötigen Sie einen SD-Kartenleser, um damit das zu verkleinernde System auszulesen und zu beschreiben.

Platz schaffen

Für den vorgesehenen Zweck kommt das Programm Gparted (Abbildung 1) zum Einsatz, dass Sie über die grafische Paketverwaltung oder per sudo apt-get gparted über die Kommandozeile installieren. Anschließend finden Sie Gparted im Menü und starten es von dort.

Abbildung 1: Gparted erlaubt es auf einfache Weise, Datenträger umzuformatieren.

Achten Sie auf die Auswahl des richtigen Laufwerks in der Ausklappliste oben rechts. Sofern Sie keine zusätzliche Festplatte im System betreiben, handelt es sich dabei normalerweise um /dev/sda. Im Zweifel identifizieren Sie das Laufwerk über seine Größe oder über die Zusatzinformationen, die Sie über die Menüpunkte Laufwerk und Partition erreichen.

Wie Sie in Abbildung 1 sehen, besitzt die verwendete SD-Karte zwei Partitionen. Davor befindet sich ein kleiner, nicht zugeteilter Bereich von 4 MByte. Das Schlüsselsymbol zeigt an, dass beide Partitionen eingehängt sind und sich deshalb nicht bearbeiten lassen. In unserem Fall liegt das an dem in Raspbian integrierten Automounter, der angesteckte Massenspeicher automatisch unter /media/User/ einhängt.

Da es gilt, die große Partition /dev/sda2 zu verkleinern, wechseln Sie ins Menü Partition und hängen dort die Partition aus. Der Schlüssel verschwindet nun. Ebenfalls über das Partitionsmenü wählen Sie jetzt den Menüpunkt Größe Ändern/Verschieben aus (Abbildung 2). Im Dialog wählen Sie die neue Größe, entweder über die Eingabefelder oder per Maus. Die Software merkt sich die Änderungen und wendet sie erst ganz am Ende mit der Übernahmebestätigung an.

Abbildung 2: Im Menü Partition finden Sie das passende Werkzeug, um die Größe einer Partition zu verändern.

Das Verkleinern (Abbildung 3) der alten Systempartition schafft Platz für die neuen Partitionen. Diese legen Sie über Neu aus dem Partitionsmenü an. Unten im Bild sehen Sie die anstehenden Aktionen, oben in der Schalterleiste den grünen Haken. Ein Klick darauf führt nach einer Bestätigung alle Änderungen durch. Da der Vorgang keine Daten verschiebt, sondern nur Verwaltungsinformationen der Partitionen ändert, geht das recht zügig vonstatten. Weitere Tipps zur Partitionierung finden Sie im Kasten "Optimal partitionieren".

Abbildung 3: Mit dem Werkzeug Größe Ändern/Verschieben aus Gparted schaffen Sie Platz für neue Partitionen.

Optimal partitionieren

Die klassische MBR-Partitionstabelle (Master Boot Record) verwaltet aus historischen Gründen nur maximal vier Partitionen. Die erste belegt beim RasPi die Boot-Partition mit mindestens 50, besser 100 MByte. Danach lassen sich noch drei weitere Partitionen anlegen. Was man damit macht, hängt vom Anwendungsfall ab.

Denkbar wären mehrere Systempartitionen, eine getrennte Home-Partition für Benutzerdaten oder eine Datenpartition, etwa für Medien. Damit werden die verfügbaren Partitionen schon knapp. Zwei Systempartitionen wären wünschenswert, um neben einem Produktivsystem auch ein Testsystem bereitzustellen. Damit bleibt nur eine Partition für Daten oder das Home übrig.

Eine spätere Erweiterung des MBR-Formats umgeht das Limit von vier Partitionen. Die letzte der normalen Partitionen (auch primäre Partitionen genannt) machen wir zu einer erweiterten Partition, die als Container für beliebig viele zusätzliche Partitionen dient. Damit lässt sich eine Aufteilung wie in Abbildung 4 realisieren: Neben der Boot-Partition /dev/sda1 und zwei primären Systempartitionen /dev/sda2 und /dev/sda3 gibt es dort noch weitere Systempartitionen (die Nummern 5, 7 und 8) sowie eine Datenpartition /dev/sda6. Die Partition Nummer 4 dient als Container-Partition, was Gparted mit einer hellblauen Umrandung auch grafisch hervorhebt.

Abbildung 4: Die Aufteilung einer SD-Karte mit einer erweiterten Partition.

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

08/2019
Smarte Hacks

Diese Ausgabe als PDF kaufen

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

Stellenmarkt

Neuigkeiten

  • Immer der Reihe nach

    Mit einer einfachen Schaltung testen Sie Bausteine, die über den SPI-Bus miteinander kommunizieren.

  • Einzigartig

    Eine MAC-Adresse ermöglicht die Kommunikation im Netzwerk. Der 24AA02E48 liefert sie für Setups, die aus grundlegenden Komponenten bestehen.

  • Steinkuchen

    Der Raspberry Pi hat viele Fans, doch nicht ohne Grund sehnen sich viele Anwender nach einem RasPi 4. Der Rock Pi 4 übertrumpft den RasPi 3 in Sachen Leistung um Längen und schlägt sich auch in der Praxis gut.

  • Kerngeschäft

    Der Einstieg in die Welt der Mikrocontroller fällt nicht ganz leicht. Mit dem Nucleo F401RE haben Sie jedoch ein Entwicklerboard samt abgestimmter Entwicklungsumgebung an der Hand.

  • Himbeer-Geräte

    Mit Maus und Tastatur im weiß-roten Raspberry-Look macht die Raspberry Pi Foundation das eigene Angebot an Peripheriegeräten für den Mini-Rechner komplett.

  • Unter Kontrolle

    PiCockpit ist eine speziell auf den RasPi zugeschnittene Online-Monitoring-Lösung. Wir werfen einen ersten Blick auf den brandneuen und in Ausbau befindlichen kostenlosen Dienst.

  • Ins rechte Licht gesetzt

    Selbst ohne eigenen Garten holen Sie sich Pflanzen mithilfe von LEDs in jeden Raum und sehen ihnen mit dem RasPi beim Wachsen zu.

  • Helligkeit nach Maß

    Wer bei wechselnden Lichtverhältnissen nicht ständig die Beleuchtung manuell nachregeln möchte, der spannt dafür einen PiXtend ein.

  • Geschrumpft

    Kleine Bildschirme gibt es zwar viele, aber der Support von Raspbian ist überraschend schlecht. Mit ein paar Tricks erzielen Sie trotzdem ein optimales Ergebnis.

  • Brüllwürfel

    Kompakt-Stereoanlagen mit CD-Spieler und Kassettendeck sind inzwischen oft ein Fall für den Recyclinghof – oder für die digitale Wiederbelebung mit einem RasPi und etwas Geschick.