Statt von SD-Karte

Raspberry Pi: So starten Sie Raspbian per USB-Stick

Alle bekannten Platinen-PCs wie Raspberry Pi, Banana Pi, Odroid oder Cubieboard erwarten das Betriebssystem auf einer Micro-SD-Karte. Es ist aber auch ein System auf USB-Stick realisierbar.

Ein Platinensystem auf USB-Stick hat gegenüber der SD-Karte immer Vorteile: Ein genereller Pluspunkt ist die Handlichkeit des USB-Sticks, denn SD-Karten zu entnehmen bedeutet oft Fummelei – vor allem bei Platinen, bei denen Sie erst das Gehäuse öffnen müssen. Ferner bieten USB-Sticks beliebige Kapazitäten und im Schnitt mehr Kapazität fürs Geld. Die Geschwindigkeitsvorteile sind hingegen nicht gravierend, sofern die üblichen USB-2.0-Ports vorliegen. Bei den selteneren Platinen mit USB 3.0 (Odroid XU3, Mirabox) sollte der Leistungsschub hingegen deutlich ausfallen. Das technische Problem einer USB-Installation besteht darin, dass Raspberry & Co. zumindest die Bootumgebung zwingend auf der SD-Karte erwarten. Erst dann besteht die Möglichkeit, an richtiger Stelle zum USB-Stick abzuzweigen.

An dieser Stelle können Sie statt der SD-Karte die zweite Partition des USB-Sticks eintragen – in den meisten Fällen „/dev/sda2“.
An dieser Stelle können Sie statt der SD-Karte die zweite Partition des USB-Sticks eintragen – in den meisten Fällen „/dev/sda2“.

Raspberry-Einrichtung am Beispiel Raspbian

Die nachfolgende Beschreibung zielt auf die meistverbreitete Platine Raspberry Pi und auf das dort meistverbreitete Platinensystem Raspbian. Die Anleitung gilt sinngemäß auch für andere Minirechner und andere Betriebssysteme. Jedoch ist der maßgebliche Abzweigungspunkt, wo Sie vom Bootloader auf SD-Karte auf das USB-Gerät mit dem Betriebssystem weiterleiten, bei jedem System abweichend.

Auf der Kommandozeile, also auch per SSH, können Sie die Systempartition direkt im laufenden Betrieb erweitern.
Auf der Kommandozeile, also auch per SSH, können Sie die Systempartition direkt im laufenden Betrieb erweitern.

In jedem Fall sind folgende Schnitte erforderlich:

• Sie holen das gewünschte System aus dem Internet und schreiben das Betriebssystem-Image auf USB-Stick. Dazu taugen genau wie bei SD-Karten die üblichen Hilfsmittel wie dd unter Linux oder der Win 32 Disk Imager unter Windows.

• Die Bootumgebung kopieren Sie dann mit einem Linux-System am PC vom Komplettsystem des USB-Sticks auf eine kleine SD-Karte. Unter einem Linux-System wie Ubuntu kommen Sie am einfachsten an die Bootpartition und deren Dateien, indem Sie bei eingestecktem USB-Stick mit dem Platinensystem im Dateimanager (nach Strg-L) die Adresse „computer:///“ eingeben. In der Geräteliste erscheint der Stick nun zweimal, nämlich als „boot“ und als „Datenträger“.

Alles, was Sie unter „boot“ finden, gehört direkt – ohne ein Verzeichnis anzulegen – in das Hauptverzeichnis der SD-Karte. Typische Dateien an dieser Stelle sind „bootcode.bin“, „start*.elf“ und „kernel.img“.

• Je nach verwendetem Platinensystem kann es nun innerhalb der kopierten Bootdaten unterschiedliche Textdateien geben, wo die Systempartition definiert ist. Bei Raspbian ist es die nur aus einer Zeile bestehende Datei „cmdline.txt“, während bei anderen Systemen etwa eine „boot.scr“ diese Information enthält. In jedem Fall wird die wesentliche Anweisung mit „root=“ beginnen, und als Gerät der Systempartition ist in der Regel „/dev/mmcblk0b2“ angegeben – also die zweite Partition der SD-Karte. Bei Raspbian liegen die Verhältnisse genau so, und dort können Sie nun stattdessen

root=/dev/sda2

eintragen. Alle anderen Angaben müssen unverändert bleiben, und die Zeile darf bei dem Eingriff keine Umbrüche erhalten. Mit dieser geänderten Angabe sucht der Kernel später das System auf der zweiten Partition des USB-Sticks (die erste Partition des USB-Sticks enthält die eigentlich überflüssige Bootpartition). Sollen neben dem USB-Stick mit dem System noch andere USB-Datenträger an den Platinenrechner angeschlossen werden, müssen Sie statt der Kennung „sda2“ eventuell „sdb2“ einsetzen. Abgesehen von der jeweils zu ändernden Textdatei verhält es sich bei anderen Systemen im Prinzip ähnlich. Wenn Sie statt des Gerätenamens „/dev/mmc…“ eine hexadezimale UUID-Kennung antreffen, können Sie in der Regel trotzdem nach „root=“ eine Partitionsbezeichnung wie „/dev/sda2“ verwenden.