Linux-Magazin-Logo Die Zeitschrift für Linux-Professionals

Workshop: Die individuelle Knoppix-CD

Schlank in Schritten

Rolf Wagner

Klaus Knoppers Distribution enthält viele Programme und Einstellungen, die man nicht in jeder Lebenslage braucht. Dieser Workshop und ein CD-Brenner sind Voraussetzungen für mehr Individualität.

Die normalerweise von CD bootende Knoppix-Distribution zeichnet sich durch ihre gute Hardware-Erkennung und ein Endanwender-freundliches Oberflächen- und Softwaredesign aus. Aber wer braucht in jeder Lebenslage japanische Zeichensätze oder zehn Editoren? Dagegen wäre es oft gut, andere Programme oder einfach eigene Daten für Vorführungen parat zu haben. Wer Programme verbannt, die er nicht benötigt oder mag, schafft Platz für eigene Erweiterungen. Weniger ist dann mehr.

An Anwendungsgebieten für speziell zusammengestellte Knoppix-CDs besteht kein Mangel: Thin-Client-ähnliche Arbeitsstationen im Büro, öffentliche Internetzugänge, Hotel- und Empfangshallen, Internetcafés, Präsentationen und Werbung, Softwarepräsentationen, Produktinformationen, Video und Entertainment, Notebook-Verleih in Krankenhäusern oder Schulen, Lernsoftware für die Weiterbildung, Messe-CDs zum Verschenken und so weiter.

Denkbar ist auch, dass solche CDs massenhaft in der Langzeit-Datenarchivierung in Ämtern und Instituten zum Einsatz gelangen. Bisher kämpfen die Archivare mit dem Problem, dass sie zwar auf speziellen CDs Daten bis zu 300 Jahre lagern können, nach ein paar wenigen Jahrzehnten aber keine Software mehr existiert und lauffähig ist, die solche dann historischen Daten- und Dateiformate zu lesen vermag.

Wenn man dagegen Daten, Betriebssystem und Anwendungssoftware wie hier auf einem Datenträger (oder in einer Datei) vereint, steigen die Chancen für eine Auswertung beträchtlich. Denn es ist davon auszugehen, dass es auch in Zukunft x86-Emulatoren geben wird, die ein heutiges Linux (oder Microsoft Windows) unterstützen.

Vorbereiten der Festplatte

Zur Vereinfachung geht dieser Workshop davon aus, dass der benutzte PC nur eine einzige, leere EIDE-Festplatte besitzt (siehe Kasten "Voraussetzungen"). Wer mehrere oder Nicht-EIDE-Festplatten eingebaut hat oder die vorhandene Platte noch anderweitig einsetzt, muss alle Aufrufe diesem Umstand entsprechend vorsichtig anpassen. Andernfalls droht Datenverlust! Ein Backup sei dann dringend angeraten.

Voraussetzungen

Benötigt wird ein Standard-PC, der insgesamt rund 1 GByte Arbeitsspeicher aufweist, also zum Beispiel 256 MByte RAM und als Swapdatei 750 MByte. Die angepasste Knoppix-CD besitzt ein komprimiertes Filesystem, das bis zu 700 MByte anwächst. Das macht den großen Speicherbedarf notwendig. Außerdem:

  • Festplatte ab 6 GByte, die anfänglich leere Festplatte wird später drei Partitionen aufnehmen
  • CD-Brenner und CD/RW-Rohlinge
  • Knoppix-CD, Version 3.3[1]
  • Optional: Debian-CD, Version 3.0r2[2],[3] und zwei formatierte Disketten

Als Erstes booten und starten Sie die Knoppix-CD vom CD-Laufwerk. Öffnen Sie ein Shell-Terminal und geben »sudo su« ein. Jetzt haben Sie die Root-Rechte. Installieren Sie jetzt die Knoppix-Distribution auf Festplatte, genauer gesagt auf »/dev/hda2«. Sie wird es sein, die im Laufe des Workshops verschlankt wird. Im noch offenen Terminal mit Root-Rechten starten Sie das (inoffizielle) Installationsskript »knoppix-installer«, ein grafisches Setup-Programm erscheint (siehe Abbildung 1).

Abbildung 1: Das Skript »knoppix-installer« fördert ein grafisches Installationsprogramm zu Tage, um das originale Knoppix von der CD auf die Platte zu kopieren und zu installieren.

Installation der Knoppix-CD auf Festplatte

