OpenSuse als Live-Version auf einem USB-Stick installieren

Aus LinuxUser 01/2008

OpenSuse als Live-Version auf einem USB-Stick installieren

Fruchtig und spritzig

Sie möchten eine flinke OpenSuse-Variante für die Hosentasche? Kein Problem: Kiwi macht’s möglich.

Bei den Linux-Distributionen ist es wie bei den Süßigkeiten: Jeder hat seine Vorlieben. Wer auf Suse steht und sich seinen persönlichen USB-Stick backen möchte, braucht dafür drei Zutaten: Kiwi, Internet und diesen Artikel.

Kiwi installieren

Bevor Sie mit dem Kiwi Image System [1] loslegen, müssen Sie zunächst ein OpenSuse-System aufsetzen und kiwi-desc-usbboot, kiwi-desc-livesystem sowie einige Perl- und Python-Pakete installieren. Dazu fügen Sie entweder das Tools-Repository aus dem OpenSuse-Build-Service Ihren Paketquellen hinzu oder klicken im OpenSuse-Wiki auf die zwei YaST-Metapakete [2]. Der Artikel beschreibt die manuelle Vorgehensweise mit Zypper. Dazu führen Sie den im Kasten “Vier Schritte” beschriebenen ersten Schritt aus.

Vier Schritte

1. Repository hinzufügen und Kiwi installieren:

zypper sa http://download.opensuse.org/repositories/openSUSE:/Tools/openSUSE_10.3/ Tools
zypper install kiwi-desc-usbboot
zypper install kiwi-desc-livesystem

2. Pakete herunterladen und installieren

kiwi --prepare /usr/share/kiwi/image/kwliveCD-suse-10.3 --root /tmp/kiwi-tmp --add-profile KDE --logfile terminal

3. Komprimiertes Boot- und Systemabbild erstellen:

mkdir /tmp/kiwi-image
kiwi --type usb --create /tmp/kiwi-tmp -d /tmp/kiwi-image --logfile term

4. Dateien kopieren und den Stick bootbar machen:

kiwi --bootstick /tmp/kiwi-image/initrd-usbboot-suse-10.3.i686-2.1.1.gz --bootstick-system /tmp/kiwi-image/openSUSE-10.3.i686-2.0

Konfiguration anpassen

Kiwi installiert auf Ihrem Rechner ein komplettes OpenSuse-System und überträgt dieses anschließend in einem Squashfs-Dateisystem verpackt auf einen USB-Stick. Den Bootloader richtet Kiwi auf einer separaten, mit Ext2 formatierten Partition ein. Damit Kiwi weiß, woher es Pakete installieren soll, müssen Sie zunächst in der Datei /usr/share/kiwi/image/kwliveCD-suse-10.3/config.xml zwei Repositories eintragen. Ersetzen Sie dazu die Einträge von Zeile 28 bis 33 durch die zwei Repositories aus Listing 1. Anstelle des Haupt-Repositorys von OpenSuse können Sie auch einen Spiegelserver eintragen.

Listing 1
<repository type="yast2">
        <source path="http://download.opensuse.org/distribution/10.3/repo/oss/"/>
</repository>
<repository type="yast2">
        <source path="http://download.opensuse.org/distribution/10.3/repo/non-oss/"/>
</repository>

Möchten Sie den Stick aus einer OpenSuse-DVD erstellen, ohne Pakete aus dem Internet herunterzuladen, dann hängen Sie die DVD zum Beispiel nach /mnt ein und geben dann folgende Quelle an:

<repository type="yast2">
        <source path="/mnt"/>
</repository>

Theoretisch funktionieren beide Vorgehensweisen auf 32- und 64-Bit-Systemen. In unseren Tests zeigte der 64-Bit-Stick jedoch ein sehr seltsames Verhalten. So waren auf dem Stick zwei Kernel installiert (32- und 64-Bit), sodass das Laden sämtlicher Module nach der Initrd scheiterte. Grund dafür ist mit ziemlicher Sicherheit ein Bug in der 64-Bit-Version von Smart. Wie Sie auf einem 64-Bit-System trotzdem einen USB-Live-Stick erstellen, lesen Sie im Kasten Kasten “64-Bit-Bug”.

