Eigene LiveCD mit Catalyst bauen

Aus Gentoo Linux Wiki

Wechseln zu: Navigation, Suche
Dieser Artikel ist Teil der HOWTO Sammlung.
Installationsmethoden LiveCDs Kernel & Hardware Laptops & Notebooks Portage System Netzwerke & Services X Software Anderes alphabetischer HOWTO Index


Diese Seite wird zur Zeit bearbeitet.

Diese Seite wird zur Zeit von einem Nutzer ohne Nutzeraccount bearbeitet. Bitte editiere diese Seite nicht, solange dieser Hinweis angezeigt wird. Vorschläge und Änderungswünsche können währenddessen in der Diskussion eingebracht und festgehalten werden.


Inhaltsverzeichnis

[Bearbeiten] Einleitung

Gentoo Linux stellt ein sehr nützliches Tools zur Verfügung um LiveCDs zu erstellen: Catalyst.

Diese Anleitung beschreibt das Erstellen von LiveCDs mit der aktuellen stable-Version Catalyst v1.1.10.10 (Oktober 2006).

[Bearbeiten] Catalyst installieren

Hierzu sage ich nur so viel:

Code: Catalyst installieren
 emerge -av catalyst


[Bearbeiten] Konfigurieren von Catalyst (empfohlen)

Als erstes müssen wir die Konfigurationsdatei von Catalyst anpassen:

Datei: /etc/catalyst/catalyst.conf
# ccache: das sollte man auf _jeden_ Fall aktivieren, da, wenn man die LiveCD updaten will, nur die veralteten Packate neu kompiliert werden müssen und nicht alle.
# kerncache: ist auch empfehlenswert, da dann nicht immer der komplette Kernel neu kompiliert werden muss.
# pkgcache: hier bin ich mir nicht sicher, ob man das wirklich benötigt. Scheint aber auch nicht zu schaden.
# distcc: Wenn man auf anderen Rechnern DistCC-Server laufen hat, würde das die Kompilierzeiten auch beschleunigen.

options="pkgcache kerncache ccache"

# Mit dem envscript können wir ein paar Umgebungsvariablen zur Laufzeit vorgeben, wie z.B. GENTOO_MIRRORS, HTTP-Proxies oder MAKEOPTS. Andererseits können wir uns aber auch eine eigene make.conf erstellen (dazu aber später mehr).
# envscript="/root/catalyst-env.sh"

# Diese Einstellungen sollten normalerweise für alle Nutzer defaultmäßig in Ordnung sein:
distdir="/usr/portage/distfiles"
sharedir="/usr/lib/catalyst"
storedir="/var/tmp/catalyst"


[Bearbeiten] Portage-Snapshot erstellen (erforderlich)

Als nächstes müssen wir eine Kopie von Portage-Tree erstellen. Da der Portage-Tree des eigenen Rechners dazu benutzt wird, empfehle ich ihn erst mal updaten:

Code: Portage-Tree updaten
 emerge --sync

Danach müssen wird dann den Portage-Snapshot erstellen. Hierzu müssen wir uns einen Namen für den Portage-Snapshot ausdenken:

Code: Portage-Snapshot erstellen
 catalyst -s Snapshot-Name

Dies erstellt eine Datei /var/tmp/catalyst/snapshots/portage-Snapshot-Name.tar.bz2


[Bearbeiten] Stage3 besorgen (erforderlich)

Als Grundlage für die LiveCD benötigen wir ein Gentoo Linux Stage3. Man kann entweder sich eine Stage1-Archiv besorgen und über den normalen Installationsaufwand auf ein Stage3 bringen oder sich gleich ein Stage3-Archiv von einem Gentoo-Mirror [1] aus dem Verzeichnis ./releases/Architektur/current/stages besorgen. Dieses Archiv muss dann in dem Verzeichnis /var/tmp/catalyst/builds abgelegt werden.

[1] http://www.gentoo.org/main/en/mirrors.xml

[Bearbeiten] LiveCD-Stage1 erstellen (erforderlich)

