Open Source im professionellen Einsatz
Linux-Magazin 03/2005

Gentoo-Live-CDs erstellen mit Catalyst

Schneller Weg zur Live-CD

Gentoo Linux lässt sich flexibel und einfach an eigene Bedürfnisse anpassen. Diese Anleitung zeigt, wie man mit dem distributionseigenen Tool Catalyst individuelle Live-CDs herstellt.

820

Spätestens seit dem Erscheinen von Knoppix[1] sind Live-Distributionen in aller Munde. Kein Wunder, lassen sich diese doch vielfältig einsetzen: um Linux einfach nur mal kennen zu lernen, als Rettungssystem oder speziell angepasste Multimedia-Distribution. Für die meisten Einsatzszenarien gibt es bereits fertige Lösungen, zum Beispiel verschiedene Knoppix-Varianten, wie sie auf der Jubiläums-CD des Linux-Magazins 10/04 zu finden sind.

Wer lieber selbst Hand anlegt, sollte einen Blick auf Gentoo Linux[2] werfen, denn es bringt das praktische Tool Catalyst (Beschleuniger) mit[3], um selbst CD-Images zu schreiben. Unter anderem erzeugt der findige Benutzer damit individuelle Live-CDs.

Installation

Catalyst liegt aktuell in der stabilen Version 1.1.1 vor und lässt sich auf einem Gentoo-System inklusive aller Abhängigkeiten mit »emerge catalyst« installieren. Vorher ist allerdings eine Kontrolle zu empfehlen, ob das Use-Flag[4] »doc« gesetzt ist, sonst bleibt der Weg zu den mitgelieferten Beispielen versperrt. Dazu dient folgende Befehlszeile:

echo "dev-util/catalyst doc" >> 
  /etc/portage/package.use

Die Beispiele sind ausführlich kommentiert und bieten zurzeit die neueste Dokumentation zum Thema.

Nach erfolgreicher Installation lässt sich die Datei »/etc/catalyst/catalyst.conf« an die eigenen Bedürfnisse anpassen. Interessant sind vor allem die »options«, da sie spätere Catalyst-Läufe deutlich beschleunigen können. So aktivieren »ccache« respektive »distcc« die vom Samba-Projekt entwickelten Compiler-Erweiterungen[5].

Die Option »pkgcache« und das nicht dokumentierte »kerncache« sorgen dafür, dass Catalyst bereits übersetzte Pakete sowie Kernel-Images und -Module für eine neue Live-CD erneut verwendet und nicht noch einmal kompiliert.

Ebenfalls wichtig ist die Option »envscript«, die den Pfad zu einem Shellskript aufnimmt, in dem der Benutzer die Build-Umgebung über Variablen beeinflusst. Doch sollten Anwender ohne tiefere Kenntnisse keine Compiler-spezifischen Einstellungen ändern, da dies zu unerwünschten Effekten führen kann. Darüber hinaus gibt es mit »storedir« die Möglichkeit, Catalyst mitzuteilen, in welchem Verzeichnis es temporäre und Build-Dateien ablegen soll (Standard ist »/var/tmp/catalyst«). Listing 1 zeigt eine vollständige, von Kommentare befreite Beispielkonfiguration.

Programme kompilieren

Eine bootfähige Live-CD entsteht bei Catalyst in zwei Arbeitsschritten. Im ersten werden alle später auf der CD vorhandenen Programme übersetzt. Zuvor sind zwei Dinge erforderlich: ein fertiges Stage-3-Archiv sowie ein zuvor erstellter Snapshot des Portage Trees.

Das Stage-3-Archiv findet sich auf einem der zahllosen Spiegelserver[6]. Es enthält ein vorkompiliertes Basissystem, das man um die ausgewählten Pakete erweitert. Beide bilden die Grundlage des Live-CD-Dateisystems. Um sicherzustellen, dass das Endprodukt auf vielen Systemen läuft, empfiehlt es sich, ein generisches Stage-Archiv zu verwenden, das für x86 oder i686 kompiliert wurde. Wer mehr Wert auf Optimierungen als auf Kompatibilität legt, kann aber natürlich auch auf spezielle Stages für Pentium 4 oder Athlon XP zurückgreifen. Den ebenfalls benötigten Schnappschuss des Trees erstellt Catalyst auf Wunsch:

catalyst -C target=snapshot 
  snapshot=Datumsstempel 
  portdir_overlay=$PORTDIR_OVERLAY

