Funktionsweise Live

Transcrição

Funktionsweise Live
Funktionsweise Live-CD /Dateisysteme
Unionfs bzw. Aufs ist ein Dateisystem welches ein schreibbares Dateisystem über ein nur Lesbares
legt. Es ist die Weiterentwicklung von unionfs und wird mittlerweile auch in der aktuellen Knoppix
eingesetzt.
Funktionsweise:
Die Weiterentwicklung:
Aufs=Another Union
File System
Squashfs ist ein nur lesbares komprimiertes Dateisystem, es komprimiert Dateien, Inodes und Verzeichnisse, der Zugriff erfolgt über ein Kernel-Modul. Standard Komprimierung Gzip, mit Patch LZMA.
LZMA ist ein Kompressions-Algorithmus, der im Durchschnitt beim komprimieren schneller als Gzip ist,
beim dekomprimieren 10-20 x schneller!
Das Loopback-Device verwendet eine Datei in einem anderen Dateisystem als ein virtuelles Laufwerk,
welches dann genauso angesprochen werden kann. Hierfür wird die Gerätedatei /dev/loop0 oder
/dev/loop1 usw. mit der Datei verbunden und dann auf dieses neue virtuelle Laufwerk gemountet.
Damit können wir unter Linux jede Live-CD read-only mounten.
Live-CDs erstellen mit Fedora
Was man dazu braucht: (Kommandozeile)
1. livecd-tools
2. mkisofs
3. squashfs-tools
yum install livecd-tools mkisofs squashfs-tools
Grafische Oberfläche:
1. revisor
yum install revisor
2. isomaster
yum install isomaster
3. Unetbootin
Live-CDs erstellen - Methoden (1)
Livecd-iso-to-disk
Methode 1:
Die Live-CD kann man direkt nach dem Download von :
http://fedoraproject.org/en/get-fedora
auf einen USB-Stick schreiben. Mit dem Kommando :
„livecd-iso-to-disk Fedora-<release>-Live-i686.iso /dev/sdb1“
wird das Iso-Image auf den USB-Stick geschrieben und zwar mit fertig installiertem
Bootloader. Wobei sdb1 natürlich der passende USB-Stick sein sollte, im Zweifelsfall mit :
' fdisk -l' überprüfen! Hinweis: Der Stick wird dabei komplett überschrieben!
Diese Methode funktioniert mit jeder Fedora Live-CD oder DVD, jedoch nicht mit der
Installations-DVD, dazu später mehr.
Achtung der Stick wird gelöscht bzw. mit einem Bootloader überschrieben! Da Fedora
syslinux verwendet, muss die Partition auf dem Stick Fat16 oder Fat32 formatiert sein,
und als aktiv gekennzeichnet werden!
Stick unmounten, danach ein :
„mkdosfs -F 16 /dev/sdb1“
„dosfslabel usbdisk /dev/sdb1“ (usbdisk, Stick, etc...)
Live-CDs erstellen - Methoden(1.1)
Livecd-iso-to-disk
Natürlich gibt es auch die Möglichkeit den USB-Stick für dauerhafte Änderungen zu gestalten, d.h. jede
Änderung die man macht wird auf dem Stick gespeichert. Diese Methode wird „persistent“ oder auch
„persist“ gennannt, d.h. bleibend.
Achtung:
Es werden alle Änderungen gespeichert, auch Programminstallationen oder Konfigurationen,
falls das Overlayfile beschädigt wird sind alle Änderungen verloren!
Achtung:Kein Kernel-Update !
Um z.B. 512MB (max: 2047MB) zu reservieren genügt ein:
„livecd-iso-to-disk --overlay-size-mb 512 image.iso /dev/sdbx“ (MB max=2047 Fat-Begrenzung 2048)
Dadurch wird ein sogenanntes Overlayfile auf dem Stick angelegt, welches dafür sorgt, dass die
Änderungen gespeichert werden.Uninofs, rw aus /mnt/live zur Laufzeit, wird im Overlay abgelegt d.h.
das Dateisystem und Änderungen.
Auf dem fertigen Stick gibt es 2 Verzeichnisse:
1. das Syslinux Verzeichnis (Bootoptionen, kernel, initrd ..)
2. das LiveOS Verzeichnis (Inhalt:osmin.img, squashfs.img und das overlay.file: z.b: overlayFEDORA-3099-53F2).
Nach diesem overlay wird beim Booten vom Stick gesucht, Falls es beschädigt ist, kann man es
löschen, damit der Stick wieder regulär bootet - allerdings mit Datenverlust!
Option bei Fedora: Beim booten „reset overlay“ mitgeben, allerdings auch hier mit Datenverlust !
Live-CDs erstellen Methoden(1.2)
Abschliessend für Methode 1 :
livecd-iso-to-disk mit folgenden Möglichkeiten
--overlay-size-mb XXX
--reset-mbr
--noverify
--reset-mbr
Zuletzt noch die Möglichkeit PXE Boot-Images zu erstellen:
livecd-iso-to-pxeboot
Live-CD/USB vom laufenden Live-System:
livecd-iso-to-disk /dev/live /dev/sdb1
Zum testen der fertigen Live-CD verwende ich qemu, bzw. qemu-kvm:
qemu -m 512 -cdrom /backup/mylivecd.iso
Für den Stick:
qemu -hda /dev/sdb1 -m 256 -vga std
Live-CDs erstellen - Methoden (2)
Livecd-creator
Wir bauen mit dem livecd-creator unsere eigene aktuelle Live-CD, einen sogenannten Spin
oder auch Re-Spin. Dass heisst, wir holen die aktuellen Fedora Pakete direkt für die
Erstellung der Live-CD. Die Konfiguration übernehmen die Kickstart-Dateien, sie werden unter
/usr/share/livecd-tools mitgeliefert:
Auszug:
livecd-fedora-9-base-desktop.ks
livecd-fedora-9-desktop.ks
livecd-fedora-9-kde.ks
livecd-fedora-base-desktop.ks
livecd-fedora-desktop.ks
livecd-fedora-developer.ks
livecd-fedora-electronic-lab.ks
livecd-fedora-games.ks
livecd-fedora-kde.ks
livecd-fedora-minimal.ks
livedvd-fedora-kde.ks
für ein erstes Ausprobieren ist z.b. die livecd-fedora-minimal.ks ideal.
Live-CDs erstellen - Methoden (2.1)
Livecd-creator
Inhalt livecd-fedora-minimal.ks :
lang en_US.UTF-8
lang de_DE.UTF-8
keyboard us
keyboard de-latin-1
timezone US/Eastern
timezone EUROPE/Berlin
auth --useshadow --enablemd5
selinux --enforcing
firewall --disabled
##part / --size 250
Partitionierung für die Installation, hier gibt es sehr
##part swap --size 50
viele Optionen, u.a. Platte löschen oder autopart
##part /usr --size 500 --grow --maxsize 800
##part /tmp --size 100 --grow
# Repository kann auch rpm-fusion, development, testing sein.
repo --name=development --mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?
repo=rawhide&arch=$basearch
%packages
@core
bash
kernel
passwd
policycoreutils
chkconfig
authconfig
rootfiles
%end
Paketgruppen werden mit @installiert z.B: @gnome-desktop
Einzelne Pakete können mit Namen installiert werden:
z.B: vim-enhanced
Pakete weglassen, um Platz zu sparen:
einfach einen Paketnamen, z.B: -man-db
Live-CDs erstellen - Methoden (2.2)
Livecd-creator
Am besten kopiert man das Orginal an einen Platz an dem man die Live-CD erstellen möchte:
cp livecd-fedora-minimal.ks /home/johndoe/livecd/meine-livecd.ks
Danach können wir einen ersten Versuch mit dem livecd-creator machen:
„livecd-creator --config=mylivecd.ks -f livecd1“
erstellt ein Iso Image mit dem Namen (Parameter -f ) livecd1.iso im Pfad.
Die Optionen:
--config=Name
--base-on=BASE_ON
--fslabel=livecd
--tmpdir=TMPDIR
--cache=CACHEDIR
--shell
--repo
--package
--exclude-package
Pfad für die Kickstartdatei (z.B. meine-livecd)
Pakete zu einem existierenden Image hinzufügen
Name des Iso Images
Temporäres Verzeichniss (Standard: /var/tmp)
Cache Verzeichnis (z.B. /tmp sehr empfehlenswert)
nach der Installation der Pakete wird eine Shell innerhalb des
Images gestartet, in der Änderungen vorgenommen werden können
Ersetzung eines in der Kickstart-Konfigurationsdatei angegebenen
Repositories.
hinzufügen eines Paketes, ohne es in die KickstartKonfigurationsdatei einzutragen
auslassen eines Paketes, ohne es in den KickstartKonfigurationsdatei(en) anzugeben
Live-CDs erstellen - Methoden (2.3)
Livecd-creator
Beispiel mit Cache- und Config-Einstellungen:
livecd-creator –config=meine-livecd.ks –cache=/tmp/ -f livecd1
Die RPM-Pakete werden bei dieser Konfiguration im tmp Verzeichniss abgelegt, d.h. mit dem
Namen der jeweiligen Repositories ( released, update, development, testing ..) Das hat den
Vorteil, dass die Pakete nicht erneut heruntergeladen werden, sondern im Idealfall nur mit
Updates ergänzt werden.
Je nach Kickstart-Datei bzw. Umfang der zu installierenden Pakete dauert ein Spin zwischen 20
Min. und 3 Stunden.
Interressante Optionen:
Erstellen aus einem lokalen Repository, benutzen der Funktion install to Disk:
mit dem Kommando:
/usr/bin/liveinst
kann jede Fedora Live-CD/USB installiert werden !
Live-CDs erstellen - Methoden (3)
Das Programm „Revisor“, was es kann, wie es geht.
Live-CDs erstellen - Methoden (3.1)
Revisor
Mit dem Revisor können Live-CDs und DVDs verschiedener Distributionen erstellt werden:
CentOs, Fedora 7, 8, 9, 10 Fedora Enterprise
Für alle Architekturen z.B.:
ppc, ppc_64, X86_64, i386, i686
Konfiguration:
/etc/revisor/revisor.conf
Es werden die gleichen Kickstart-Dateien verwendet, die Konfiguration erfolgt wahlweise
auf der grafischen Oberfläche, oder wie gehabt durch editieren der jeweiligen Dateien.
Live-CDs erstellen - Methoden (3.2)
Revisor
Live-CDs erstellen - Methoden (3.3)
Revisor
Mit dem Revisor kann man im Prinzip alle zuvor erwähnten Methoden bequem auf dem
Desktop erledigen. Je nach Bedarf kann man also eine neue Installations-DVD erstellen,
eine Live-CD, oder gar das eigene System als Vorlage benutzen. Fedora erstellt mittels
Anaconda (der Fedora Installer) auf jedem installierten System eine Kickstart-Datei
(/root/anaconda-ks-cfg),die man dem Revisor mitgeben kann.
Es gibt auch eine Kommandozeile für den Revisor:
revisor --cli --model=f8-i386 --dvd --kickstart=/etc/revisor/conf.d/fedora-8-gold.cfg
Im Vergleich zu den livecd-tools ist der Revisor deutlich langsamer und benötigt ziemlich viel CPU und Festplatten-Leistung, ausreichend Arbeitsspeicher sollte auch vorhanden
sein(2GB).
Des weiteren gibt es ein von Fedora mitgeliefertes tool „system-config-kickstart“, mit dem man
bequem eine eigene Kickstart-Datei erstellen kann. Es erlaubt die Einstellungen für :
Sprache, Pakete, Bootloader, Installationsart=Festpatte,CDROM, NFS,HTTP, FTP.
Partitionierung und die Verwendung von Skripten vor und nach der Installation.
Live-CDs erstellen - Methoden (4)
Isomaster
Der Isomaster erlaubt das mounten eines Iso-Images mit anschließender Bearbeitung
des Inhalts. Nach Abschluss der Veränderungen wird ein neues Iso-Image erzeugt.
Live-CDs erstellen - Methoden (4.1)
Isomaster
ISO Master ist eine freie Anwendung für Linux und BSD zur Erstellung und zur Bearbeitung von
ISO-9660-Dateien (ISO-Abbilder), unter Windows ist eine zeitlich begrenzte Demoversion
verfügbar.
Merkmale:
* Erstellung neuer ISO-Abbilder
* hinzufügen oder löschen von Dateien und Verzeichnissen aus Abbilddateien
* erstellen bootfähiger Medien mit verschiedenen Bootrecord-Arten: no-emulation (isolinux,
Microsoft Windows), 1,2″-, 1,44″- und 2,88″-Diskettenemulation
* Unterstützung für Rock Ridge- und Joliet-Dateinamen
* Leseunterstützung für NRG-Abbilder (Format von Nero Burning ROM)
Web: http://www.littlesvr.ca/isomaster/
Die meisten Distributionen liefern das Programm bereits mit.
Nachteil:
Damit kann man nur bereits fertige Live-CD images bearbeiten und neu generieren.
Live-CDs erstellen - Methoden (4.2)
Unetbootin = Universal Netboot Installer
UNetbootin ist ein Hilfsprogramm, mit dem man zahlreiche Linux Distributionen (Ubuntu, Fedora,
Mandriva, OpenSuSE, Debian, ArchLinux) von einem Windows oder Linux Desktop via Internet
(das heißt man braucht Ubuntu, Fedora etc. nicht extra auf CD zu brennen) installieren kann. Anders
als bei der Installation von Ubuntu mit Wubi werden hier während der Installation reale Partitionen
erstellt. Es ist auch in der Lage ein Iso-Image direkt auf den USB-Stick zu schreiben.
Live-CDs erstellen - Methoden (5)
Slax bzw. Linux-Live Skripte
Einen anderen Weg geht der Entwickler von Slax, eine auf Slackware basierende Linux Distribution,
mit seinen Linux-Live Skripten: http://www.linux-live.org/ . Im Prinzip kann man damit jede Distribution
selbst erstellen, einzige Bedingung ist ein Kernel mit squashfs, aufs und LZMA-Unterstützung. Bei
SLAX wird das Dateisystem in LZMA-komprimierten Modulen abgelegt, die der Kernel beim Starten
auspackt. Sinn: die aktuelle Slax 6.1.1 ist 190MB groß, ausgepackt ca. 2GB!
Es gibt einen vorkompilierten Kernel für die Linux-Live Skripte, damit kann man z.B. ein installiertes
Debian (z.B. wurde die Linuxkurs CD mit diesem Kernel erstellt) selbst zur Live-CD machen. Damit
das auch auf einen USB-Stick geschrieben werden kann gibt es ein weiteres Skript, „bootinst.sh“.
Dieses Skript erledigt die Installation auf den Stick, d.h. Bootloader und Dateisystem werden angelegt,
und der Stick wird bootfähig gemacht.
Die Installation ist einfach:
1. Linux-Live Skripte entpacken, am besten in einem extra Verzeichnis.
2. Vorkompilierten Kernel (aktuell, 2.6.27.7) auspacken, oder den eigenen Kernel kompilieren.
3. Im Verzeichnis /linux-live die Skripte anpassen, als erstes das „.config“ file, es legt z.B. den Namen
der neuen Live-CD fest, die Pfade für die Erstellung des Iso-Images, Sprache und die Ramdisk Größe.
4. Das „.build“ Skript, ist für die eigentliche Erstellung des Iso-Images zuständig, d.h. Bootloader und
optionale Verzeichnisse.
Nützliche Links
Fedora live-CD Wiki:
http://fedoraproject.org/wiki/FedoraLiveCD
Fedora live-CD Howto:
http://fedoraproject.org/wiki/How_to_create_and_use_a_Live_CD
Fedora Installation (USB) http://forums.fedoraforum.org/showthread.php?t=205596
Debian:
http://www.debian.org/CD/faq/index.de.html
Ubuntu:
https://help.ubuntu.com/community/LiveCD
OpenSuse
http://de.opensuse.org/Xfce_Live_CD#Erstellen_einer_Live_CD
Knoppix:
http://www.knopper.net/knoppix/
Linux-Live Skripte :
Slax:
http://www.linux-live.org/
http://www.slax.org/
Unetbootin :
http://unetbootin.sourceforge.net/