Sitzung: Jeden Freitag in der Vorlesungszeit ab 16 Uhr c. t. im MAR 0.005. In der vorlesungsfreien Zeit unregelmäßig (Jemensch da?). Macht mit!

Opalix 2005:Opalix erstellen

Diese Seite wird im Verlauf der Erstellung von Opalix 2005 überarbeitet werden.

Koordination der Erstellung von Opalix 2005: Opalix 2005:Planung

--BjörnBrandenburg 16:34, 9. Sep 2005 (CEST)


Überblick

Zunächst einmal ein grober Überblick über den Ablauf des Remasterns:

  • Auf der Knoppix-CD gibt es im Verzeichnis KNOPPIX ein komprimiertes Image namens KNOPPIX (mehrere hundert MB groß). Darin ist das eigentliche "Knoppix" enthalten. Dieses Image muss entpackt und der Inhalt auf die Festplatte kopiert werden (geht z.B. nach dem Booten von Knoppix, wenn man /KNOPPIX kopiert).
  • Anschließend nimmt man von einem anderen Linux aus die Anpassungen vor - bei neuen Programmen hilft ein deb-Paket, das ist aber nicht unbedingt nötig.
  • Jetzt müssen die Dateien wieder in ein komprimiertes Image eingepackt werden, das dauert dann relativ lange.
  • Danach wird noch ein Iso erstellt, dass die eigentliche CD-Struktur sowie das komprimierte Image (als einfache Datei namens "KNOPPIX") enthält.


Voraussetzungen

  • Eine vorhandene Linuxinstallation. Welche Distribution ist egal, ich persönlich benutze ArchLinux. Falls Ihr noch keine Linuxinstallation habt, koennt ihr Knoppix via knoppix-installer installieren.
  • 1 GB RAM (echter Speicher + Swap) vorhanden
  • 6 GB freier Festplattenspeicher
  • Möglichst schneller Prozessor, auf einem AMD Athlon 1100 dauert das Komprimieren des CD-Images ca. 30-40 Minuten.

KNOPPIX installieren