Abbildung 1: Das Paket »livecd-tools« enthält praktische Applikationen wie das im Bild gezeigte »net-setup«.

Dabei handelt es sich lediglich um einen Tarball von »/usr/portage« und ein eventuell vorhandenes Overlay, das für die nötige Konsistenz der Build-Umgebung sorgt. Diese ist bei einem Live Tree nicht unbedingt gegeben. Sind diese zwei Voraussetzungen erfüllt, ist es an der Zeit, ein so genanntes Spec-File zu schreiben, das die für den Build-Prozess relevanten Optionen enthält. Listing 2 zeigt ein gekürztes Beispiel.

Dabei kann der Benutzer gleich »/usr /share/doc/catalyst-Version/examples/livecd-stage1_template.spec« an eine geeignete Stelle kopieren und an die eigenen Anforderungen anpassen. Diese Datei ist vorbildlich dokumentiert, deshalb hier nur ein kurzer Überblick.

Die Variablen »subarch« und »version_stamp« sind ohnehin selbsterklärend, als »target« muss in diesem Schritt »livecd-stage1« ausgewählt sein. Für die Option »profile« empfiehlt es sich, kaskadierende Profile[7] einzusetzen, da diese - falls nötig - einfach an eigene Bedürfnisse anzupassen sind. Entscheidend für die Funktionalität der fertigen Live-CD sind die Variablen »livecd/use« und »livecd/packages«, die Use-Flags und Pakete enthalten. Hier sind der eigenen Phantasie nur durch den limitierten Speicherplatz auf dem verwendeten Medium praktische Grenzen gesetzt - natürlich lassen sich mit Catalyst auch Live-DVDs erstellen.

Man sollte darauf achten, das Use-Flag »livecd« zu aktivieren und »baselayout« in die Paketliste mit aufzunehmen. Baselayout wäre im Stage-3-Archiv zwar eigentlich schon enthalten, muss aber neu kompiliert werden, um es für die später verwendete Chroot-Umgebung vorzubereiten. Darüber hinaus ist auch noch das Paket »livecd-tools« zu empfehlen, das praktische Werkzeuge wie »net-setup« (siehe Abbildung 1) zur Verfügung stellt.

Für den Endbenutzer richtig komfortabel wird die eigene Live-CD mit der Installation von »hwdata-knoppix« und »kudzu-knoppix«. Die beiden Pakete sorgen im Zusammenspiel mit »coldplug« für die von Knoppix gewohnte gute Hardware-Erkennung. Soll von der CD auch ein X-Server laufen, sind noch »ddcxinfo-knoppix« und »mkxf86config« eine gute Wahl.

Ist er mit der endgültigen Paketauswahl zufrieden, startet der Buildvorgang mit dem Kommando »catalyst -f /Pfad/zu/ livecd-stage1.spec«, der durchaus einige Zeit in Anspruch nimmt.

Linux-Magazin kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • Gentoo-Projekt storniert Version 2008.1

    Die Entwickler der Distribution Gentoo haben die Release von Gentoo 2008.1 storniert. Offizielle Begründung: Bereits die Vorgängerversion habe für zu viel Stress beim Release-Team gesorgt, was zu mehrfachen Verschiebungen der Veröffentlichung führte.

  • Jubiläumstest: Live-DVD Gentoo Linux 10.0

    Das Gentoo-Projekt feiert in diesem Jahr sein zehnjähriges Bestehen. Aus diesem Anlass möchte das Gentoo-Ten-Team eine besondere DVD produzieren, die nun als erste Testversion bereitsteht.

  • ZFS verschlüsseln

    Kommt ein Rechner abhanden, wiegt der Umstand, dass die Daten in fremde Hände gelangen, oft schwerer als der Verlust der Hardware. Der folgende Workshop erklärt anhand einer Gentoo-Installation, wie man mit Luks und ZFS ein System als Ganzes verschlüsselt.

  • Gentoo Linux 2007.0 ist fertig

    Die Entwickler der freien Distribution Gentoo haben die Version 2007.0 mit dem Codenamen "Secret Sauce" veröffentlicht.

  • Gentoo Ten - Live-DVD zum Jubiläum ist fertig

    Das Gentoo-Projekt feiert sein zehnjähriges Bestehen mit einer Live-DVD.

comments powered by Disqus

Ausgabe 10/2017

Digitale Ausgabe: Preis € 6,40
(inkl. 19% MwSt.)

Artikelserien und interessante Workshops aus dem Magazin können Sie hier als Bundle erwerben.