Partitionieren Sie am besten gleich die Festplatte entsprechend Abbildung 2. Hinter dem Punkt »3.« des Setup-Programms verbirgt sich das Partitionierungstool Qtparted. Legen Sie die erste Partition mit mindestens 3,5 GByte, die zweite mit zirka 2,5 GByte und die Swap-Partition mit rund 750 MByte an. Verwenden Sie für die beiden ersten Partitionen als Typen »ext3« und »Primary Partition«. Die dritte Partition ist ebenfalls eine »Primary Partition« und bekommt den Typ »linux-swap«.

Abbildung 2: Einteilen Ihrer Festplatte - Hda muss entsprechend groß sein.

Dann wenden Sie sich dem Punkt »1. Installation konfigurieren« zu. Ein deutschsprachiger Wizzard mit integrierter Hilfe will unter anderem einen »Systemtyp« wissen, richtig ist »knoppix«. Zur Erinnerung: Zielpartition ist Hda2. Der zweite Menüpunkt startet den zeitlich aufwändigen Kopiervorgang.

Optional: Debian auf Platte installieren

Wenn Sie den Rechner nicht ausschließlich zum Knoppix-Mastern nutzen wollen, bietet es sich an, auf der ersten Partition »/dev/hda1« eine aktuelle Debian-Distribution einzurichten. So können Sie die tägliche Arbeit mit einem PC erledigen. Durch die enge Verwandschaft von Debian und Knoppix eignet sich eine solche Hauptdistribution aber auch für erweiterte Anpassungsarbeiten an Knoppix-CDs, als Ort für eigene Skriptdateien zum (De-)Installieren, zum Schnüren von Paketen und so weiter.

Wenn Sie auf Ihrer Festplatte auf Hda1 schon ein Linux - bevorzugt Debian - installiert haben, müssen Sie natürlich nicht alles löschen und neu aufsetzen. Sie benutzen das System einfach weiter. Doch Achtung: Auf der Partition muss ordentlich Platz sein und Sie benötigen nach wie vor freien Plattenspeicher für Hda2 und die Vergrößerung der Swap-Partition!

Egal ob Alt- oder Neuinstallation: Achten Sie auf einen funktionierenden Lilo- oder Grub-Bootswitch zwischen Hda1 (Debian) und Hda2 (Knoppix). Sicherheitshalber sollte im Zuge beider Installationen eine Bootdiskette entstehen. In der Minimal-Ausbaustufe braucht auf Hda1 übrigens gar keine Distribution installiert zu sein - Formatieren mit Ext 3 oder einem anderen Filesystem, das Knoppix versteht, reicht.

Vorbereiten zum Customisieren der Knoppix-CD

Booten und starten Sie jetzt Knoppix von der Festplatte, also von Hda2. Auf der KDE-Oberfläche angekommen machen Sie die beiden Partitionen beschreibbar. (Knoppix mountet nämlich bevorzugt read-only.) Suchen Sie auf dem Desktop die entsprechenden Icons, klicken sie an und schließen die sich öffnenden Fenster gleich wieder. Klicken Sie die Ikons mit der rechten Maustaste an und machen die Laufwerke durch Wegklicken der Checkbox »Eigenschaften | Gerät | Nur lesen« (Abbildung 3) und rechte Maustaste »Lese-/Schreibmodus ändern« beschreibbar.

Abbildung 3: Auf der KDE-Oberfläche machen Sie die beiden Partitionen beschreibbar, denn Knoppix mountet bevorzugt read-only.

Jetzt öffnen Sie wieder ein Shell-Terminal und geben dort »sudo su« ein. Wechseln Sie mit »cd /mnt/hda1« zur ersten Partition. Sie benötigen zunächst zwei neue Verzeichnisse:

mkdir custom
mkdir custom/KNOPPIX_CD

Jetzt kopieren Sie den Inhalt der Knoppix-CD mit Ausnahme des komprimierten Root-Filesystems in das Verzeichnis »custom/KNOPPIX_CD«. Legen Sie dazu die CD ins Laufwerk und tippen:

cd /mnt/cdrom  tar cpf - . --exclude ./KNOPPIX/KNOPPIX | (cd /mnt/hda1/custom/KNOPPIX_CD; tar xpf -)

Knoppix auf der Windows-Platte

Auch zu Windows-Benutzern verhält sich Knoppix recht kooperativ. Es mountet FAT- und NTFS-Partitionen nicht nur automatisch, sondern kann sogar aus einer FAT-32-Partition heraus laufen: Dazu kopiert man mit dem Explorer unter Windows den gesamten Inhalt der CD auf das Windows-Laufwerk »C:«. Knoppix wird später von Diskette booten. Zuvor muss allerdings im Laufwerk »A:« eine bereits formatierte Diskette liegen. Ein (Doppel-)Klick auf »mkfloppy.bat« im Verzeichnis »C:\KNOPPIX« erzeugt die Startdiskette. Fertig!

