Booten "fromiso"

Für normalen Gebrauch empfehlen wir das Standarddateisystem von sidux, ext3, welches von den Maintainern gut betreut ist.

Dieser Cheatcode startet aus einer ISO-Datei auf der Festplatte (ext2/3). Das ist viel schneller als von einer CD (Festplatten-Installationen "fromiso" dauern nur einen Bruchteil der Zeit).

Dies ist natürlich viel schneller als von einem CD/DVD-Laufwerk, und das Laufwerk steht gleichzeitig zur Verfügung. Alternativ kann man auch QEMU verwenden.

Voraussetzungen:

* eine funktionierende Grub-Installation (auf Floppy, einer Festplatteninstallation oder der Live-CD)
* eine sidux-Imagedatei, z. B. sidux.iso und ein Linux-Dateisystem wie ext2/3
* Wenn die Imagedatei umbenannt wird (zum Beispiel auf sidux.ISO), müssen die Befehle entsprechend angepasst werden, da das Dateibenennungssystem von Unix/Linux zwischen Groß- und Kleinschreibung unterscheidet.

Vorgehensweise:

Man wählt einen Speicherplatz für die ISO und zwei Dateien, die benötigt werden. Um kurze Pfade zu erhalten, erstellt man ein Basisverzeichnis "sidux" in "/media/sdaX" (sda1 oder welche Partition immer) und verschiebt die ISO in dieses:

$ sux
mkdir -p /media/sdaX/sidux
mv sidux.iso /media/sdaX/sidux

Das ISO-Abbild wird eingebunden (alternativ kann dazu mc [midnight commander] benutzt werden, da dieser Dateimanager ISO-Abbilder automatisch einbindet und damit einzelne Dateien aus dem ISO kopiert werden können):

mount -t iso9660 -o loop,ro /media/sdaX/sidux/sidux.iso /mnt

Die Dateien vmlinuz und initrd.img vom eingebundenen ISO-Abbild in das erstellte "sidux"-Verzeichnis kopiert (die Pfadangaben sind hier nur Beispiele, bitte die eigenen Einstellungen verwenden):

cp /mnt/boot/vmlinuz* /media/sda5/sidux/vmlinuz
cp /mnt/boot/initrd.img* /media/sda5/sidux/initrd.img
umount /mnt

Als nächstes muss grub angepasst werden. Dazu wird die Datei /boot/grub/menu.lst mit einem Texteditor geöffnet, und Folgendes wird NACH der Zeile ### END DEBIAN AUTOMAGIC KERNELS LIST eingefügt (ZUR BEACHTUNG: Platzhalter sind in der Grub-Zeile für Dateinamen nicht gestattet! Die Pfadangaben sind hier nur Beispiele, bitte die eigenen Einstellungen verwenden.):

### ISO boot
title sidux 32bit von ISO
kernel (hd0,4)/sidux/vmlinuz boot=fll quiet vga=791 fromiso=/sidux/sidux.iso
initrd (hd0,4)/sidux/initrd.img

Beim nächsten Neustart findet sich ein neuer Eintrag in Grub, um das ISO-Abbild zu starten. Falls die Dateien sidux.iso, vmlinuz and intird.img files durch eine neuere Version ersetzt werden, muss der Eintrag in Grubs menu.lst nicht geändert werden.

fromiso und persist

Ein dauerhaftes (persistentes) Live-System kann auf einer beschreibbaren Partition eingerichtet werden, indem ein fromiso-Setup mit der Bootoption 'persist' kombiniert wird.

sidux nutzt aufs, um mittels "copy on write" neue oder veränderte Daten im RAM zu speichern. Mit der Bootoption persist können diese Daten auf derjenigen Partition gespeichert werden, auf welcher sich das fromiso-CD-Abbild befindet.

persist verhilft zu einem Live-System, welches alle automatisierten Routinen der sidux-Live-CD enthält. Dies hat den Vorteil, dass zum Beispiel die automatische Erkennung der Hardware durchgeführt wird. Gleichzeitig werden die gleichen Dateien bei jedem Booten wiederhergestellt.

Zur Verdeutlichung: das System speichert nicht die Einstellungen des Grafikservers X (Grafikkarte, Tastatur, Maus) oder der Netzwerkkarte, wodurch diese Vorgehensweise ideal ist, wenn man das System auf mehr als einem Computer benutzt. Weniger geeignet ist sie, wenn man eigene Konfigurationen benötigt.

persist ist ideal in Verbindung mit der neuen install-usb-gui, um einen bootbaren Flash-Drive mit eigenen Daten und selbstgewählter Software zu erstellen.

