From Fedora Project Wiki

Revision as of 12:11, 30 May 2008 by Anubis (talk | contribs) (Fixed templates)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Wie erstellt man eine Fedora-LiveCD mit den LiveCD-Werkzeugen

Quelle: Das README von David Zeuthen <davidz AT redhat.com> 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, CentOS und anderen. Weitere Informationen dazu finden Sie auf der Seite Fedora-LiveCD -Seite. Die diesbezügliche Diskussion findet in der the Fedora-LiveCD-Mailingliste statt.

Designziele der LiveCD

Die LiveCD ist so konzipiert, dass das von der LiveCD gestartete System soweit wie möglich als Standardsystem erscheint - mit allem, was dazu gehört, z. B. Lese-Schreibzugriff auf das Wurzel-Dateisystem mittels dm-snapshot, 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.

Fedora-LiveCD unterstützt derzeit die Installation auf der Festplatte noch nicht.
Die Fähigkeit zur Installation von Fedora-Linux von einer LiveCD wird gerade entwickelt und sollte bald zu Test und Implementation bereit sein.

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 livecd-creator verwendet. Es ist (mehr oder weniger) selbsterklärend: Verwenden Sie die Option --help, um sich die übrigen Optionen anzeigen zu lassen.

1. So arbeitet der LiveCD-Creator

Kurz gesagt, der livecd-creator

  • 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 yum die erforderlichen Pakete aus den vorgegebenen Repositories,
  • Schaut in die in etc/livecd/ enthaltenen LiveCD-Konfigurationsdateien,
  • Installiert optional weitere in den unter /etc/livecd/ enthaltenen Konfigurationsdateien genannte Pakete im Installations-Dateisystem.
  • Führt optional unter /etc/livecd/ 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

Diese LiveCD enthält noch keine Möglichkeit des Logins.
Weil keinerlei Konfiguration vorgenommen wurde, kann sich kein Nutzer anmelden, da kein Root-Passwort gesetzt wurde.

3. LiveCD-Konfigurationsdateien

Diese Dateien in /etc/livecd 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:

fedora-livecd Das LiveCD-Grundsystem
fedora-livecd-gnome Ein GNOME-Desktop für Grund- und speziellere LiveCDs wie Eclipse, Musik usw.
fedora-livecd-desktop vollständiger Desktop mit Anwendungen und Ein-/Ausgabeunterstützung für alle von Fedora unterstützten Lokalisierungen

Die RPMs enthalten weitere Details, welche Konfiguration sie leisten.

RPMs für die Erstellung LiveCDs sind jetzt verfügbar.
Diese RPMs sind derzeit von this link erhältlich, werden aber für die Aufnahme in Fedora-Linux vorgeschlagen.

4. Beispiel: SPINNING THE FEDORA DESKTOP LIVE CD

Nehmen wir an, dass

  • /home/davidz/Fedora/os ein yum-Repository für FC6 enthält,
  • /home/davidz/Fedora/i386 ein yum-Repository mit FC6-Aktualisierungen beinhaltet und
  • /home/davidz/Hacking/livecd_rpms ein yum-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 --fs-label 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:

livecd-installer-tui

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