Die Vorteile bei diesem Vorgehen: Das CD-Laufwerk bleibt für andere Aufgaben frei, Knoppix läuft auch viel flüssiger und man kann Homeverzeichnisse anlegen. Wer versuchen will, mit einem solchen MS Knoppix wie hier beschrieben ein angepasstes Knoppix zu erzeugen, braucht eine Swapdatei von rund 750 MByte und einen guten Plan.

Überflüssige Pakete löschen und Menüs ändern

Sie befinden sich noch als Root im Terminal-Modus des von Hda2 gestarteten Knoppix. Jetzt ist es an der Zeit, darüber nachzudenken, was an Software entfernt werden soll und darf. Der Orientierung dient eine Datei: Auf vielen Knoppix-Spiegelservern gibt es ein Verzeichnis »contrib«, in dem ein etwa 240 MByte kleines Minimal-Knoppix hinterlegt ist. Aus dieser Distribution brauchen nur die Datei »Packages.txt«. Sie ist nur 46 KByte groß, die gleiche Datei auf der Standard-CD umfasst 110 KByte. Durch Vergleich beider Dateien (eventuell per »diff«) finden Sie hunderte Programme, die Sie entfernen dürfen.

Entfernen Sie zum Beispiel die Editoren, die Sie nie verwenden. Zur Auswahl stehen Vim, Hexedit, Nedit, Emacs21, Netris, Zile, Joe, Lde, Mparted, Gettext-el, Vim-scripts und Vim-gtk. Wenn Ihnen KWriter, KSpread oder Abiword genügen, trennen Sie sich von Open Office, das spart über 200 MByte unkomprimierten Speicherplatz. Um ein Paket zu entfernen, geben Sie »apt-get -u remove Paketname« ein - hier ist der Paketname »openoffice-de-en«.

Verabschieden Sie sich von Spielen, die Sie nicht mögen, wie vielleicht Freeciv (siehe Abbildung 4). Die Paketnamen sind »freeciv-server«, »freeciv«, »freeciv-data« und »freeciv-client-gtk«. Mit dem Befehl »apt-cache search game« erhalten Sie eine Liste installierter Spiele.

Verzichten Sie zudem auf ausländische Sprachdateien wie »kde-i18n-ru«, »kde-i18n-ja« und so weiter - eine schluckt rund 10 MByte Speicher. Wenn Sie wissen wollen, welche National-Pakete zurzeit installiert sind, hilft »apt-cache search kde-i18n«.

Abbildung 4: Verbannen Sie alle Spiele von der Knoppix-CD, die Sie nicht mögen, wie vielleicht Freeciv.

Natürlich lassen sich auch Pakete installieren, dazu gibt es den Befehl »apt-get -u install Paketname«. Wenn Sie alle Pakete nach Ihrer Größe sortiert angezeigt haben möchten, geben Sie diesen Befehl ein:

dpkg-query -W --showformat='${Installed-Size} ${Package}\n' | sort -n

Mit diesem Wissen und einigem Enthusiasmus ausgestattet können Sie nun richtig aufräumen und Ihr Knoppix paketweise individuell anpassen. Beenden Sie im Anschluss daran den Terminal-Modus und kehren zurück zur KDE-Oberfläche von Knoppix.

Ein erhöhtes Maß an offensichtlicher Eigenständigkeit verleihen Sie dem Ziel-Knoppix, indem Sie jetzt Menü-Einträge einfügen, entfernen, umgruppieren oder umbenennen. Auch dürfen Sie dem »K«-Startbutton ein Relaunch verpassen. Entspricht das Oberflächendesign irgendwann Ihrem Geschmack, fahren Sie den Computer herunter.

Komprimiertes Image anlegen

Jetzt booten Sie den Rechner von der Knoppix-CD (!) und machen die Laufwerke wie oben dargestellt beschreibbar. Dass das Ziel-Knoppix jetzt nicht mehr läuft, erlaubt weitere Aufräumarbeiten. Sie dürfen darum beispielsweise die Dateien ».bash_history«, alle »tmp«-Files und die Packages unter »/var/cache/apt /archives« löschen. Damit soll es für den ersten Versuch genug sein. Es ist an der Zeit, die CD zu mastern, um einen Erfolg in Händen zu halten. Spätere Läufe werden noch ausreichend Gelegenheit fürs Feintuning bieten.

Der erste Schritt komprimiert den Inhalt der Partition Hda2 und speichert ihn auf der ersten Partition in die Datei »KNOPPIX«. Dazu geben Sie im nun schon bekannten textbasierten Terminal

