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

 
K
Zeile 44: Zeile 44:
 
cp -pR /media/sda1/opalix . # Dauert wieder... </nowiki>
 
cp -pR /media/sda1/opalix . # Dauert wieder... </nowiki>
  
<!-- AB HIER BEARBEITEN -->
 
  
 
== Knoppix-Pakete bearbeiten ==
 
== Knoppix-Pakete bearbeiten ==
Zeile 52: Zeile 51:
 
=== Chroot ===
 
=== Chroot ===
 
* weiter in der root-Shell
 
* weiter in der root-Shell
  <nowiki>cd /home/robert/opalix/knx-source
+
  <nowiki>cd /home/<username>/opalix/source
 
cp -b /etc/resolv.conf ./etc/dhcpc/resolv.conf # Nameserver-Konfiguration aus dem akt. Linux zum Knoppix kopieren
 
cp -b /etc/resolv.conf ./etc/dhcpc/resolv.conf # Nameserver-Konfiguration aus dem akt. Linux zum Knoppix kopieren
chroot knx-source
+
chroot KNOPPIX
 
mount -t proc /proc proc # Für Internet-Zugang
 
mount -t proc /proc proc # Für Internet-Zugang
 
</nowiki>
 
</nowiki>
Zeile 72: Zeile 71:
 
* Dokumentation kopieren. Aktuelle Doku findet man gepackt [http://uebb.cs.tu-berlin.de/~opal/opal-system.html auf der OPAL-Seite] - also wget-Link aktualisieren!
 
* Dokumentation kopieren. Aktuelle Doku findet man gepackt [http://uebb.cs.tu-berlin.de/~opal/opal-system.html auf der OPAL-Seite] - also wget-Link aktualisieren!
 
  <nowiki>cd /usr/local/share/
 
  <nowiki>cd /usr/local/share/
wget http://uebb.cs.tu-berlin.de/~opal/ocs-2.3j-doc.tar.bz2
+
wget http://uebb.cs.tu-berlin.de/~opal/ocs-2.3k-doc.tar.bz2
 
tar xjvf ocs-2.3j-doc.tar.bz2
 
tar xjvf ocs-2.3j-doc.tar.bz2
 
mv ocs-2.3j ocs</nowiki>
 
mv ocs-2.3j ocs</nowiki>
  
 
=== LaTeX, Kile, Kdvi und Subversion installieren ===
 
=== LaTeX, Kile, Kdvi und Subversion installieren ===
* Für das LaTeX-Paket und den KDE-TeX-Editor Kile braucht man nur eine Zeile:
+
Die LaTeX-Pakete und Subversion wurde bei Opalix 2007 aus Kompatibilitäts- und Platzgründen nicht installiert.
apt-get install kile tetex-extra kdvi subversion
 
 
 
Opal-Style für Latex einstellen
 
ln -s /usr/local/share/ocs/doc/opal2x /usr/share/texmf-tetex/tex/latex/
 
texhash
 
  
 
=== Andere Programme entfernen ===
 
=== Andere Programme entfernen ===
Zeile 117: Zeile 111:
 
  | style="text-align: center; padding: 1em" | 50,4 MB
 
  | style="text-align: center; padding: 1em" | 50,4 MB
 
  |-
 
  |-
  | style="text-align: center; padding: 1em" | Nessus<sup>1</sup>
+
| style="text-align: center; padding: 1em" | Frozen Bubble
 +
| style="text-align: center; padding: 1em" | frozen-bubble frozen-bubble-data
 +
| style="text-align: center; padding: 1em" | 33,9 MB
 +
|-
 +
  | style="text-align: center; padding: 1em" | Nessus
 
  | style="text-align: center; padding: 1em" | startnessus-knoppix nessusd nessus-plugins nessus libnessus2 libnasl2 libgdchart-gd2-noxpm libgd2-xpm
 
  | style="text-align: center; padding: 1em" | startnessus-knoppix nessusd nessus-plugins nessus libnessus2 libnasl2 libgdchart-gd2-noxpm libgd2-xpm
 
  | style="text-align: center; padding: 1em" | 17,6 MB
 
  | style="text-align: center; padding: 1em" | 17,6 MB
 
  |-
 
  |-
  | style="text-align: center; padding: 1em" | NX<sup>1</sup>
+
  | style="text-align: center; padding: 1em" | NX
 
  | style="text-align: center; padding: 1em" | freenx nxagent nxclient nxtunnel-server  libnxcomp0<br>libnxcompext0 nxdesktop nxlibs nxproxy nxsetup-knoppix nxssh nxtunnel-client nxviewer
 
  | style="text-align: center; padding: 1em" | freenx nxagent nxclient nxtunnel-server  libnxcomp0<br>libnxcompext0 nxdesktop nxlibs nxproxy nxsetup-knoppix nxssh nxtunnel-client nxviewer
 
  | style="text-align: center; padding: 1em" | 14,7 MB
 
  | style="text-align: center; padding: 1em" | 14,7 MB
 
|}
 
|}
 
