Eigene LiveCD mit Catalyst bauen
Aus Gentoo Linux Wiki
| Installationsmethoden • LiveCDs • Kernel & Hardware • Laptops & Notebooks • Portage • System • Netzwerke & Services • X • Software • Anderes • alphabetischer HOWTO Index |
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 |
