Linux am Schlüsselbund

Workshop: Ubuntu 8.04.1 bootfähig auf einen USB-Stick installieren

18.07.2008 von Jürgen Donauer
Das eigene Linux auf dem USB-Stick sorgt dafür, dass Sie immer in der gewohnten Umgebung arbeiten können. Dieser TecChannel-Artikel zeigt Ihnen, wie Sie mit wenigen, unkomplizierten Schritten das derzeit aktuelle Ubuntu-Linux auf einen USB-Stick bannen und von dort starten.

Sein eigenes, auf sich selbst zugeschnittenes Betriebssystem auf einem USB-Stick immer dabei zu haben ist nicht nur sexy, sondern hat auch immense Vorteile. Alle Lesezeichen im Gepäck, E-Mail-Client und Instant Messenger fertig konfiguriert und so weiter. Linux auf dem USB-Stick ist zwar schon länger kein Problem mehr, aber erst jetzt macht es mit den großen Speicherkapazitäten und billigen USB-Sticks so richtig Spaß.

Statt einem Minimal-Linux, wie zum Beispiel Puppy oder Damn Small Linux, sind mittlerweile auch die „großen“ Distributionen USB-tauglich. Dieser Artikel soll die Leistungsfähigkeit der Mini-Distributionen und die hervorragende Arbeit deren Entwickler nicht schmälern. Für ältere Rechner sind diese Systeme immer noch das Nonplusultra. Allerdings haben viele Anwender wohl doch gern ein „ausgewachsenes“ OpenOffice.org, Firefox 3, Thunderbird und andere gewohnte Applikationen an Bord. Ebenso genießt man die Vorzüge von GNOME oder KDE als Window-Manager, anstatt sich mit Fluxbox oder IceWM vertraut zu machen. Die meisten der noch aktiven Rechner dürften außerdem mit Ubuntu 8.04.1 „Hardy Heron“ klarkommen.

Zielsetzung: Ubuntu soll vom USB-Stick starten und Änderungen dort auch speichern können.

Die Preise der USB-Speicher sind rapide in den Keller gegangen; für unter 20 Euro bekommt man heutzutage vier GByte Speicherplatz. Somit könnte man eine zweite Überlegung in ein bootfähiges Linux einfließen lassen. Festplatten sterben oft schneller, als es einem lieb ist. Mit einem nach eigenem Geschmack konfigurierten USB-Linux könnte man die Arbeitsfähigkeit eines Rechners auch mit einer ausgefallenen Festplatte für einen gewissen Zeitraum überbrücken. Da der sicherheitsbewusste Anwender ein Backup aller Daten hat, wäre er binnen weniger Minuten wieder komplett einsatzfähig.

Mindestanforderungen und Vorbereitungen

Grundvoraussetzung für diese Anleitung ist ein USB-Stick, der mindestens ein GByte groß ist. Zwei oder mehr ist allerdings empfohlen, wenn Sie noch Platz für eigene Modifikationen oder Daten haben wollen. Eine bestehende Verbindung zum Internet ist ebenfalls notwendig. Außerdem muss Ihr System natürlich den Boot via USB unterstützen.

Für den weiteren Verlauf nehmen wir eine der folgenden Möglichkeiten an:

  1. Sie haben eine bestehende Linux-Installation

  2. Sie verwenden für den kompletten Vorgang eine Live-CD

Im Internet finden sich auch Anleitungen, wie sich das Erstellen des USB-Linux unter Windows realisieren lässt. Diese Option wird in diesem Artikel aber nicht berücksichtigt. Grund ist, dass Sie auch hier zumindest ein Linux-Live-System starten müssten, um den USB-Stick zu partitionieren und syslinux einzuspielen. Somit ist es im Prinzip komfortabler, wenn man gleich die Live-CD für den gesamten Vorgang verwendet.

Zunächst einmal brauchen Sie das aktuelle ISO-Abbild von Ubuntu 8.04.1 LTS „Hardy Heron“. Aus Kompatibilitätsgründen verwendet TecChannel die Version „PC (Intel x86) desktop CD“ für die Architektur i386. Ebenso brauchen Sie die Pakete syslinux und mtools. Diese befinden sich in den Repositories von Ubuntu und können mit den üblichen Verdächtigen apt-get, aptitude oder Synaptic installieren.

Live-CD oder bestehende Installation

Dieser Artikel beschreibt das Bespielen des USB-Sticks aus einer bestehenden Installation von Xubuntu 8.04. Nutzen Sie dafür eine Live-CD, sind die meisten Schritte äquivalent. Ein Unterschied beim Start von CD ist, dass Sie das ISO-Abbild nicht als loop-Gerät gesondert einbinden müssen. TecChannel wird in der Step-by-Step-Anleitung noch einmal gesondert auf diese Unterschiede hinweisen.