Die persönlichen Daten werden in einem Unterverzeichnis auf dem Drive gespeichert. Wenn dieses Unterverzeichnis noch nicht vorhanden ist, wird es automatisch erstellt, wenn die Bootoptionen fromiso und persist gemeinsam benutzt werden.

Für USB-Sticks sind ext2 und vfat die empfohlenen Dateisysteme. Sie bieten vermutlich die beste plattformübergreifende Kompatibilität zur Datenrettung im Notfall. Ein Wiederbeschreiben von Flash-Speichergeräten hängt von den technischen Spezifikationen des USB-Sticks ab.

Diese Datei sollte in sidux-rw umbenannt werden. Angenommen das zu nutzende Speichergerät ist beschreibbar auf /media/sdb1 eingebunden und man möchte eine 1GB große Datei erstellen, um diese als dauerhaftes "Laufwerk" zu nutzen, so können folgende Befehle benutzt werden (root ist nicht notwendig, wenn der user Schreibrechte auf die Datei besitzt):

disc="/media/sdb1" 
size=1024 
mkdir /media/sdb1/sidux 
dd if=/dev/zero of=${disc}/sidux/sidux-rw bs=1M count=${size} && echo 'y' | /sbin/mkfs.ext3 ${disc}/sidux/sidux-rw

Mit NTFS formatierte Partitionen (Standard für Windows NT/2000/XP (TM)) können NICHT auf diese Weise benutzt werden.

sidux auf einen USB-Stick oder eine USB-Festplatte installieren

sidux auf eine USB-Festplatte oder einen USB-Stick zu installieren ist genauso einfach wie eine normale Festplatteninstallation.

Die zwei Installationswege auf USB-Medien

1) fromiso
2) vollständig (eine vollständige Installation auf einen USB-Stick verhält sich wie eine Festplatteninstallation und geschieht mit Hilfe des normalen Installationsprogramms)

fromiso-Installation auf USB

Eine fromiso-Installation macht man mit install-usb-gui.bash. Dies ist eine fromiso-Installation, die in den meisten Fällen auf der ersten Partition einer Festplatte oder eines USB-Sticks durchgeführt wird.

Bevor man fortsetzt, formatiert man mit ext2 oder fat32.

Die Speicherung eigener Daten ("data persist") ist möglich, wobei die ganze Partition verwendet wird, wenn man ext2 als Dateisystem nutzt. Falls vfat das gewählte Dateisystem ist, werden die Daten im Modus "data persist" in einer Datei abgelegt, die maximal 2GB groß sein kann und mindestens 100MB groß sein soll (kleiner macht keinen Sinn).

install-sidux-to-usb wird im Untermenüpunkt "System" im KDE-Menü gestartet, es kann aber auch der Startknopf auf der Startseite des sidux-Installationsprogramms genutzt werden.

Um eine bootfähige USB-Installation von einem installierten System zu erstellen, benötigt man eine sidux-ISO.

Vollständige Installation (verhält sich wie eine normale Festplatteninstallation)

Die empfohlene minimale Größe für eine Installation auf einen USB-Stick ist:

sidux "Lite" braucht 1.2 GB. Dazu kommt noch Platz für die Daten.
sidux "Full" braucht 2.1 GB. Dazu kommt noch Platz für die Daten.

Für die Lite-Installation sind daher USB-Sticks mit mindestens 2 GB, für eine Full-Installation USB-Sticks mit mindestens 3 GB empfohlen.

Pre format your device with ext2 or fat32 before proceeding.

Wir fangen mit der normalen Installation an und wählen die Partition auf der USB-Platte aus, auf der sidux installiert werden soll - wir sprechen im Folgenden von "sda1", aber Gleiches gilt für jede andere Partition auf einer USB-Festplatte.

To start the install-sidux-to-usb go to the submenu System under Kmenu, or use the button that exists on the first screen in the standard HD installer

Man kann nun von seiner USB-Installation booten. Hierzu muss "Boot from USB" im BIOS aktiviert sein.

sidux mit VirtualBox installieren

VirtualBox ist ideal für 32bit-Maschinen. Für 64bit muss QEMU verwendet werden.

Voraussetzungen

1 GB RAM ist empfohlen, idealerweise 512 MB für das Gastsystem und 512 MB für das Hostsystem. Bei weniger RAM ist mit Verlust an Performanz zu rechnen.

Freier Festplattenplatz: VirtualBox selbst ist sehr schlank (eine typische Installation benötigt etwa 30 MB Speicherplatz), benötigt aber sehr große Dateien auf der Festplatte, auf der das Gastsystem gespeichert ist. Für eine Installation von MS Windows XP (TM) wird eine Datei benötigt, die leicht auf etliche Gigabyte anwachsen kann. Um sidux in VirtualBox verwenden zu können, sollte man ein fünf Gigabyte großes Image plus Platz für eine swap-Partition bereitstellen.