</div>
 
</div>
<sup>1</sup> 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 <code>deborphan</code>, um zu prüfen, ob es nicht benötigte Abhängigkeiten gibt.
 
* Am Ende empfiehlt sich der Aufruf von <code>deborphan</code>, um zu prüfen, ob es nicht benötigte Abhängigkeiten gibt.
  
 
== OPALIX-Branding ==
 
== OPALIX-Branding ==
Die folgenden Befehle beziehen sich auf das Opalix-Verzeichnis. Darin sollte ein Ordner 'branding' enthalten sein, den man [http://intern.freitagsrunde.org/Opalix/2006/ hier] bekommt.
+
Die folgenden Befehle beziehen sich auf das Opalix-Verzeichnis. Darin sollte ein Ordner 'branding' enthalten sein, den man [http://intern.freitagsrunde.org/Opalix/2007/ hier] bekommt.
  
  cd /home/robert/opalix
+
  cd /home/<username>/opalix
  
 
=== HTML-Dateien auf der CD ersetzen ===
 
=== 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.
 
Diese Dateien sind verfügbar, wenn man die CD nicht bootet, sondern in Windows oder Linux als Laufwerk einbindet.
 
  <nowiki>mv knx-master/index{.html,_knoppix.html}  
 
  <nowiki>mv knx-master/index{.html,_knoppix.html}  
cp -r branding/html-content/* knx-master/
+
cp -r branding/html-content/* master/
cp branding/gfx_export/opalix_2006_splash.png knx-master/</nowiki>
+
cp branding/gfx_export/opalix_2007_splash.png master/</nowiki>
  
 
=== Dokumentation ===
 
=== Dokumentation ===
 
Es gibt eine Anleitung mit ersten Schritten und Beispiele, die man auf die CD kopieren kann und die vom Desktop aus verlinkt sind.
 
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/beispiele source/KNOPPIX/etc/skel/
  cp -r branding/doc knx-source/var/local/
+
  cp -r branding/doc source/KNOPPIX/var/local/
ln -s /usr/lib/ocs/ocs/examples /etc/skel/beispiele/ # Verlinken der von OCS mitgelieferten Beispiele
+
 
  
 
Damit die Beispiele und der VIM-Highlighter auch wirklich kopiert werden, muss noch die Datei <code>knx-source/etc/X11/Xsession.d/45xsession</code> angepasst werden. In Zeile 64 hinzufügen:
 
Damit die Beispiele und der VIM-Highlighter auch wirklich kopiert werden, muss noch die Datei <code>knx-source/etc/X11/Xsession.d/45xsession</code> 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
 
  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
 +
 +
<!-- Ab hier bearbeiten -->
  
 
=== KDE-Branding ===
 
=== KDE-Branding ===

Version vom 20. Oktober 2007, 02:52 Uhr

Diese Anleitung basiert zu großen Teilen auf der Anleitung aus dem Vorjahr, wurde aber in mehrere Richtungen (KDE-Aussehen, VirtualBox) erweitert.

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-2006-01-04-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 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.
  • 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.

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 knx-master/boot/isolinux/boot.msg

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

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 
updatedb --prunepaths="/KNOPPIX.build /mnt /mnt/hd /mnt/cdrom /tmp /usr/tmp /var/tmp"
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="/mnt/testing/knoppix-uncompressed.iso"
PREPARER="Robert Buchholz <rbu@freitagsrunde.org>"
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
# use this one to lose one sector: -untranslated-filenames

mkisofs -volid "OPALIX 2006 Beta"  -appid "mkisofs stinks" -publisher "freitagsrunde.org" -preparer "$PREPARER" \
        -rational-rock -joliet -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 \
        -untranslated-filenames \
        -pad  -v -hide-rr-moved $MASTER


# k3b-command
# mkisofs -volid "OPALIX 2006" -volset ""   -appid ""  -publisher freitagsrunde.org  -preparer "$PREPARER"  \
#       -sysid LINUX  -volset-size 1  -volset-seqno 1  -rock   -joliet  -joliet-long  -untranslated-filenames  \
#       -max-iso9660-filenames  -iso-level 2   -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 \
#       -gui -graft-points $MASTER

Probleme beim Booten

In jedem Jahr taucht das Problem wieder auf, dass die CD nicht bootet in einigen Computern. Das Problem wird verursacht von fehlerhaften BIOS-Versionen von Award/Phoenix. Das Problem ist nicht Opalix-spezifisch, sondern passiert auch hin und wieder in anderen LiveCDs (siehe Gentoo). Das Problem ist auch den Autoren von Isolinux/Syslinux und mkisofs bekannt, aber leider gibt es keine Lösung dafür :-(

This is a known and documented problem with a lot of BIOSes.  It's not really known what causes it.

(H. Peter Anvin)

Das Bios überspringt 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+. Bei Opalix 2006 ging Sektor 47 nicht, während Sektor 46 geht. 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!