[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Skolelinux-Live-CD - 1. Vorab-Version läuft



Hallo Andreas,

hier nähere Erläuterungen zu dem Problem, den Entwicklungsprozeß der Live-CD
beschleunigen zu können.

Die Life-CD bootet wie folgt:

- Das Bios lädt laut El Torrito Standard ein Boot-Image von der CD in den
Speicher.

- Das Bios startet die ersten 512 Byte so, als ob sie aus dem MBR der
Festplatte stammen.

- In den ersten 512 Byte befindet sich syslinux.

- Syslinux lädt den Kernel und Initrd.

- Der Kernel startet linuxrc.

- Linuxrc mountet das Life-Filesystem.

Das Life-Filesystem entspricht dem Schnappschuß eines laufenden
Linux-Filesystems. Es ist auf der CD nur in Form eines komprimierten
Iso-Abbildes als
einzelne Datei vorhanden. Es wird als loop-device (genauer gesagt
cloop-device,
'c' steht für 'compressed') gemountet.  

Dieser Bootprozeß bestimmt indirekt den Entwiclungsprozeß:

1. Das Life-Filesystem wird von den restlichen Dateien isoliert, entpackt
und auf der Festplatte gespeichert. Das genaue Verfahren wird auf den
einschlägigen Knoppix-Seiten beschrieben (Stichwort Knoppix Remastering).

2. Das entpackte Filesystem wird per chroot aktiviert.

3. Die gewünschten Änderungen im Life-Filesystem werden vorgenommen.

Ab hier kehrt sich der Prozeß wieder um.

4. Das geänderte Life-Filesystem wird mit mkisofs wieder in ein Iso-Abbild
überführt.

5. Das Iso-Image wird mit create_compressed_fs (entstammt Knoppix) wieder
gepackt. Aus (derzeit) 1,1 GB werden 450 MB.

6. Das gepackte Filesystem wird wieder mit dem Boot-Image, dem Kernel und
der Initrd zusammen gelegt.

8. Mit mkisofs wird ein Iso-Image über alles erzeugt.

9. Das letzte Image stellt die Live-CD dar und kann auf CD gebrannt werden.

Das Komprimieren laut Schritt 5 benötigt die meiste Zeit, auf dem
Entwicklungsrechner etwa eine Stunde. Diesen Schritt gilt es zu umspielen.

Ad hoc bietet sich an, das bootimage der Live-CD so auf der Festplatte zu
speichern, dass der darauf befindliche Bootlaoder (syslinux) gestartet
werden
kann, z.B. über lilo aus einer anderen Linuxpartition.

Laut syslinux-Dokumentation ist das Booten von Festplatte möglich. Zum
Laufen bringen konnte ich das bisher nicht :-(.

In linuxrc habe ich bereits die Stelle lokalisert, an welcher das
komprimierte Life-Filesystem von der CD gemountet wird. Das kann geändert
werden, um
das nicht gepackte Life-System der Festplatte zu mounten.

Im Ergebnis hätte man ein Booten von der Festplatte, das dem Booten von CD
entspricht, ohne das zeitaufwendige Komprimieren zu benötigen.

Grüße
Peter Voigt



Reply to: