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 2006:Opalix erstellen: Unterschied zwischen den Versionen

(Dokumentation)
Zeile 39: Zeile 39:
 
cp -pR /media/sda1/opalix . # Dauert wieder... </nowiki>
 
cp -pR /media/sda1/opalix . # Dauert wieder... </nowiki>
  
== Knoppix bearbeiten ==
+
== 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.
 
Im folgenden werden wir das OPAL Compilation System installieren und andere Applikationen entfernen, so dass am Ende alles wieder auf eine CD passt.
Zeile 51: Zeile 51:
 
</nowiki>
 
</nowiki>
  
== OCS installieren ==
+
=== OCS installieren ===
 
  nano /etc/apt/sources.list
 
  nano /etc/apt/sources.list
 
* sources.list ist nun in nano geöffnet. Ans Ende gehen und folgende Zeilen eintragen:
 
* sources.list ist nun in nano geöffnet. Ans Ende gehen und folgende Zeilen eintragen:
Zeile 69: Zeile 69:
 
mv ocs-2.3j ocs</nowiki>
 
mv ocs-2.3j ocs</nowiki>
  
== LaTeX und Kile installieren ==
+
=== LaTeX und Kile installieren ===
 
* Für das LaTeX-Paket und den KDE-TeX-Editor Kile braucht man nur eine Zeile:
 
* Für das LaTeX-Paket und den KDE-TeX-Editor Kile braucht man nur eine Zeile:
 
  apt-get install kile tetex-extra
 
  apt-get install kile tetex-extra
  
== Andere Programme entfernen ==
+
=== Andere Programme entfernen ===
 
* Da wir nun viel neues installiert haben, müssen wir andere Dinge installieren.
 
* Da wir nun viel neues installiert haben, müssen wir andere Dinge installieren.
  

Version vom 13. September 2006, 22:20 Uhr

Diese Anleitung basiert zu großen Teilen auf der Anleitung aus dem Vorjahr, wurde aber etwas erweitert. Die alte Version ist teilweise umfangreicher kommentiert, ich dokumentiere hier nur, wie die Opalix 2006-CD erstellt wurde. Falls du das selber machen willst, geht es in deinem Fall vielleicht einfacher :-)

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).
  • optinal externe Festplatte und virtuelle Maschine (VMWare o.ä.)
  • Möglichst schneller Prozessor, auf einem AMD Athlon 1100 dauert das Komprimieren des CD-Images ca. 30-40 Minuten, auf einem Athlon 1800+ dauerte es etwa 15 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 2006 wurde KNOPPIX_V5.0.1CD-2006-06-01-DE.iso verwendet.
  • 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 VMWare 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. Wichtig: Die Platte nicht im eigentlichen Linux mounten!
  • Im Beispiel wurde die Patition in /media/sda1 eingehängt.
sudo su # Root-Shell aufmachen
cd /media/sda1
mkdir -p ./opalix/knx-master # Hierhin wird die echte CD kopiert
mkdir -p ./opalix/knx-source # Hierhin kommt das entpackte komprimierte Dateisystem der CD.
cp -pR /KNOPPIX knx-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 VMWare beenden.
  • externe Platte unter dem eigentlichen Linux mounten und Daten auf die freie Partition (im Beispiel /home/robert/opalix) kopieren:
sudo su # Root-Shell aufmachen
cd /home/robert
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/robert/opalix/knx-source
cp -b /etc/resolv.conf ./etc/dhcpc/resolv.conf # Nameserver-Konfiguration aus dem akt. Linux zum Knoppix kopieren
chroot knx-source
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.3j-doc.tar.bz2
tar xjvf ocs-2.3j-doc.tar.bz2
mv ocs-2.3j ocs

LaTeX und Kile installieren

  • Für das LaTeX-Paket und den KDE-TeX-Editor Kile braucht man nur eine Zeile:
apt-get install kile tetex-extra

Andere Programme entfernen

  • Da wir nun viel neues installiert haben, müssen wir andere Dinge installieren.
  • 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
Nessus1 startnessus-knoppix nessusd nessus-plugins nessus libnessus2 libnasl2 libgdchart-gd2-noxpm libgd2-xpm 17,6 MB
NX1 freenx nxagent nxclient nxtunnel-server libnxcomp0
libnxcompext0 nxdesktop nxlibs nxproxy nxsetup-knoppix nxssh nxtunnel-client nxviewer
14,7 MB

1 Dieses Programm wurde auf der Opalix-2006-CD nicht entfernt, wird aber zur zukünftigen Entfernung empfohlen, falls nötig.

  • Am Ende empfiehlt sich der Aufruf von deborphan, um zu prüfen, ob es nicht benötigte Abhängigkeiten gibt.

OPALIX-Branding

Die folgenden Befehle beziehen sich auf das Opalix-Verzeichnis. Darin sollte ein Ordner 'branding' enthalten sein, den man hier bekommt.

cd /home/robert/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/* knx-master/
cp branding/gfx_export/opalix_2006_splash.png knx-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 knx-source/etc/skel/
cp -r branding/doc knx-source/var/local/

Damit die Beispiele 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,.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.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 knx-master/boot/isolinux/boot.msg

OPALIX 2006          http://www.freitagsrunde.org/         RELEASE: 2006-09-13 

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 macht man dann:

bmptoppm < opalix_2006_boot.bmp | ppmtolss16 > logo.16

Kopieren mit:

cp branding/gfx_export/logo.16 knx-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 
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/robert/opalix"
ROOT="/home/robert/opalix/knx-source"
MASTER="/home/robert/opalix/knx-master"
TMPFILE="/home/robert/knoppix-uncompressed.iso"
PREPARER="Robert Buchholz <buchholz@cs.tu-berlin.de>"
SORT=""
#SORT="-sort mkisofs.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 655360 -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 -pad -l -r -J -v -V "OPALIX 2006" -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 "$MASTER"