Zuerst müssen wir eine Kopie von KNOPPIX auf unser System kopieren und das Rootfilesystem auspacken, bevor wir es im zweiten Teil modifzieren können.

  1. Im Home-Verzeichnis ein Verzeichnis mit dem Namen opalix anlegen. In opalix die Verzeichnisse workarea und knoppix anlegen. In workarea erstellen wir die neue CD.
  2. Aktuelle Knoppix Version von http://www.knoppix.net/get.php herunterladen und in opalix speichern.
    WICHTIG: Mit dem Programm md5sum die Korrektheit des ISOs sicherstellen.
  3. Aktuelles OPAL Paket für Debian von Opal für Linux herunterladen und in opalix speichern.
  4. KNOPPIX auf einen Rohling brennen.
  5. Die CD mounten und den kompletten Inhalt nach $HOME/opalix/workarea kopieren.
  6. Neubooten und von der der CD KNOPPIX starten.
  7. Die Partition, auf der $HOME/opalix zu finden ist schreibbar (rw) mounten.
  8. In einer Rootshell nach $HOME/opalix wechseln und ein temporäres Verzeichnis anlegen und darin das komprimierte Rootfilesystem von KNOPPIX mounten, dann das komplette Filesystem nach $HOME/opalix/knoppix kopieren.
    mkdir rfs;
    insmod cloop file=$PATH_TO_HOME/opalix/workarea/KNOPPIX/KNOPPIX;
    mount -o ro /dev/cloop rfs;
    cp -rf rfs/* knoppix/
  9. Neubooten, diesmal das bereits installierte Linuxsystem.
  • Todo: Grafik mit gimp erstellen -> lss16 beschreiben

Modifizieren

Jetzt haben wir eine Kopie von KNOPPIX auf der lokalen Festplatte, die wir verändern können. Wir werden nun im Folgenden die interessantesten Plätze abklappern.

OPAL installieren und Platz schaffen

Wir werden OPAL aus dem .deb Archiv installieren und danach unnötige Pakete löschen, so dass am Ende wieder alles auf eine CD passt. Dazu müssen wir in eine chroot-Umgebung wechseln.

  1. Kopiere das .deb Paket nach $HOME/opalix/knoppix/root. (Als root, da der KNOPPIX-Verzeichnisbaum auch durch die Rechte geschützt ist. Dies sollte nicht verändert werden.)
  2. Als root führe in $HOME/opalix den Befehl chroot knoppix aus.
  3. Installiere in der chroot-Shell OPAL.
    cd; dpkg -i ocs*.deb
  4. Lösche ausreichend Pakete. dpkg-query -W --showformat='${Installed-Size} ${Package}\n' | sort -n gibt einen guten Anhaltspunkt.

/etc/skel

In dem Verzeichnis /etc/skel bzw. $HOME/opalix/knoppix/etc/skel liegen die Voreinstellungen für neue Benutzer, die beim Systemstart von KNOPPIX für den Benutzer knoppix übernommen werden.

Besonders interessant sind hierbei:

  • /etc/skel/.mozilla/knoppix/${PROFILNAME}/bookmarks.html - Hier speichert Mozilla seine Bookmarks. Auch interessant ist prefs.js, hier wird die Startseite definiert.
  • /etc/skel/.kde/share/apps/konqueror/bookmarks.xml - Die Bookmarks von Konqueror.
  • /etc/skel/.kde/Autostart - Hier könnt ihr bequem Skripte ablegen, die beim Starten von X11 durchgeführt werden sollen.
  • /etc/skel/Desktop - Hier könnt ihr Links, die auf dem Desktop erscheinen hinzufügen.

Dokumentation hinzufügen

Das aktuelle OPAL-Paket für Debian installiert leider die Dokumentation nicht automatisch mit. Deshalt muss sie von http://uebb.cs.tu-berlin.de/opal heruntergeladen und per Hand entpackt werden. Hiefür bietet sich /usr/share/doc/opal an.

Eye-candy

Es bietet sich an die Grafiken von KNOPPIX auszutauschen und an die Freitagsrunde anzupassen. Dabei interessant sind folgende Stellen:

  • /usr/share/apps/ksplash/Themes/Default - Hier liegen die Grafiken für den KDE-Splashscreen. Einfach mit dem GIMP bearbeiten.
  • Das Hintergrundbild wird in /etc/init.d/knoppix-autoconfig gesetzt. Hierdurch werden Änderungen im Profil überschrieben. Am besten mit einem Editor nach BACKGROUND= suchen und per Hand anpassen.
  • In /etc/skel/.kde/share/config/kdesktoprc können diverse Parameter zur Desktopanzeige angepasst werden.
  • In /etc/skel/.kde/share/config/kickerrc können Icons aus der Taskbar entfernt werden.

Remastern

TODO: Remastern beschreiben.


Sortieren

Um die Geschwindigkeit zu verbessern, kann man die Dateien innerhalb des ISOs noch etwas besser sortieren:

touch mkisofs.timestamp

neu booten

und dann ein find, dass die Access times der Dateien mit dem Timestamp von mkisofs.timestamp vergleicht.

Resourcen

Entweder du änderst alles per Hand oder verwendest die Version von Opalix 2004 als Basis.

  • etc_skel.tgz herunterladen. TODO: LINK EINFÜGEN


OPALIX 2005

Dies hier wird die neue Version der Seite.

Voraussetzungen

  • Eine vorhandene Linuxinstallation. Welche Distribution ist egal, ich persönlich benutze ArchLinux. Falls Ihr noch keine Linuxinstallation habt, koennt ihr Knoppix via knoppix-installer installieren.
  • 1 GB RAM (echter Speicher + Swap) vorhanden
  • 6 GB freier Festplattenspeicher
    Der Speicher muss auf einer für Linux beschreibbaren Partition vorliegen, die die Dateirechte korrekt speichert. Also nicht NTFS/FAT. Ich empfehle, eine eigene Partition zum Arbeiten anzulegen. Dann ist die Gefahr, versehentlich sein eigenes System zu plätten, kleiner.
  • Möglichst schneller Prozessor, auf einem AMD Athlon 1100 dauert das Komprimieren des CD-Images ca. 30-40 Minuten.

Knoppix installieren und auf Festplatte speichern

Im folgenden werden wir Knoppix auf der Festplatte speichern, entpacken und auf die Modifikationen vorbereiten. Dazu booten wir Knoppix von einer CD-RW und mounten dann unsere Arbeitspartition. Zu guter letzt kopieren wir das KNOPPIX System auf unsere Festplatte.

Im Folgenden gehe ich davon aus, dass sich der CD-Brenner unter /dev/cdrecorder finden lässt und sich der Arbeitsplatz auf der Partition /dev/hda9 befindet, die auf /mnt/hda9 gemountet ist. Gegebenenfalls anpassen!

  1. Aktuelle Knoppix Version von http://www.knoppix.net/get.php herunterladen.
    WICHTIG: Mit dem Programm md5sum die Korrektheit des ISOs sicherstellen.
  2. Knoppix brennen, Korrektheit der gebrannten CD feststellen! (K3b kann das automatisch, ansonsten wieder md5sum bemühen:
    md5sum /dev/cdrecorder
  3. Festplatte vorbereiten: Auf /dev/hda9 zwei Verzeichnisse anlegen:

mkdir -p /mnt/hda9/knx/master # Hier erstellen wir unsere Version mkdir -p /mnt/hda9/knx/source # Hier kommt das Entpackte Image hin.

  1. Rechner neu starten, diesmal von der Knoppix CD booten.
  2. /dev/hda9 mounten. Sollte durch Klicken auf dem Desktop möglichen sein.
  3. Unter Knoppix eine Root-Shell aufmachen (Knoppix-Menü) und den /KNOPPIX nach /mnt/hda9/knx/source kopieren:

cd /mnt/hda9/knx/source cp -Pr /KNOPPIX . # Gedult! Dauert eine ganze weile.

  1. Artwork und Autostart-Krams kopieren. Die große (ca. 700Mb) KNOPPIX Datei können wir uns sparen.

cd /mnt/hda9/knx/master cp -P /cdrom/* . cp -Pr /cdrom/boot . mkdir KNOPPIX cd KNOPPIX cp -Pr /cdrom/KNOPPIX/*[^X] .

  1. Rechner neu starten, vorhandenes Linux booten.

OCS installieren

Im folgenden werden wir das OPAL Compilation System installieren und andere Applikationen entfernen, so dass am Ende alles wieder auf eine CD passt.

  1. Den X-Server für fremde Sessions freischalten. Dies machen wir, damit wir aus Knoppix/Opalix heraus grafische Programme benutzen können. (ja, nicht gerade 1337, aber praktisch.) Als normaler User:

xhost +localhost

  1. Die Partition mit den Knoppix Daten mounten (von jetzt an als root):

mkdir -p /mnt/hda9 mount /dev/hda9 /mnt/hda9

  1. Das aktuelle ocs Paket für Debian herunterladen und speichern, als root nach /mnt/hda9/knx/source/KNOPPIX/root kopieren.
  2. In das Knoppix System wechseln:

chroot /mnt/hda9/knx/source/KNOPPIX

  1. In der chroot-Umgebung mit kpackage das OCS Paket installieren und andere Pakete deinstallieren (ca. 100-200Mb). Es empfehlen sich zum Beispiel die KDE-Übersetzungen als Anfang.

export DISPLAY=localhost:0 kpackage

Bookmarks bei Mozilla, Firefox und Konqueror setzen

Im folgenden setzen wir die Bookmarks für die Browser auf die Freitagsrunde Seite, das Wiki und die Opalix-Seite. Die Verwendeten Dateien sind im internen Bereich zu finden. Hinweis: Die Dateien liegen in UTF-8 vor.

Mozilla

In dem Verzeichnis (/mnt/hda9/knx/source/KNOPPIX)/etc/skel/.mozilla/knoppix/${PROFILNAME}/ werden die Details für Mozilla gespeichert. Dort die Dateien bookmarks.html und prefs.js speichern.

Firefox

In dem Verzeichnis (/mnt/hda9/knx/source/KNOPPIX)/etc/skel/.mozilla/firefox/${PROFILNAME}/ werden die Details für Firefox gespeichert. Dort die Dateien bookmarks.html und prefs.js speichern.

Konqueror

In dem Verzeichnis (/mnt/hda9/knx/source/KNOPPIX)/etc/skel/.kde/share/apps/konqueror werden die Details für Konqueror gespeichert. Dort die Datei bookmarks.xml speichern.

Grafiken anpassen

Damit Opalix auch nach was aussieht und das Logo der Freitagsrunde trägt, werden wir im folgenden ein paar Grafiken austauschen. Die verwendeten Grafiken sind wieder im internen Bereich zu findne.

KDE

Bei KDE gibt es zweierlei anzupassen. Einerseits den Hintergrund des Desktops, andererseits die Grafiken beim Startup (das kleine Kästchen, in dem steht, was gestartet wird.)

  • ksplash (Startup)
Die Grafiken, die ksplash benutzt, liegen im Verzeichnis (/mnt/hda9/knx/source/KNOPPIX)/usr/share/apps/ksplash/Themes/Default. Besonders interessant ist die Datei splash_top.png.
  • kdesktop (Hintergrund)
Da die Knoppix Startskripte die KDE einstellungen überschreiben, ist es am einfachsten, die Knoppix Hintergründe zu überschreiben. Dazu müssen wir unseren Hintergrund an zwei Stellen speichern:
  • /mnt/hda9/knx/master/KNOPPIX/background.png
  • /mnt/hda9/knx/source/KNOPPIX/usr/local/lib/knoppix.png
Der Hintergrund kann hierbei ein .gif, .png oder .jpg sein, die Namen background und knoppix sind entscheidend. Gleichnamige Dateien, die schon da sind, muss man löschen.

Bootgrafik

Der Bootloader zeigt sein eigenes Bild an. Dieses Bild ist unter /mnt/hda9/knx/master/boot/isolinux/logo.16 zu finden. Es liegt im lss16-Format vor, dass man nicht direkt bearbeiten kann. (jedenfalls nicht mit Gimp) Glücklicherweise sind alle wichtigen Formatkonvertierer bei Knoppix dabei.

  1. Erstelle mit Gimp oder irgendeinem anderen Grafikprogramm ein Bild, das den folgenden Kriterien genügt:
  • Format: 640 * 400 Pixel
  • Nur 16 Farben werden verwendet. (gimp:Image->Mode->Indexed)
  1. Speichere dieses Bild als Windows Bitmap im Knoppix-System ab (/mnt/hda9/knx/source/KNOPPIX/root/boot.bmp).
  2. Im chroot-System die folgenden Befehle ausführen:

cd /root bmptoppm < boot.bmp | ppmtolss16 > logo.16

  1. Wenn es keine Fehler gab, kann man jetzt das fertige Logo an die richtige Stelle (/mnt/hda9/knx/master/boot/isolinux/logo.16) kopieren.

Letzte Schritte

Remastern

Zum Remastern braucht ihr die cloop-utils. Entweder eure Distribution enthält sie bereits (z.B. Debian, Mandrake) oder Ihr installiert sie einfach aus den Quellen (cloop-utils-2.02 Quellen von Debian) via make; make install.

Zum Remaster verwende ich das folgende Skript, das Ihr gegebenenfalls an eure Pfade anpassen müsst:

#!/bin/bash

PROJECTDIR="/mnt/hda9/knx"
ROOT="source/KNOPPIX"
MASTER="master"
PREPARER="Björn Brandenburg <askadar@cs.tu-berlin.de>"
SORT=""
#SORT="-sort mkisofs.sort"

CREATE_CFS=/usr/local/bin/create_compressed_fs


cd $PROJECTDIR
mkisofs $SORT -iso-level 4 -R -U -V "OPALIX filesystem" -publisher "freitagsrunde.org" -hide-rr-moved -cache-inodes -no-bak -pad "$PROJECTDIR/$ROOT"  
| nice -5 $CREATE_CFS - 65536 > "$PROJECTDIR/$MASTER/KNOPPIX/KNOPPIX"

cd "$PROJECTDIR/$MASTER"
rm -f KNOPPIX/md5sums
find -type f -not -name md5sums -not -name boot.cat -exec md5sum {} \; >> KNOPPIX/md5sums

cd $PROJECTDIR
mkisofs -pad -l -r -J -v -V "OPALIX 2005" -publisher "freitagsrunde.org" -p "$PREPARER" -no-emul-boot -boot-load-size 4 -boot-info-table 
-b boot/isolinux/isolinux.bin -c boot/isolinux/boot.cat -hide-rr-moved -o opalix.iso "$PROJECTDIR/$MASTER"

kdialog -msgbox "OPALIX ist fertig gebacken!"

Ruft das Skript auf, geht Kaffee trinken, und eine Weile später solltet ihr ein fertiges opalix.iso im Projektverzeichnis finden. Wenn es dann auch noch auf eine CD passt, könnt ihr mit dem Testen anfangen, ansonsten müsst ihr noch mehr Pakete entfernen.