Vor der Installation der Kernelmodule der virtuellen Maschine - nach einem Kernel-Upgrade - muss ein dist-upgrade durchgeführt werden, um einen Konflikt mit gcc und einen Abbruch mit Fehler zu vermeiden. (Dieser Ratschlag bezieht sich auf alle externen Kernelmodule).

Der Mechanismus:

Installation des VirtualBox-Paketes

- Klicken auf KMenü > System >InnoTek VirtualBox - Virtual Machine
- Erstellen einer VM
- Einlegen der CD/DVD des Betriebssystems in das CD/DVD-Laufwerk
- Installieren des Gastsystems
- Reboot

Installation:

apt-get update
apt-get install virtualbox-ose 
m-a a-i virtualbox-ose

Im Anschluss wird die Information des aktuellen Betriebssystems (Linux-Kernels) in die Struktur gespeichert:

virtualbox-ose-module-$(uname -r)

Abschließend wird der User der Gruppe vboxusers zugefügt:

adduser <username> vboxusers 

Installation von sidux auf der virtuellen Maschine:

Am besten werden die Assistenten von VirtualBox benutzt, um eine virtuelle Maschine für sidux zu erzeugen. Danach wird den Anweisungen für eine reguläre Installation von sidux gefolgt.

VirtualBox hat auf seiner Homepage eine umfassende englischsprachige Bedienungsanleitung, die man als PDF herunterladen kann.

sidux installieren mit QEMU

Erstellen eines Festplattenimages (iso)

Um qemu laufen lassen zu können, braucht man ein Festplattenabbild. Das ist eine Datei, welche den Inhalt einer Partition oder Festplatte trägt.

Man verwendet den Befehl:

qemu-img create -f qcow sidux.qcow 3G

Damit erstellt man eine Abbilddatei mit dem Namen "sidux.qcow". Der Parameter "3G" spezifiziert die Größe der Platte, in diesem Fall 3 GB. Das Suffix M wird für Megabyte verwendet (zum Beispiel "256M"). Man muss sich über die Größe jedoch keine zu großen Gedanken machen - das Format qcow komprimiert das Abbild, sodass der unbenutzte Platz sich nicht auf die Größe der Datei aufaddiert.

Installation des Betriebssystems

Jetzt wird zum ersten Mal der Emulator gestartet. Eines muss dabei beachtet werden: wenn man innerhalb des qemu-Fensters mit der Maus klickt, wird der Mauszeiger "gefangen". Um ihn wieder frei zu geben, drückt man Ctrl+Alt.

Falls man eine bootfähige Diskette benötigt, wird Qemu so gestartet:

qemu -floppy sidux.iso -net nic -net user -m 512 -boot d sidux.qcow

Wenn die CD-ROM bootfähig ist, wird Qemu so gestartet:

qemu -cdrom sidux.iso -net nic -net user -m 512 -boot d sidux.qcow

Nun kann sidux wie auf eine reale Festplatte installiert werden.

Verwendung des Systems

Um das System zu starten, gibt man ein:

qemu [hd_image]

Eine gute Idee ist die Verwendung von sog. "überlagerten Abbildern" (overlay images). Auf diese Weise muss ein Abbild nur einmal angelegt werden und Qemu speichert Änderungen außerhalb dieses Abbilds. Das System ist so stabiler, da es sehr einfach ist, auf einen früheren Installationsstand zurückzugreifen.

Um ein "überlagertes Abbild" (overlay image) zu erstellen, gibt man ein:

qemu-img create -b [base_image] -f qcow [overlay_image]

Das Festplattenabbild ersetzt nun das Basis-Abbild (base_image), in unserem Fall sidux.qcow. Danach kann qemu gestartet werden:

qemu [overlay_image]

Das originale Abbild bleibt unberührt. Es muss aber beachtet werden, dass das Basis-Abbild weder umbenannt noch verschoben werden darf, da das Overlay den genauen, absoluten Pfad des Basis-Abbilds benötigt.

Wie man jede echte Partition als primäre Partition eines Festplattenabbilds benutzen kann

Manchmal möchte man eine Systempartition aus qemu heraus benutzen (man möchte zum Beispiel sowohl die echte Installation wie auch die virtuelle qemu-Installation mit einer gegebenen Partition als root starten). Dies erfolgt durch ein Software-RAID im Linearmodus (dazu braucht man den linear.ko Kernel-Treiber) und ein Loopback-Gerät: der Trick dabei ist, dynamisch einen Master Boot Record (MBR) an den Beginn der realen Partition zu stellen, welche in das Raw-Disk-Image von qemu eingebettet werden soll.

