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

Aktuelle Ausgabe

06/2019
Home Improvement

Diese Ausgabe als PDF kaufen

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

Stellenmarkt

Neuigkeiten

  • 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.

  • Eingebettet

    Funkmodule, Displays und Analysegeräte für den Raspberry Pi: Auf der Embedded World präsentieren sich zahlreiche Unternehmen interessierten Elektronikbastlern und Entwicklern.