64-Bit-Bug

Die Kiwi-Schemata für KDE und GNOME benötigen in der Grundeinstellung einige Pakete aus dem Repository non-oss. Da Sie auf 64-Bit-Rechnern wegen eines Bugs in Smart nur eine Installationsquelle angeben können, müssen Sie sämtliche Pakete und Abhängigkeiten zum Non-OSS-Repository aus der Konfigurationsdatei /usr/share/kiwi/image/kwliveCD-suse-10.3/config.xml entfernen. Dazu gehören die Pakete:

  • tpctl
  • tpctl-kmp-default
  • atmel-firmware
  • adaptec-firmware
  • ipw-firmware
  • ipw3945-kmp-default
  • ipw3945d
  • iwl3945-ucode
  • iwl4965-ucode
  • mpt-firmware
  • qlogic-firmware

Nach dem Erstellen des Sticks können Sie diese Pakete problemlos nachinstallieren oder die Installation um weitere Quellen erweitern. Dieser Workaround ist auch nötig, wenn Sie unter einem 64-Bit-System mit linux32 kiwi ... einen 32-Bit-Stick erstellen möchten.

Nehmen Sie keine Änderungen an der Datei /usr/share/kiwi/image/usbboot/suse-10.3/config.xml vor. Das OpenSuse-Wiki führt hier etwas in die Irre: Da Kiwi die KwliveCD-Konfiguration benutzt, braucht es keine weiteren Angaben zur Initrd. In Zukunft planen die Kiwi-Entwickler sogar, diese Konfigurationsdateien read-only zu machen und mit einer Prüfsumme zu versehen.

Paketierung

Haben Sie die config.xml-Datei angepasst, fahren Sie mit Schritt 2 fort. Zum Herunterladen und Installieren sämtlicher Pakete nutzt Kiwi nicht etwa YaST als Paketmanager, sondern Smart. Laut Kiwi-Dokumentation [3] lässt sich auch Zypper als Paketmanager benutzen, in unseren Tests endeten die Zypper-Versuche jedoch mit einer Fehlermeldung.

Je nach Downloadgeschwindigkeit können Sie jetzt eine größere Pause einlegen. Auf unserem Testrechner benötigte Kiwi eine knappe Stunde, danach war das System installiert. Das Tool zeigt dann die Ausgabe KIWI exited successfully done an, und Sie können zu Schritt Drei übergehen. Fehlermeldungen hagelt es dann, wenn eines der Repositories nicht erreichbar war Sie Pakete in die Liste mit aufgenommen haben, für die kein Repository-Eintrag besteht.

Den im OpenSuse-Wiki beschriebenen Schritt rm -fr /tmp/kiwi* müssen Sie nur ausführen, wenn Sie bereits mit der Software experimentiert haben und die Altlasten entfernen möchten.

Nach dem Download finden Sie in /tmp/kiwi-tmp/ einen komplettes System, das Sie am Linux-Verzeichnisbaum erkennen (Abbildung 1). Die heruntergeladenen Pakete speichert Smart vorübergehend im Verzeichnis /tmp/kiwi-tmp/var/lib/smart/packages/, löscht diese aber nach der Installation wieder.

Abbildung 1: Kiwi lädt ein komplettes OpenSuse-System herunter und installiert dieses im Verzeichnis     <code srcset=

/tmp/kiwi-tmp.” width=”300″ height=”189″ /> Abbildung 1: Kiwi lädt ein komplettes OpenSuse-System herunter und installiert dieses im Verzeichnis /tmp/kiwi-tmp.

Kernel und Ramdisk