Angenommen, man hat eine einfache, nicht eingebundene Partition /dev/sdaN mit einem Dateisystem, welche Teil eines qemu-Festplattenabbilds werden soll. Als erstes erstellt man eine kleine Datei, welche den MBR beinhalten soll:

dd if=/dev/zero of=/path/to/mbr count=32

Hiermit wird eine 16 KB (32 * 512 bytes) große Datei erstellt. Es ist wichtig, diese Datei nicht zu klein zu veranschlagen (auch wenn der MBR nur einen einzelnen 512 Bytes großen Block benötigt), da die Chunk-Größe des Software-RAID-Geräts umso kleiner sein muss, je kleiner jene Datei ist, was wiederum einen Einfluss auf die Leistung haben wird. Danach kann ein Loopback-Gerät zum MBR-File aufgesetzt werden:

losetup -f /path/to/mbr

Gehen wir davon aus, dass das Gerät /dev/loop0 heißt, da noch kein weiteres Loopback existiert. Nächster Schritt ist das Erstellen eines zusammengeführten Abbilds von MBR + /dev/sdaN unter Benutzung eines Software-RAIDS:

 modprobe linear
 mdadm --build --verbose /dev/md0 --chunk=16 --level=linear --raid-devices=2 /dev/loop0 /dev/sdaN

Das daraus resultierende /dev/md0 wird als qemu-Raw-Diskimage benutzt (das Setzen der Berechtigungen nicht vergessen, damit der Emulator darauf zugreifen kann). Der letzte (und etwas heikle) Schritt ist die Erstellung der Festplattenkonfiguration (Plattengeometrie und Partitionstabellen), sodass der Startpunkt der primären Partition im MBR mit jenem von /dev/sdaN innerhalb von /dev/md0 übereinstimmt (ein Offset von genau 16 * 512 = 16384 Bytes in diesem Beispiel). Dazu wird fdisk auf der Host-Maschine benutzt, nicht auf dem Emulator: in den Grundeinstellungen resultiert die Raw-Disk-Erkennung von qemu oft in Offsets, die nicht auf Kilobyte gerundet werden können (wie 31.5 KB im vorangegangenen Abschnitt), was wiederum vom Code des Software-RAIDs nicht verstanden werden kann. Daher gibt man auf der Host-Maschine ein:

 fdisk /dev/md0

Dort erstellt man eine primäre Partition entsprechend /dev/sdaN und spielt mit dem Befehl 's' (Sector) im Menü 'x' (Expert), bis der erste Zylinder (wo die erste Partition beginnt) genau zur Größe des MBR passt. Schließlich wird mit 'w' (write) das Ergebnis in den File geschrieben: damit ist die Arbeit abgeschlossen. Jetzt ist eine Partition vorhanden, welche sowohl direkt von der Host-Maschine eingebunden werden kann als auch vom qemu-Festplattenimage:

 qemu -hdc /dev/md0 [...]

Natürlich kann gefahrlos jeder Bootloader auf das Festplattenabbild mit qemu geschrieben werden, vorausgesetzt, die originale Partition /boot/sdaN enthält die dafür notwendigen Anwendungen.

Das QEMU Beschleunigungs-Modul (Accelerator Module)

Die Entwickler von qemu haben ein optionales Kernelmodul erstellt, um qemu beinahe auf natives Niveau beschleunigen zu können. Dieses Modul sollte mit dieser Option geladen werden:

major=0

Damit wird die Einrichtung des benötigten Geräts /dev/kqemu automatisiert. Weitere Befehle sind:

echo "options kqemu major=0" >> /etc/modules

Dieser erweitert die Datei /etc/modules, um sicherzustellen, dass die Moduloption bei jedem Laden des Moduls aktiviert wird.

qemu [...] -kernel-kqemu

Damit wird die volle Virtualisierung ermöglicht und die Geschwindigkeit beträchtlich erhöht.

Aktivierung von QEMU:

qemu -cdrom /tmp/pkg/sidux-debug.iso -net nic -net user -m 512

Die offizielle englischsprachige Dokumentation des QEMU-Projekts

Einige Abschnitte für QEMU wurden für das sidux-Handbuch unter der GNU Free Documentation License 1.2 verwendet und für das sidux-Handbuch angepasst. Die Übersetzung ins Deutsche erfolgte durch das sidux-Team.

Content last revised 18/12/2008 1530 UTC