Partitionierung des USB-Sticks

Starten Sie zunächst Terminal-Fenster, und werden Sie Benutzer root – sudo su. Nach dem Einstecken des USB-Sticks bindet sich dieser selbst ein. Um herauszufinden, welches Gerät Sie partitionieren müssen, verwenden Sie den Befehl fdisk -l. Dies listet alle im Rechner befindlichen Festplatten und Partitionen auf. Vor der Installation müssen Sie die eingebundenen Laufwerke wieder ausbinden – umount /dev/sd*1 (* ersetzen Sie mit dem entsprechenden Buchstaben Ihres Systems).

VORSICHT: Dieses Beispiel löscht alle Daten auf dem USB-Stick. Vergewissern Sie sich also, dass sich keine wichtigen Daten auf dem Massenspeicher befinden, oder sichern Sie diese bei Bedarf.

Fdisk: In diesem Falle müssten Sie /dev/sdc1 und /dev/sdc2 mittels umount entfernen.

Für das eigentliche Partitionieren verwendete TecChannel das etwas komfortablere cfdisk, das sich auf modernen Linux-Distributionen befinden sollte. Mit dem altbewährten fdisk funktioniert es aber genauso. Im Beispiel ist der USB-Stick mit sdc bezeichnet, also lautet der Befehl cfdisk /dev/sdc. Für Ihr System ersetzen Sie sdc mit dem via fdisk -l herausgefundenen Laufwerksbuchstaben.

Löschen Sie alle Partitionen, und erstellen Sie eine neue, primäre mit der Größe 750 MByte: New <enter> – Primary <enter>– 750 <enter> - Beginning <enter>. Danach wechseln Sie den Dateityp auf Fat 16: Type <enter> - <enter> - 06 <enter>. Der nächste Schritt macht die Partition startfähig: Bootable <enter>.

Eingerichtet: So sollte es nach den ersten Schritten aussehen.

Nun wechseln Sie mit der Pfeiltaste nach unten auf den „Free Space“ und legen eine weitere Partition mit den restlich verfügbaren MBytes an: New <enter> - Primary <enter> - <enter>. Datentyp ist hier ein Linux-kompatibles System Type <enter> - <enter> - 83 <enter>. Mit „Write“ und der Bestätigung „yes“ wird die neue Partitionstabelle auf den USB-Stick geschrieben. Nun bindet sich in der Regel die erste Partition wieder ein. Wie schon gehabt, werfen Sie die Partition mit umount /dev/sd*1 wieder aus.

Schritt zwei: Nach Fertigstellung der Partitionierung sollte die Sache in etwa so aussehen.

Erstellen und Formatieren der Dateisysteme

Der nächste Schritt formatiert die Partitionen und vergibt Namen. Bei Partition Nummer eins fällt die Wahl sehr einfach, denn wir haben es als FAT-16-System deklariert: mkfs.vfat -F 16 -n hardy /dev/sd*1. Der * ist wiederum durch den Namen des USB-Geräts zu ersetzen. Der Parameter -n lässt einen frei gewählten Namen zu. Beachten Sie aber, dass hier das Limit des 8.3-Dateinamenformat gilt, der Name vor dem Punkt also lediglich acht Zeichen lang sein darf.

Um sicherzugehen, dass die zweite Partition nicht eingebunden ist, können Sie nochmals umount /dev/sd*2 auf der Konsole ausführen. Nun scheiden sich etwas die Geister, welches Dateisystem man hier wählen soll. Die einen sagen, dass ext2 aufgrund geringerer Schreibzugriffe die Lebenszeit des USB-Sticks verlängert. Andere behaupten, dass Schreibzugriffe in Anbetracht der neuesten Technologien zu vernachlässigen sind und empfehlen daher das „Journaling Filesystem“ ext3. In diesem Test haben wir zunächst ein ext2-System eingesetzt: mkfs.ext2 -b 4096 -L casper-rw /dev/sdc2.Belassen Sie den Namen der zweiten Partition bei casper-rw, sonst wird das USB-System diese später nicht als Systemlaufwerk benutzen.

Im Test traten allerdings Probleme mit ext2fs auf. Immer wieder startete das System nicht sauber, da es Inkonsistenzen im Dateisystem gab. Erst nach der Überprüfung in einem anderen installierten Linux mittels fsck.ext2 /dev/sd*2 wurden diese Schwierigkeiten bereinigt, und das System funktionierte wieder. Dieser Umstand war kein Einzelfall. Daher wählte TecChannel das ext3-System. Sollten Probleme auftauchen, können Sie statt mkfs.ext2 den Befehl mkfs.ext3 bei der Erstellung des Dateisystems verwenden.

Alle 30 Mounts: Bei ext2fs sind regelmäßige Checks wichtig. ext3fs sollte in der Regel das Journal sauber halten.