mkisofs -R -L /mnt/hda2 | create_compressed_fs - 65536 > /mnt/hda1/custom/KNOPPIX_CD/KNOPPIX/KNOPPIX

ein. Diese Datei wird Ihr angepasstes Knoppix als Root-Filesystem benutzen. Je nach Geschwindigkeit des Rechners und Umfang der von Ihnen gemachten Anpassungen ist ein Zeitbedarf von mehr als einer halben Stunde realistisch, bis die Datei geschrieben ist.

ISO-Image anlegen und CD brennen

Wechseln Sie mit »cd /mnt/hda1/custom« auf die erste Partition. Der Befehl

mkisofs -J -T -v -r -c KNOPPIX/boot.cat -b KNOPPIX/boot.img -o knoppix_custom.iso KNOPPIX_CD

erzeugt das ISO-Image. Das dauert nur ein paar Minuten. Es steht Ihnen natürlich frei, Mkisofs noch andere Optionen mit auf den Weg zu geben, beispielsweise um dem Medium ein Label zu verpassen und Autoreninformationen zu hinterlegen. Solche Dinge sind gut, wenn Sie CDs weitergeben wollen oder selber eine Mediendatenbank pflegen.

Die Datei »knoppix_custom.iso« steht jetzt im Verzeichnis »/mnt/hda1/custom« und ist bereit fürs Brennen auf CD. Sollte der CD-Brenner zugleich Ihr einziges Boot-Laufwerk sein, beißt sich an dieser Stelle die Katze in den eigenen Schwanz: Da das gerade laufende Betriebssystem auf seinem Boot/Root-Filesystem beharrt, steht der Brenner nicht zur Verfügung. Das ist aber nicht so wild - booten Sie in diesem Fall einfach das Knoppix-System von Hda2. Bei Bedarf müssen Sie die Partitionen wieder beschreibbar machen. (Für den folgenden Schritt, das Brennen, ist das aber nicht nötig.) Wechseln Sie auch wieder nach »/mnt/hda1/custom«.

Es ist empfehlenswert, anfänglich CD/ RW-Rohlinge zu benutzen. Sie sind erneut beschreibbar, wenn beim Zusammenstellen etwas schief geht. Legen Sie das Medium jetzt in den Brenner. Zum Brennen benutzen Sie entweder ein grafisches Brennprogramm wie K3b, das Knoppix mitbringt. (Es muss erst eingerichtet werden.) Oder Sie erledigen das auf der Kommandozeile mit »cdrecord -v dev=0,0 knoppix_custom.iso«.

Je nach Verkabelung muss »dev=« modifiziert werden. Eine gute Idee ist es auch, die Buffer-Underrun-Unterstützung des Brenners zu aktivieren. Sie können den Mkisofs- und den zweiten Cdrecord-Aufruf auch per Pipe kombinieren. Mit der fertig gebrannten CD/RW booten Sie den Rechner - und betrachten Ihr eigenes Knoppix. Geschafft!

Der eigene Bootscreen mit Gimp-Hilfe

Wer seine CD noch individueller gestalten will, ändert noch das Bild ab, das nach dem Starten der CD erscheint. Zur Vorbereitung starten Sie Knoppix entweder von CD (am besten das Original) oder von der zweiten Partition und machen beide Partitionen wie gehabt beschreibbar. Legen Sie jetzt zwei weitere Verzeichnisse auf Hda1 an:

mkdir /mnt/hda1/custom/bootscreen
mkdir /mnt/hda1/custom/bootscreen/entpackt
cd /mnt/hda1/custom/bootscreen

Kopieren in das erste Verzeichnis von beiden die Datei »boot.img« hinein; entweder von Hda1 mit

cp /mnt/hda1/custom/KNOPPIX_CD/KNOPPIX/boot.img .

oder von der Knoppix-CD mit:

cp /cdrom/KNOPPIX/boot.img .

Jetzt mounten Sie die Imagedatei - sie enthält unter anderem den Startscreen - als Loopback-Device, kopieren die relevante Datei heraus und wandeln sie um:

mount -o loop boot.img entpackt
cp entpackt/logo.16 .
lss16toppm <logo.16 >logo16.ppm

Mit Gimp lässt sich das Bild im PPM-Format laden und anpassen - tun Sie das jetzt (siehe Abbildung 5). Leider kann Gimp nicht wieder im PPM-Format speichern. Das Ergebnis Ihrer künstlerischen Ambition muss darum vorläufig als »logo16.bmp« den Weg ins aktuelle Verzeichnis finden. Beenden Sie Gimp und konvertieren die BMP-Datei mit zwei Befehlen ins passende Format:

bmptoppm <logo16.bmp >logo16.ppm
ppmtolss16 <logo16.ppm >logo.16

Folgender Befehl kopiert das Bild zurück in seine Imagedatei:

cp logo.16 entpackt

Wer möchte, kann gleich noch die Datei »boot.msg« aus dem Verzeichnis »entpackt« mit einem Editor seiner Wahl bearbeiten. Lassen Sie dabei die erste Zeile in »boot.msg« unangetastet!

Abbildung 5: Mit Gimp lässt sich der Bootscreen im PPM-Format laden und anpassen.

Nun hängen Sie die Imagedatei wieder aus und kopieren sie zurück in das fürs Brennen relevante Verzeichnis:

umount entpackt
cp boot.img /mnt/hda1/custom/KNOPPIX_CD/KNOPPIX

Fertig! Jetzt brauchen Sie nur wie im Abschnitt "ISO-Image anlegen und CD brennen" beschrieben zu verfahren. Das Anlegen eines neuen komprimierten Root-Filesystems ist nicht notwendig - schließlich betreffen die Änderungen nur den primären Bootvorgang.

Bootmessages ändern

Bootmessages sind die Textausgaben von Knoppix, wenn es von CD hochfährt. (Nicht zu verwechseln mit der »boot.msg«-Datei von eben!) Die Bootmessages der Standard-Knoppix-CD können Sie um eigene Texte bereichern oder die Farben der Ausgaben ändern. Funktionell gravierender: Sie dürfen auch den Ablauf des Bootvorgangs modifizieren, was beispielsweise für die Präsentation eigener Serversoftware sehr praktisch ist.

Wenn nicht im letzten oder vorletztem Schritt schon geschehen: Starten Sie Knoppix von CD oder Platte und machen die Partitionen fit zum Schreiben. In einer Shell gehen Sie zunächst sehr ähnlich zur Bootscreen-Anpassung vor:

mkdir /mnt/hda1/custom/messages
mkdir /mnt/hda1/custom/messages/entpackt
cd /mnt/hda1/custom/bootscreen
cp /mnt/hda1/custom/KNOPPIX_CD/KNOPPIX/boot.img .
mount -o loop boot.img entpackt

Nun steht im Verzeichnis »entpackt« die Datei »miniroot.gz« bereit:

cp entpackt/miniroot.gz /mnt/hda1/custom/messages
cd /mnt/hda1/custom/messages
gunzip miniroot.gz

Die erzeugte Datei »miniroot« mounten Sie mit:

mount -o loop miniroot entpackt

Die für die Knoppix-Bootmessages verantwortliche Ascii-Datei heißt »entpackt/linuxrc«, ab sofort dürfen Sie sie mit einem Editor bearbeiten und danach einfach abspeichern. Und so gelangt sie anschließend wieder zurück auf den CD-Master:

umount entpackt
gzip -9 miniroot
cp miniroot.gz /mnt/hda1/custom/bootscreen/entpackt
cd /mnt/hda1/custom/bootscreen
umount entpackt
cp boot.img /mnt/hda1/custom/KNOPPIX_CD/KNOPPIX

Wie inzwischen schon zweimal beschrieben, brauchen Sie dafür nur ein ISO-Image anzulegen und die CD zu brennen.

In doppelter Hinsicht eine Nummer kleiner: Sie können auch die »linuxrc« auf einer Knoppix-Bootfloppy nach eigenem Gusto abändern. Das hat für Systeme ohne CD-Laufwerk wie beispielsweise ältere Notebooks oder mit USB-Sticks durchaus seinen Charme. Sie gehen dafür analog zu dem eben gezeigten Verfahren vor, nur dass Sie die Datei »miniroot.gz« von der Knoppix-Bootfloppy holen und nach den Änderungen dorthin zurückspeichern. (jk)

Infos

[1] Knoppix: [http://www.knopper.net]

[2] Debian GNU/Linux: [http://www.debian.org]

[3] Aktuelle Knoppix/Debian-Doppel-DVD von LinuxUser: [http://www.linux-user.de/DVD/]

[4] Autor: [http://www.it-grundschutz-zertifikat.de]

[5] Bundesamt für Sicherheit in der Informationstechnik: [http://www.bsi.de]

[6] Produkte zum customisierten Knoppix: [http://www.sitelinux.de]

Der Autor

Rolf Wagner ist lizenzierter IT-Grundschutz- Auditor [4] des Bundesamtes für Sicherheit in der Informationstechnik [5].