Opalix 2007:Opalix erstellen
Diese Anleitung basiert zu großen Teilen auf der Anleitung aus dem Vorjahr, wurde aber in mehrere Richtungen (KDE-Aussehen, VirtualBox) erweitert.
Inhaltsverzeichnis
Voraussetzungen
- Eine vorhandene Linuxinstallation
- 1 GB RAM (echter Speicher + Swap) vorhanden
- 8 GB freier Festplattenspeicher auf einer Linux-Partition (Ext2/3, XFS, JFS, Reiser, o.ä., aber nicht FAT/NTFS)
- optional externe Festplatte und virtuelle Maschine (VMWare, VirtualBox o.ä.)
- Möglichst schneller Prozessor, auf einem Intel Pentium 4 mit 3GHz dauert das Komprimieren des CD-Images ca. 10-15 Minuten, auf einem Athlon 2500+ dauerte es etwa 15-20 Minuten.
Knoppix installieren und auf Festplatte speichern
- Aktuelle Knoppix Version von http://www.knoppix.net/get.php herunterladen.
- WICHTIG: Mit dem Programm
md5sum
die Korrektheit des ISOs sicherstellen. - Für Opalix 2007 wurde
KNOPPIX_V5.1.1CD-2007-01-04-DE.iso
verwendet.
- WICHTIG: Mit dem Programm
- Knoppix-CD brennen (siehe alten Artikel) oder in einer virtuellen Maschine starten. Im Weiteren wird die Variante in der virtuellen Maschine verwendet.
- Knoppix in der VM starten: Dafür einfach eine neue Maschine anlegen oder in einer bestehenden Maschine das ISO-Image als CD-Rom-Laufwerk einstellen und von der CD booten.
- Wenn das Knoppix gestartet ist, die externe Festplatte anschließen und über das VMWare-Menü für die CD freigeben oder "Shared Folders" einrichten. Wichtig: Die Platte nicht im eigentlichen Linux mounten!
- Im Beispiel wurde die Patition in
/media/sda1
eingehängt
sudo su # Root-Shell aufmachen # Verzeichnisse anlegen und das entpackte Knoppix-Dateisystem kopieren cd /media/sda1 # ins Verzeichnis des externen Speichers wechseln mkdir -p ./opalix/master # Hierhin wird die echte CD kopiert mkdir -p ./opalix/source # Hierhin kommt das entpackte komprimierte Dateisystem der CD cp -pR /KNOPPIX source/ # Geduld! Dauert eine ganze Weile # Artwork und Autostart-Krams kopieren. Die große (ca. 700Mb) KNOPPIX Datei können wir uns sparen cd ./master cp -p /cdrom/* . cp -pr /cdrom/boot . mkdir KNOPPIX cd KNOPPIX cp -pr /cdrom/KNOPPIX/*[^X] .
- Knoppix und VM beenden
- externe Platte unter dem eigentlichen Linux mounten und Daten auf die freie Partition kopieren:
sudo su # Root-Shell aufmachen cd /home/<username> cp -pR /media/sda1/opalix . # Dauert wieder...
Knoppix-Pakete bearbeiten
Im folgenden werden wir das OPAL Compilation System installieren und andere Applikationen entfernen, so dass am Ende alles wieder auf eine CD passt.
Chroot
- weiter in der root-Shell
cd /home/<username>/opalix/source cp -b /etc/resolv.conf ./etc/dhcpc/resolv.conf # Nameserver-Konfiguration aus dem akt. Linux zum Knoppix kopieren chroot KNOPPIX mount -t proc /proc proc # Für Internet-Zugang
OCS installieren
nano /etc/apt/sources.list
- sources.list ist nun in nano geöffnet. Ans Ende gehen und folgende Zeilen eintragen:
# Opalix-Repository der Freitagsrunde deb http://opalix.freitagsrunde.org/debian-rep ./ deb-src http://opalix.freitagsrunde.org/debian-rep ./
- Datei speichern, nano beenden.
apt-get update # Laden der hinzugefügten Pakete apt-get install ocs
- Dokumentation kopieren. Aktuelle Doku findet man gepackt auf der OPAL-Seite - also wget-Link aktualisieren!
cd /usr/local/share/ wget http://uebb.cs.tu-berlin.de/~opal/ocs-2.3k-doc.tar.bz2 tar xjvf ocs-2.3j-doc.tar.bz2 mv ocs-2.3j ocs
LaTeX, Kile, Kdvi und Subversion installieren
Die LaTeX-Pakete und Subversion wurde bei Opalix 2007 aus Kompatibilitäts- und Platzgründen nicht installiert.
Andere Programme entfernen
- Da wir nun viel neues installiert haben, müssen wir andere Dinge deinstallieren.
dpkg-query -W --showformat='${Installed-Size} ${Package} ${Status}\n' | grep -v deinstall | sort -n | awk '{print $1" "$2}'
- Alle Programme können deinstalliert werden mittels
apt-get remove --purge <Pakete>
- wobei
<Pakete>
durch die Pakete in der Spalte "Deinstallierte Pakete" ersetzt werden muss.
Programm | Deinstallierte Pakete | Gewonnener Speicher |
---|---|---|
Apache | apache2 apache2-common apache2-mpm-prefork apache2-utils libapache2-mod-php4 libzzip-0-12 | 7,2 MB |
Audacity | audacity libwxgtk2.4-1 | 9,3 MB |
KDE Internationalisierung | kde-i18n-es kde-i18n-fr kde-i18n-it kde-i18n-ja kde-i18n-nl kde-i18n-pl kde-i18n-ru kde-i18n-tr | 217 MB |
MySQL | mysql-client mysql-common mysql-server php4-mysql libmysqlclient15off libdbd-mysql-perl | 67,5 MB |
Wine | wine winetools | 50,4 MB |
Frozen Bubble | frozen-bubble frozen-bubble-data | 33,9 MB |
Nessus | startnessus-knoppix nessusd nessus-plugins nessus libnessus2 libnasl2 libgdchart-gd2-noxpm libgd2-xpm | 17,6 MB |
NX | freenx nxagent nxclient nxtunnel-server libnxcomp0 libnxcompext0 nxdesktop nxlibs nxproxy nxsetup-knoppix nxssh nxtunnel-client nxviewer |
14,7 MB |
- Am Ende empfiehlt sich der Aufruf von
deborphan
, um zu prüfen, ob es nicht benötigte Abhängigkeiten gibt.
deborphan | xargs apt-get -y remove
OPALIX-Branding
Die folgenden Befehle beziehen sich auf das Opalix-Verzeichnis. Darin sollte ein Ordner 'branding' enthalten sein, den man hier bekommt.
cd /home/<username>/opalix
HTML-Dateien auf der CD ersetzen
Diese Dateien sind verfügbar, wenn man die CD nicht bootet, sondern in Windows oder Linux als Laufwerk einbindet.
mv knx-master/index{.html,_knoppix.html} cp -r branding/html-content/* master/ cp branding/gfx_export/opalix_2007_splash.png master/
Dokumentation
Es gibt eine Anleitung mit ersten Schritten und Beispiele, die man auf die CD kopieren kann und die vom Desktop aus verlinkt sind.
cp -r branding/beispiele source/KNOPPIX/etc/skel/ cp -r branding/doc source/KNOPPIX/var/local/
Damit die Beispiele und der VIM-Highlighter auch wirklich kopiert werden, muss noch die Datei knx-source/etc/X11/Xsession.d/45xsession
angepasst werden. In Zeile 64 hinzufügen:
rsync -Ha --ignore-existing /etc/skel/{.acrorc,.Xdefaults,.gimp*,.gconf*,.bashrc,.nessus*,.links,.local,.lynx*,.qt,.vim,.xine,.xmms,tmp,beispiele} $HOME/ 2>/dev/null
KDE-Branding
Wir ersetzen den KDE Splash-Screen und das Desktop-Hintergrundbild. Außerdem werden Links für die Doku angelegt.
cp branding/gfx_export/opalix_2006_splash_framed.png knx-source/usr/share/apps/ksplash/Themes/Default/splash_top.png cp branding/gfx_export/opalix_2006_background.jpg knx-source/usr/local/lib/knoppix.jpg cp branding/gfx_export/opalix_2006_background.jpg knx-master/KNOPPIX/background.jpg
Anpassung der Desktop-Links
mkdir knx-source/var/local/gfx knx-source/etc/skel/.kde/share/apps/kdesktop cp -r branding/gfx_orig/* knx-source/var/local/gfx cp branding/desktop/*.desktop knx-source/etc/skel/Desktop/ cp branding/desktop/IconPositions knx-source/etc/skel/.kde/share/apps/kdesktop/
Bookmarks
Ersetzen der bookmark-files für Firefox und Konqueror
cp branding/bookmarks/firefox/* knx-source/etc/skel/.mozilla/firefox/3d4ef4xp.default/ cp branding/bookmarks/konqueror/* knx-source/etc/skel/.kde/share/apps/konqueror/
Syntax-Highlighting
Installation von Dateien zum Opal Syntax-Highlighting für kate, nano und vim.
cat branding/highlighter/nanorc_pt >> knx-source/etc/nanorc cp branding/highlighter/opal_kate.xml knx-source/usr/share/apps/katepart/syntax/ mkdir -p knx-source/etc/skel/.vim/syntax cp branding/highlighter/filetype.vim knx-source/etc/skel/.vim/ cp knx-source/usr/lib/ocs/ocs/lib/vim/opal.vim knx-source/etc/skel/.vim/syntax/
ISOLINUX Bootloader
Anpassen der Datei master/boot/isolinux/boot.msg
OPALIX 2007 http://www.freitagsrunde.org/ RELEASE: 2007-10-10
Die Boot-Grafik kann man ersetzen, indem man ein BMP erzeugt mit folgenden Dimensionen:
- 640x400px
- 16 Farben (gimp:Image->Mode->Indexed)
Mit den Tools aus dem Paket syslinux und dem branding-Ordner macht man dann:
bmptoppm < opalix_2007_boot.bmp | ppmtolss16 > logo.16
Kopieren mit:
cp branding/gfx_export/logo.16 master/boot/isolinux/
Aufräumen und Spuren verwischen
- Bevor man das Opalix-Image erstellt, sollte man folgende Schritte ausführen:
apt-get clean # Download-Cache leeren umount /proc # Sonst gibts Probleme beim ISO-Erstellen for i in /var/lib/apt/lists/*_{Release,Packages,Sources}; do >$i; touch -t 198103190000.00 $i; done # Paket-Cache aufs Minimum reduzieren, siehe hier apt-get check dpkg --clear-avail apt-cache gencaches sync-available rm -f /var/cache/apt/*.bin exit # aus der chroot rausgehen rm -f root/.bash_history root/.lesshst mv etc/dhcpc/resolv.conf{~,} # originale resolv.conf wiederherstellen
Image erstellen
Führt man folgendes Skript im ${PROJECTDIR}
aus, so wird eine "opalix.iso" gebacken, die das fertige Image enthält. Dafür braucht man das Linux-Paket cloop und enstsprechenden Support für komprimierte Dateisysteme im Kernel (CONFIG_ZLIB_INFLATE=y
).
#!/bin/bash PROJECTDIR="/home/<username>/opalix" ROOT="/home/<username>/opalix/source/KNOPPIX" MASTER="/home/<username>/opalix/master" TMPFILE="/home/<username>/knoppix-uc.iso" PREPARER="" SORT="" CREATE_CFS=/usr/bin/create_compressed_fs cd $PROJECTDIR echo "Creating uncompressed ISO" mkisofs $SORT -iso-level 4 -R -U -V "OPALIX filesystem" -publisher "freitagsrunde.org" \ -hide-rr-moved -cache-inodes -no-bak -pad "$ROOT" > $TMPFILE echo "Finished creating uncompressed ISO:" du -sh "$TMPFILE" nice -5 $CREATE_CFS -L 9 -B 131072 -v "$TMPFILE" "$MASTER/KNOPPIX/KNOPPIX" echo "Finished compressing ISO:" du -sh "$MASTER/KNOPPIX/KNOPPIX" cd "$MASTER" rm -f KNOPPIX/md5sums find -type f -not -name md5sums -not -name boot.cat -exec md5sum {} \; >> KNOPPIX/md5sums cd $PROJECTDIR mkisofs -volid "OPALIX 2007" -appid "" -publisher "freitagsrunde.org" -preparer "$PREPARER" \ -rational-rock -full-iso9660-filenames -eltorito-boot boot/isolinux/isolinux.bin -no-emul-boot \ -boot-load-size 4 -boot-info-table -eltorito-catalog boot/isolinux/boot.cat -o opalix.iso -pad -v -hide-rr-moved $MASTER # -untranslated-filenames -joliet -joliet-long #zur Aenderung des Bootsektors
Probleme beim Booten
Manche Bios-Versionen überspringen einfach das Booten von der CD, wenn der Boot-Catalog in einem falschen Sektor auf der CD liegt. Leider weiß niemand so richtig, welche Sektoren funktionieren und welche nicht. Windows-CDs nutzen Sektoren zwischen 17 und 40 für den Katalog (NT-CDs immer 18), aber es gibt auch CDs mit dem Katalog in Sektor 1000+.
In welchem Sektor der Boot-Catalog liegt, findet man raus mit
isoinfo -d -i opalix.iso
Wie man den Katalog in einen anderen Sektor verschieben kann, kann ich nicht genau sagen: Manchmal hilft es, lange Dateinamen oder Joliet ein- oder auszuschalten, da die Liste mit Dateinamen VOR dem Boot-Katalog gespeichert wird. Genau genommen kann man auch Dummy-Dateien erstellen, um den Boot-Sektor nach hinten zu schieben.
Viel Spaß beim Trial-and-Error!