De DE/FedoraLiveCD/LiveCDHowTo

= Wie erstellt man eine Fedora-LiveCD mit den LiveCD-Werkzeugen = Quelle: Das README von David Zeuthen  Letzte Aktualisierung: 22.12.2006 (v0.1)

Dieses Projekt CONCERNS Werkzeuge zum Generieren von LiveCDs auf Fedora-basierten Systemen einschließlich  abgeleiteter Distributionen  wie RHEL, Cent, Standard-Ext3-Dateisystem (für erweiterte Attribute) usw.

Weiterhin soll die LiveCD installierbar sein. Das bedeutet, dass die Anwender von der LiveCD ohne Netzwerk oder zusätzliche Medien installieren können.

Folgende Ziele werden weiter verfolgt:
 * Das Werkzeug sollte von der Konfiguration getrennt sein,
 * dieses Werkzeug sollte unmodifiziert zum Bau der verschiedenen LiveCD-Ausprägungen wie GNOME-LiveCD, KDE-LiveCD, LiveCD mit Musikprogrammen usw.

Erstellen einer LiveCD
Zum Erstellen einer LiveCD wird das Werkzeug  verwendet. Es ist (mehr oder weniger) selbsterklärend: Verwenden Sie die Option, um sich die übrigen Optionen anzeigen zu lassen.

1. So arbeitet der LiveCD-Creator
Kurz gesagt, der


 * Erstellt eine Datei für das Ext3-Dateisystem, das alle Daten der COMPRISING LiveCD enthält,


 * Bindet diese Datei so als Dateisystem ein, dass es als Installationswurzelverzeichnis dient,


 * Bindet die verschiedenen Dateisysteme des Kernels (/dev, /dev/pts, /proc, /sys, /selinux) in dieses Installations-Dateisystem ein,


 * Installiert mittels  die erforderlichen Pakete aus den vorgegebenen Repositories,


 * Schaut in die in  enthaltenen LiveCD-Konfigurationsdateien,


 * Installiert optional weitere in den unter  enthaltenen Konfigurationsdateien genannte Pakete im Installations-Dateisystem.


 * Führt optional unter  abgelegte Skripte innerhalb des Installations-Dateisystems aus.


 * RELABELS das komplette Installationsdateisystem für SELinux,


 * Erstellt ein LiveCD-spezifisches initramfs entsprechend des verwendeten Kernels,


 * Hängt die Kernel-Dateisysteme innerhalb des Installationsdateisystems aus,


 * Hängt das Installationsdateisystem aus,


 * Erstellt ein nur die komprimierte Ext3-Datei enthaltendes SquashFS-Dateisystem,


 * Konfiguriert den Bootloader


 * Erstellt eine startfähige ISO9660-CD

2. Beispiele: eine BAREBONES blanke LiveCD
Das Kommando

livecd-creator \ --repo=c6,http://download.fedora.redhat.com/pub/fedora/linux/core/6/i386/os \ --package=bash --package=kernel --package=grub

erstellt eine LiveCD, die bis zum Login startet

3. LiveCD-Konfigurationsdateien
Diese Dateien in  enthalten die Pakete, die auf der LiveCD enthalten sein sollen. Es müssen bash-Skripte sein werden sowohl für die Systemkonfiguration zum Zeitpunkt der Zusammenstellung (wie standardmäßiges Aktivieren des  NetworkManagers ) als auch für das Angeben zusätzlicher Pakete verwendet werden. Die LiveCD-Konfiguration wird in alphabetischer Reihenfolge abgearbeitet.

Der Grund für das Verschieben des Paketverzeichnisses und der Systemkonfiguration in LiveCD-Konfigurationsdateien ist, dass die Pfleger verschiedener LiveCD-Ausprägungen (z. B. "Acme-Music-LiveCD") alle relevanten Informationen in einem RPM (z. B. "acme-livecd-music") halten können und die SCM-Mechanismen zum Verwalten nutzen können.

Für das Fedoraprojekt gibt es derzeit drei verschiedene LiveCD-RPMs, die LiveCD-Konfigurationsdateien enthalten:

Die RPMs enthalten weitere Details, welche Konfiguration sie leisten.

4. Beispiel: SPINNING THE FEDORA DESKTOP LIVE CD
Nehmen wir an, dass


 * /home/davidz/Fedora/os ein -Repository für FC6 enthält,
 * /home/davidz/Fedora/i386 ein -Repository mit FC6-Aktualisierungen beinhaltet und
 * /home/davidz/Hacking/livecd_rpms ein -Repository für die fedora-livecd-*-RPMs ist

Das folgende Kommando

livecd-creator \ --repo=c6,file:///home/davidz/Fedora/os \ --repo=c6_upd,file:///home/davidz/Fedora/i386 \ --repo=lcd6,file:///home/davidz/Hacking/livecd_rpms \ --repo=e6,http://download.fedora.redhat.com/pub/fedora/linux/extras/6/i386 \ --package=fedora-livecd-desktop \ --fslabel=Fedora-6-Zod-LiveCD-1-foo

erstellt eine LiveCD namens "Fedora-6-Zod-LiveCD-1-foo". Dabei wird der von  festgelegte Name verwendet.


 * als LABEL auf dem Ext3- und ISO 9660-Dateisystem (so wird es auch auf dem Desktop und als CD-Name angezeigt),
 * Im GRUB-Bootloader;

Wenn Sie die Repositories nicht lokal verfügbar haben und nicht das Herunterladen der Pakete scheuen, führen Sie folgendes Kommando aus, was auf jedem Fedora Core 6-System funktionieren sollte:

livecd-creator \ --repo=c6,http://download.fedora.redhat.com/pub/fedora/linux/core/6/i386/os/ \ --repo=c6_upd,http://download.fedora.redhat.com/pub/fedora/linux/core/updates/6/i386/ \ --repo=lcd6,http://people.redhat.com/davidz/livecd/i386/ \ --repo=e6,http://download.fedora.redhat.com/pub/fedora/linux/extras/6/i386/ \ --package=fedora-livecd-desktop \ --fslabel=Fedora-6-Zod-LiveCD-1-foo2

LiveCD-Installation
Aktuell gibt es nur Text-Installation für LiveCD. Beachten Sie, dass vorher den Permissive-Modus von SELinux aktivieren müssen. Das erreichen Sie als Root mit folgendem Kommando:

setenforce 0 service livecd-install-daemon start

Danach schalten Sie Automount aus: Gehen Sie in System > Voreinstellungen > Wechseldatenträger und Medien und deaktivieren Sie alle Optionsfelder im Reiter Speicher, unter Wechseldatenträger. Jetzt öffnen Sie als nicht privilegierter Nutzer ein Terminal und führen aus:

und beantworten die dort gestellten Fragen. Sie können jederzeit mit [Strg-C]  die Installation abbrechen. In der Datei TODO erfahren Sie, wie wir das in Zukunft einfacher gestalten wollen.

Referenzen
Originale README von David Zeuthen

Linux.com Artikel über Fedora-LiveCD