Ok, fangen wir an die LiveCD zu erstellen. Hier zu müssen wir eine .spec-Datei erstellen, die die vor allem Packages und entsprechende USE-Flags enthält. Hier eine Vorlage mit Kommentaren:

Datei: livecdstage1.spec
 
# Hier definieren wir die Architektur für die wir die LiveCD erstellen
subarch: i686
# Der version_stamp ist eine Bezeichnung für unser LiveCD-Stage1
version_stamp: my_stage1_livecd
# ja, wir wollen ein livecd-stage1 erstellen, also nicht verändern:
target: livecd-stage1
# das Catalyst-Profil sollte auch immer auf default bleiben
rel_type: default
# Das Gentoo Linux Portage Profil (/etc/make.profile/), das genutzt werden soll. Zu finden sind die möglichen Profile unter /usr/portage/profiles/
profile: default-linux/x86/2006.1
# Name des Portage-Snapshots, den wir vorhin erstellt haben und unter ??? liegt
snapshot: my_portage_snapshot
# Name des Stage3-Archivs das unter /var/tmp/catalyst/builds liegt
source_subpath: stage3-i686-2006.1
# Hier können wir ein /etc/portage/-Verzeichnis mit z.B. package.keywords oder package.use für unsere LiveCD angeben
portage_confdir: /home/ich/LiveCD/portage_confdir/
# Wenn wir DistCC nutzen wollen müssen wir hier die Hosts angeben
# distcc_hosts: 127.0.0.1

# Hier werden die USE-Flags definiert und können nach belieben erweitert werden
livecd/use:
  livecd   # dieses USE-Flag brauchen wir auf jeden Fall
  symlink
  unicode

  -*       # diese beiden sind nicht unbedingt nötig,
  minimal  # aber halten die Größe der LiveCD klein

# Hier kommen die Packages hin, die wir auf der LiveCD haben wollen. Ausgenommen: ''Kernelabhängige Packages'' wie z.B. Treiber
livecd/packages:
  sys-fs/udev   # udev brauchen wir für die Geräteerkennung
  baselayout    # ein baselayout brauch auch jeder
  livecd-tools  # genau so wie die LiveCD-Tools
  sys-kernel/gentoo-sources  # man könnte auch auch andere Kernel-Sources nutzen, aber man brauch auf jeden Fall welche
# weitere Packages kann man hier anhängen
 

Notiz: Kernelabhängige Packages werden erst im LiveCD-Stage2 hinzugefügt, da im LiveCD-Stage2 erst der Kernel kompiliert wird.

Mögliche Architekturen findet man in der [Gentoo Linux Dokumentation]

Ist die livecdstage1.spec-Datei fertig, kann man das LiveCD-Stage1 erstellen:

Code: LiveCD-Stage1 erstellen
 
su
catalyst -f livecdstage1.spec

Nun heißt es abwarten. Beim ersten Erstellen kann das Ganze schon eine Weile dauern. Je nach Anzahl der hinzugefügten Packages und Rechnergeschwindigkeit von einer viertel Stunde bis zu einem ganzen Tag. Wenn man dann kleinere Modifikationen an der spec-Datei vornimmt, ist dieser Vorgang nur noch eine Sache von Viertelstunden, da wir den CCache aktiviert haben.


[Bearbeiten] LiveCD-Stage2 erstellen (erforderlich)

Mit der LiveCD-Stage2 erstellen wir letzt endlich auch das .iso-Image unser LiveCD. Hier das .spec-File:

Datei: livecdstage2.spec
 
# Die nächsten Zeilen entspechen den Zeilen der LiveCD-Stage1-spec-Datei.
subarch: i686
version_stamp: 2006.1
# nur hier müssen wir natürlich aus stage1 stage2 machen
target: livecd-stage2
rel_type: default
profile: default-linux/x86/2006.1
snapshot: current
source_subpath: default/livecd-stage1-i686-2006.1
'Persönliche Werkzeuge