Wollen Sie es zunächst selbst mit ext2 ausprobieren und später auf ext3 wechseln, brauchen Sie allerdings die Partition nicht neu zu formatieren. Sie fügen einfach dem Bestehenden ein Journal hinzu: tune2fs -j /dev/sd*2. Nun können Sie theoretisch auch die automatischen Checks abstellen: tune2fs -c 0 -i 0 /dev/sd*2. Ansonsten würde eine automatische Prüfung nach einer gewissen Mount-Anzahl oder einem bestimmten Datum ausgeführt. Dies fänden Sie mit tune2fs /dev/sd*2 heraus. Im Falle Ubuntu wäre das 30 Mounts oder 180 Tage.

Kopieren der Inhalte

Nun können Sie entweder die zwei Partitionen manuell einbinden oder Sie entfernen den USB-Stick und stecken diesen wieder ein. Der letzte Schritt sollte dann die Partitionen automatisch einbinden. Danach spielen Sie mittels Befehl syslinux -sf /dev/sd*1 die für den späteren Start benötigte Datei ldlinux.sys auf die erste Partition des USB-Sticks.

Entfernen – einstecken: Die einfachste Methode, die neuen Dateisysteme einzubinden, ist das Aus- und Einstecken des USB-Geräts.

Der nachfolgende Schritt ist NICHT notwendig, wenn Sie von Live-CD gestartet haben. Als Nächstes binden Sie die heruntergeladene ISO-Datei mit dem Befehl

mount -o loop -tiso9660 /<Pfad zu Ubuntu-ISO>/ubuntu-8.04.1-desktop-i386.iso /cdrom

ein.

Ab hier sind nun auch Live-CD-Nutzer wieder mit dabei. Nach einem Wechsel in das Verzeichnis cdrom (cd /cdrom) kopieren Sie nun die essenziellen Dateien auf die erste Partition des USB-Sticks:

cp -rfv casper dists install pics pool preseed .disk isolinux/* md5sum.txt README.diskdefines install/mt86plus /media/hardy

Dies kann nun eine Weile dauern. Sobald der Vorgang abgeschlossen ist, wechseln Sie in das Verzeichnis /media/hardy (cd /media/hardy) und führen den Befehl

wget pendrivelinux.com/downloads/u8/syslinux.cfg

aus. Nun ist ein Wechsel in das Unterverzeichnis casper notwendig (cd casper). Dort löschen Sie zunächst die Datei initrd.gz (rm initrd.gz) und holen danach mittels

wget pendrivelinux.com/downloads/u8/initrd.gz

die für den Bootvorgang notwendige initrd-Datei. Nun sollten Sie in der Lage sein, von dem USB-Stick das mobile Betriebssystem zu starten. Die Standardoption beim Start führt zu einem System, das alle Änderungen permanent speichert. Der Startvorgang kann etwas dauern. Danach lässt sich das System auf einem modernen Rechner recht flott betreiben.

Fazit

Das Erstellen eines tragbaren Ubuntu „Hardy Heron“ sieht auf den ersten Blick komplizierter aus, als es ist. Es lohnt sich in jedem Fall, da Sie so immer eine vertraute Arbeitsumgebung am Schlüsselbund tragen können. Je nach Größe des USB-Sticks können Sie sogar noch jede Menge Dateien mit sich tragen. Vorteil gegenüber einer Live-CD oder –DVD ist ganz klar, dass Änderungen permanent gespeichert werden können und ein USB-Stick auch handlicher ist.

USBuntu: Nach der Installation sind auf dem vier GByte USB-Stick noch 2,8 GByte Platz.

Wie anfangs schon erwähnt lässt sich aber somit auch hervorragend ein Backup-System erstellen. Bei den heutigen Preisen von USB-Sticks lohnt es sich, binnen Minuten wieder voll einsatzfähig zu sein, wenn die lokale Festplatte den Geist aufgibt. Somit lässt sich die Zeit bis zu einem Festplattenersatz sinnvoll überbrücken.

Einen Versuch, solch ein System aufzusetzen, ist es in jedem Fall wert. Sollte es Ihnen nicht gefallen, können Sie den USB-Speicher ja wieder löschen, auf eine Partition umfunktionieren und ganz normal benutzen. Weitere Informationen zum aktuellen Ubuntu finden Sie übrigens im TecChannel-Artikel „Test: Ubuntu 8.04 „Hardy Heron“.

Da Kubuntu 8.04, Xubuntu 8.04 und andere von Ubuntu offiziell unterstützten Systeme den gleichen Kernel und die gleiche Basis benutzen, sollte sich diese Anleitung theoretisch eins zu eins umsetzen lassen. Getestet hat TecChannel das aber nicht. (mja)