Im dritten Schritt erstellen Sie aus dem Verzeichnisbaum ein komprimiertes Dateisystem für den kompletten Verzeichnisbaum. Dazu ruft Kiwi den Befehl mksquashfs /tmp/kiwi-tmp/ auf. Anschließend erstellt das Tool die Initial Ramdisk, Initrd genannt. Diesen Code lädt das System beim Booten in den Hauptspeicher, bevor Kiwi das komprimierte Dateisystem auf dem Stick einhängt. Sie finden die entsprechenden Dateien im Verzeichnis /tmp/kiwi-image/ (Abbildung 2). Das Grundsystem mit KDE belegt rund 700 MByte mit BEschlag, die Initrd nimmt knapp 20 MByte in Anspruch. Sie benötigen somit einen USB-Stick mit mindestens 1 GByte Kapazität. Installieren Sie anstelle des KDE-Desktops ein textbasiertes OpenSuse-System, passt die 10.3 sogar auf einen Stick mit 256 MByte.

Abbildung 2: Das komprimierte Wurzelverzeichnis     <code srcset=

openSUSE-10.3.x86_64-2.0, den Kernel und die Initrd finden Sie im Verzeichnis /tmp/kiwi-images.” width=”300″ height=”189″ /> Abbildung 2: Das komprimierte Wurzelverzeichnis openSUSE-10.3.x86_64-2.0, den Kernel und die Initrd finden Sie im Verzeichnis /tmp/kiwi-images.

USB-Stick anlegen

Im letzten Schritt partitioniert Kiwi den USB-Stick und kopiert die benötigten Dateien darauf. Den freien Speicher auf dem Stick richtet das Tool als beschreibbare Partition ein. So lassen sich Änderungen am System permanent speichern. Dazu müssen Sie jetzt den Stick am Rechner anschließen und den letzten der im Kasten “Vier Schritte” aufgelisteten Befehle aufrufen.

Da OpenSuse externe Speichermedien automatisch einhängt, sollten Sie mit mount zunächst überprüfen, ob der USB-Stick nicht gemountet ist. Falls ja, müssen Sie das Medium aushängen, sonst bricht Kiwi mit einer Fehlermeldung ab. Achten Sie bei 64-Bit-Systemen darauf, die Namen für die Initrd und das OpenSuse-Image anzupassen. Anstelle der Datei initrd-usbboot-suse-10.3.i686-2.1.1.gz können Sie auch die Initrd mit dem Zusatz splash.gz angeben. So muss Kiwi den Splash-Screen nicht noch einmal bauen, was ein paar Sekunden Zeit spart.

Die Gerätedatei des Sticks müssen Sie nicht mit angeben: Kiwi sucht automatisch nach USB-Sticks und schlägt dann eine Liste mit Geräten vor. Sie müssen nur noch die passende Gerätedatei eintippen. Je nach Schreibgeschwindigkeit des Sticks dauert die Datenübertragung rund 10 Minuten. Das Resultat zeigt Abbildung 3.

Abbildung 3: Nach vollendeter Installation schreiben Sie im letzten Schritt die zwei Abbilddateien auf den Stick.

Abbildung 3: Nach vollendeter Installation schreiben Sie im letzten Schritt die zwei Abbilddateien auf den Stick.

Wählerisch und fehleranfälig

In den Tests mit vier verschiedenen USB-Sticks gelang es nur bei zweien, von diesen auch erfolgreich zu booten. Selbst dazu waren mehrere Versuche nötig.

Bevor Sie überhaupt versuchen, einen Rechner vom frisch bespielten Stick zu booten, stecken Sie diesen am besten einmal aus und wieder ein. Das System muss zwei Partitionen erkennen und mounten können, anderenfalls ist der Stick fehlerhaft. Wiederholen Sie dann den letzten Schritt noch einmal und entfernen Sie den Stick nach der Ausgabe von KIWI exited successfully done nicht gleich aus dem Rechner.

Gar nicht nutzen ließ sich ein Stick von Tulip, der anstelle der normalen Sektorgröße von 512 Byte mit 2048 Byte arbeitet. Ob Sie auch einen solchen besitzen, erkennen Sie an der Ausgabe von fdisk /dev/sda. Bei den betroffenen Geräten erscheint der Hinweis:

Die Sektorgröße ist 2048 (nicht 512)

Möchten Sie einen solchen Stick unter Linux mit dem FAT-Dateisystem formatieren, müssen Sie mkfs.vfat mit der Option -S 2048 aufrufen. Die Bootpartition war beim Tulip-Stick anstelle von 18 MByte stets 77 MByte groß und korrupt. Unsere Versuche, das System über einen Kartenleser auf eine SD-Karte zu installieren, scheiterten ebenfalls.

Kompilation ändern

Die Kiwi-Dateien unterstützen zurzeit ein Gnome- und ein KDE-System, das Sie mit der Option --add-profile GNOME beziehungsweise --add-profile KDE anwählen. Um eigene Pakete oder Treiber hinzuzufügen, bieten sich mehrere Möglichkeiten. Am einfachsten nehmen Sie diesen Schritt nach der Installation vor. So lange auf dem Stick freier Speicherplatz vorhanden ist, können Sie nach Belieben weitere Pakete installieren oder Einstellungen ändern.

Möchten Sie den Stick bereits beim Anlegen um Software erweitern, legen Sie einfach in der Konfigurationsdatei weitere Repository-Einträge an. Danach nehmen Sie den gewünschten Paketnamen in das KDE- oder das Gnome-Profil auf. Dazu müssen Sie aber den kompletten Download neu starten.

Eine weniger kanonische, aber schnellere Lösung bietet chroot. Ändern Sie nach dem Download-Schritt mit chroot /tmp/kiwi-tmp das Wurzelverzeichnis nach /tmp/kiwi-tmp, können Sie hier beliebige Pakete nachinstallieren oder bereits installierte noch entfernen. Dieser Schritt bietet sich zum Beispiel an, um Kaffeine und die Xine-Bibliothek durch die Packman-Pakete zu ersetzen oder die deutschen KDE-Übersetzungen zu installieren. Vergessen Sie nicht, die Chroot-Umgebung durch exit wieder zu verlassen, bevor Sie danach mit Schritt 3 weiterfahren.

Versuche, den Stick über Änderungen der Paketliste oder der Variable <locale> dazu zu bewegen, mit deutscher Lokalisierung zu starten, führten nicht zum gewünschten Erfolg. Immerhin haben Sie die Möglichkeit, in KDE die Sprache auf Deutsch zu ändern, wenn Sie in die Paketliste des KDE-Patterns zusätzlich um den Eintrag

<package name="kde3-i18n-de"/>

ergänzen. Haben Sie den Stick bereits gebaut, lohnt sich der Aufwand nicht: Hier installieren Sie das erwähnte Paket einfach über YaST nach.

Erfolgserlebnis

Nach getaner Arbeit winkt als Erfolg ein sehr schnelles und absolut portables OpenSuse-System (Abbildung 4). Auf unserem Testsystem mit 1 GByte RAM arbeitete die USB-Suse schneller als jedes zuvor installierte System, unerwünschten Nebenwirkungen ließen sich nicht feststellen. Für alle Fälle liegt auf dem KDE-Desktop auch ein Icon, über das sich das System permanent einrichten lässt.

Abbildung 4: Für alle Fälle: Der Live-Desktop startet mit einer kleinen Auflösung und bringt einen Button für die Installation mit.

Abbildung 4: Für alle Fälle: Der Live-Desktop startet mit einer kleinen Auflösung und bringt einen Button für die Installation mit.

Infos

[1] Kiwi-Homepage: http://kiwi.berlios.de/

[2] Infoseiten im OpenSuse-Wiki: http://en.opensuse.org/Live_USB_stick

[3] Offizielle Kiwi-Dokumentation: http://svn.berlios.de/wsvn/kiwi/kiwi-head/doc/kiwi.pdf?op=file&rev=0&sc=0

LinuxUser 01/2008 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

1 Kommentar
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
joe
16 Jahre her

Das Paket kiwi-desc-livesystem gibts es nicht.
Hier schreibt wohl Einer von Anderem ab ;(

Nach oben