Aktuelle Änderungen - Suchen:

FAQs

HowTo


Glossar

Links

edit SideBar

Tagcloud



Knoppix Remastern

Vor einigen Tagen habe ich mal eine Komplettanleitung für das Remastern zusammengeschrieben, mit dem
Hintergedanken, das so vollständig wie möglich zu machen, da man sich im Netz für sowas oft alles einzeln
zusammensuchen muss und manches dann auch nichtmehr aktuell ist.
Verbesserungsvorschläge sind natürlich erwünscht!

Die Anleitung faßt Fuß auf den Artikel "Slimming Champion" vom englischen Linux-Magazine
http://www.linux-magazine.com.
Allerdings stricke ich gerade zum Ende einiges um, da dies noch auf Knoppix 3.3 bezieht und das Rückschreiben
eines Images etwas verkompliziert wurde.

Teil 1

Zutaten für den Kochtopf

  • PC mit 1GB Ram, also 256 MB Ram and 750MB swapfile. Daher die Anforderung
  • Eine Festplatte mit mindestens 6 GB Speicher. Ich habe dafür eine ausrangierte 20GB IBM Disk hergenommen.
  • Einen Brenner und jede Menge Rohlinge zum Ausprobieren
  • Das aktuelle Knoppix von http://www.knopper.net

Initium

Ich empfehle, Euere Platten alle ab zu stecken und nur die spezielle Festplatte als erste Platte an zu schließen.
Partitioniert die Platte in drei Teile: Erste Partition so mindestens 3.5 GB, die zweite 2.5 GB und die
dritte 705 bis um die 1GB für die Swap-Partition. Es kann auch bei den ersten beiden Partitionen ruhig mehr sein,
wenn die Platte das her gibt.
Ich persönlich empfehle, das vielleicht mit einer SuSE-Linux DVD zu machen, also einen Installationsvorgang vor
zu bereiten und mit dem dortigen Tool die Platte zu partitionieren. Als Dateisystem nimmt man dann ext3.
Zur Not geht das auch unter Knoppix, nur nicht so schön aussehend.
Beim SuSE Linux lässt man dann einfach die Installation beginnen und bricht die gleich wieder ab, damit die neue
Partitionstabelle geschrieben wird.Nun bootet Eueren Rechner mit der Knoppix -CD. Man kann übrigens den
2.6.9er Kernel mit der Boot-Option knoppix26 anbooten, wenn es Schwierigkeiten mit dem 2.4er Kernel geben sollte.
Wir installieren nun das System auf die Festplatte. Hierzu macht eine shell auf und gebt su ein, damit Ihr
Root-Rechte bekommt. Danach dann knoppix-installer eingeben, um die Installation zu starten.
Mit Punkt 3 des Programmes könnt Ihr mit qtparted Euere Platte nun Partitioinieren, wenn Ihr nicht den Weg über
das SuSE-Linux gehen wollt/könnt. Nun wählt Punkt 1 um die Installation vor zu bereiten.
Wählt hier das Standard-Knoppix als Installation aus.Ihr installiert das alles dann auf die Platte /dev/hda2 .
Den Bootloader lasst ruhig in den MBR (Master Boot Record) schreiben. Da machen wir net lange rum.

Nochmal der Hinweis: NATÜRLICH NUR, WENN DIE PLATTE FÜR DIESE AKTION ALLEINE IM RECHNER HÄNGT !!!

Das dauert dann einige Zeit. Wenn fertig, Knoppix rebooten, CD aus'm Laufwerk nehmen und neu von der
Festplatte starten lassen.Sollte beim ersten Start das installierte Knoppix beim Hochfahren des KDE
eine Fehlermeldung bezüglich eines Zugriffsfehlers auf /tmp bringen, dann bitte mit STRG+ALT+F1 in eine andere
Konsole switchen und folgendes eingeben:

chmod -R 777 /var/tmp

Dann Knoppix neu starten. So kann dann hier in das temp-Verzeichnis wieder geschrieben werden.

Operation neues Knoppix

Jetzt müssen wir ein paar Dinge vorbereiten. Wir machen die Platten erstmal beschreibbar:
Dazu klickt auf die beiden Festplatten-Symbole auf'm KDE-Desktop. Dann jeweils bei beiden Platten einen Rechtsklick
auf die Symbole, auf Eigenschaften, Geräte und das Häkchen bei "nur lesen" entfernen. Dann einen nochmaligen
Rechtsklick auf das Symbol und im aupoppenden Menü auf den Aktionen-> "Lese/Schreibmodus wechseln" klicken.
Jetzt sind wir dann für den Eingriff vorbereitet.Jetzt eine Shell starten und mit su Rootrechte erlangen.
Dann wechseln wir auf die erste Partition mit einem lockeren cd /mnt/hda1

Dann legen wir zwei neue Verzeichnisse an:

 mkdir custom
 mkdir custom/KNOPPIX_CD

Jetzt müssen wir die Startdateien und die Verzeichnisstruktur umkopieren. Legt die Knoppix CD ein und gebt folgendes ein:

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

Nun bastelt an Euerem Knoppix was das Zeug hält. Debian Pakete können mit einem apt-get -u remove paketname deinstalliert und mit einem apt-get -u install paketname installiert werden. RPM Pakete werden mit einem alien -i rpmpaketname eingespielt.
Passt auch Eueren KDE-Desktop an, installiert zusätzliche Treiber oder modifiziert den Kernel. All gates are open now!
Jetzt klappert Euere temporären Verzeichnisse ab und leert diese. Ebenso Cookies und Internet-Verlaufsdateien löschen, wenn Ihr die CD eventuell mal weiter verteilen wollt. Auch kurz zum KDE-Desktop Hintergrundbild:
Bitte hierzu unter /mnt/hda1/custom/KNOPPIX_CD/KNOPPIX die Datei background.png mit gimp bearbeiten. Der KDE-Splash:
Die Files unter /mnt/hda2/usr/share/apps/ksplash/Themes/Default anpassen. Schöne Sachen dafür findet Ihr z.B. unter http://www.kde-look.org/
Wenn Ihr den KDE-Desktop nach Eueren Wünschen angepasst habt, muss noch folgendes erledigt werden: Meldet Euch in der Shell als Root an (su). Dann entfernt das etc/skel Verzeichnis mit

 rm -rf /etc/skel

Danach wird Euer Homeverzeichnis kopiert: cp -r /home/knoppix /etc/skel Jetzt muss noch das Zugriffsrecht geändert werden: chown -R root:root /etc/skel Als nächstes startet in der Shell den Midnight Commander mit mc Ihr sucht nach folgender Datei:

/etc/X11/Xsession.d/45xsession

Mit F4 den Edit-Modus aufrufen und die Zeile 128 suchen:

rsync -Ha --ignore-existing /etc/skel/{.kde*,Desktop} $HOME/ 2>/dev/null

Dort entfernt Ihr das {.kde*,Desktop}, damit die Zeile dann so aussieht:

rsync -Ha --ignore-existing /etc/skel/ $HOME/ 2>/dev/null

Dann mit F2 abspeichern und über F10 alles schließen.

Pack'mers wieder zam!

Wenn Ihr Euch ausgiebig verlustiert habt, dann müssen wir das Knoppix wieder entsprechend einpacken. STARTET JETZT VON DER KNOPPIX CD! Macht zuerst beide Partitionen der Platte wieder lesbar und wie oben beschrieben auch beschreibbar. Damit später beim Booten keine Fehler auftauchen, löscht als Root unter mnt/hda2/etc/sysconfig alle Scriptdateien raus. Es dürfen nur die beiden Verzeichnisse network-scripts provider stehen bleiben. Als Root ( su!) gebt Ihr dann in der Shell folgendes ein:

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

Das kann eine kleine Weile dauern, je nachdem wie viel PS Ihr unter der Haube habt.

Burn baby!

Wechselt als Root nach /hda1/custom

 cd /mnt/hda1/custom

und gebt folgendes ein:

mkisofs -J -T -v -r -no-emul-boot -boot-load-size 4 -boot-info-table -c boot/isolinux/boot.cat -b boot/isolinux/isolinux.bin -o knoppix_custom.iso KNOPPIX_CD

In diesem String unterscheiden sich viele Remastering-Anleitungen. Nachdem ich ein paar Dokumentationen gewälzt habe, bin ich mit obiger Version sicher zum Ziel gekommen. Das geht relativ flott. Nun findet Ihr das Iso-File unter /mnt/hda1/custom
Dieses brennt nun mit k3b z.B. zurück auf CD. Sollte die Datei für eine CD zu groß sein, kann diese auch auf eine DVD gebrannt werden. Auch dies funktioniert ohne Probleme. Wenn Ihr Euer Knoppix vom Brenner-Laufwerk gestartet habt und dieses somit durch die gestartete CD belegt ist, weil Ihr nur dieses eine Laufwerk eingebaut habt, dann ist das auch kein Problem. Bootet einfach Euer installiertes Knoppix von Festplatte und brennt das ISO-File dann so um.

Jetzt startet Euer Knoppix- Linux und prüft nach, ob soweit alles funktionsfähig ist.

Teil 2

Kernel Update und auf CD einpassen

Zuerst müssen wir die aktuellen Kernel-Sourcen downloaden. Dazu als Root in der Konsole folgendes eingeben:

 apt-get install kernel-sources-2.6.x

Für das "x" setzt Ihr natürlich die gewünschte Versionsnummer. Ihr seid Euch nicht sicher, welcher da installiert werden soll? Dann gebt nur

 apt-get install kernel-sources

ein und es werden sämtlich zur Verfügung stehende Versionen angezeigt. Ich gehe in meiner Anleitung vom Kernel 2.6.10 aus.

Nun wechselt als root in das Verzeichnis /usr/src Danach entpacken wir das bz2- File mit einem

 tar xvfj kernel-source-2.6.10.tar.bz2

Jetzt lösen wir das alte Kernel-Quellverzeichnis auf:

 rm -rf /usr/src/linux

Wir befinden uns weiterhin im Verzeichnis /usr/src Hier setzen wir einen neuen Link auf die Kernel-Quellen:

 ln -s kernel-source-2.6.10 linux

Ebenso müssen wir einen weiteren fehlenden Link anlegen:

 ln -sf /usr/src/linux/include/asm-i386 /usr/include/asm

Nun wechseln wir in das Verzeichnis /usr/src/linux und konfigurieren den Kernel mit einem

make oldconfig

Hierbei werden neu hinzukommende Module abgefragt und die alte Konfiguration übernommen. Hinweis: Da der Kernel so modular wie möglich sein sollte, gebt bitte bei den neuen Modulen, bei denen ein modulares Laden möglich ist, auch als Auswahl das "m" an. In der Regel wird ein Y,M und N abgefragt. Wenn also ein M für Modul möglich ist, dann ist dies zu bevorzugen. Ansonsten übernehmt einfach die voreingestellten Werte. Zudem solltet Ihr auch einmal

 make menuconfig

starten um nachzuprüfen, ob unter Device Drivers -> Block Devices der "Low Performance USB Block Driver" als Modul angewählt ist. Den benötigen wir später für unsere Ramdisk zum Booten.

Jetzt können wir den Kernel mit einem

 make-kpkg kernel_image --revision KernelRebuild.01

übersetzen. Wobei der Zusatz "KernelRebuild.01" frei wählbar ist und für Euch den Überblick über die einzelnen Versionen erleichtern soll.

Nun könnt Ihr Euch erstmal zurücklehnen, denn der Kompile dauert seine Zeit. Danach wechselt in das Verzeichnis /usr/src und installiert das dann mit

 dpkg -i kernel-image-2.6.10_KernelRebuild.01_i386.deb

Als nächstes müssen wir dann noch eine neue Ramdisk erstellen. Als Root:

 mkinitrd -o /boot/initrd.img-2.6.10 2.6.10

In der Datei /etc/lilo.conf muss der Bootloader angepasst werden. Ergänzt nach den einzelnen Bootversionen folgenden Absatz:

image=/boot/vmlinuz-2.6.10 label="Linux(2.6-10)" initrd=/boot/initrd.img-2.6.10 append="ramdisk_size=100000 init=/etc/init lang=de apm=power-off nomce" read-only

Dann als Root

lilo

eingeben und Rechner neu starten. Die Maschine sollte nun sauber starten.

Wir wollen es winzig!

Als folgendes installieren wir das cloop- Module neu. Hierzu muss dieses neu gegen den Kernel 2.6.10 kompiliert werden.

Als Root geben wir folgendes in der Konsole ein:

 apt-get install cloop-src

Danach in /usr/src wechseln. Hier dann das frisch heruntergeladene Paket auspacken:

 tar zxvf cloop.tar.gz

Danach wechseln wir weiter in das Kernel-Quellen-Verzeichnis /usr/src/linux .Mit einem

make-kpkg modules_image

wird das Modul dann übersetzt. Mit einem

 ls -ltra ..

seht ihr das darüber liegende Verzeichnis und könnt den Namen des zusamengebauten cloop-Paket sehen. Gebt dann zum Installieren folgendes ein (ACHTUNG! Euer Kernelmodul kann Durchaus anders heißen!):

dpkg -i ../cloop-module-2.6.10_2.01.5-2+KernelRebuild.01_i386.deb

Prüft nun nochmal nach, ob unter dem Verzeichnis /lib/modules/2.6.10/kernel/drivers/block das Modul cloop.ko befindet. Falls ja, dann ist soweit alles vorbereitet. Nun sichern wir folgendes in ein Sicherungsverzeichnis der ersten Partition (/mnt/hda1):

aus /boot: config-2.6.10 initrd.img-2.6.10 System.map-2.6.10 vmlinuz-2.6.10

aus /etc: lilo.conf

Das komplette Verzeichnis: /lib/modules/2.6.10

Das komplette Verzeichnis: /usr/src/kernel-source-2.6.10 Dort löscht Ihr dann wieder alle Ordner, bis auf das include- Verzeichnis und alle Scriptdateien direkt im Hauptverzeichnis der Kernelquellen.

Jetzt wird aufgeräumt!

Startet von Euerer letzten Knoppix Version, bevor Ihr den Kernel installiert habt. Installiert diese Version einfach wieder mit dem "knoppix-installer" neu. Dann startet Ihr das System neu und wir werden das System einwenig aufräumen. Löscht aus dem /boot- Verzeichnis, dem /lib/modules Verzeichnis alle Kerneldateien und Modulverzeichnisse, die Ihr nicht mehr benötigt. Ich schlage vor, den bereits mitgelieferten 2.4er und den neuen 2.6er Kernel zu behalten. Dann kopiert Ihr Euere Kernel 2.6.10er Sicherung an die entsprechenden Stellen wieder zurück. Die Kernelquellen werden mit einem

 ln -s /usr/src/kernel-source-2.6.10 linux

neu verlinkt. Im /boot Verzeichnis räumen wir auch auf und löschen folgende Dateien mit:

 rm vmlinuz
 rm System.map
 rm initrd.img

und legen neu dann folgende an:

 ln -s vmlinuz-2.6.10 vmlinuz
 ln -s System.map-2.6.10 System.map
 ln -s initrd.img-2.6.10 initrd.img

Dann muss noch die /etc/lilo.config neu an Euere übrig gebliebenen Kernel angepasst werden. Die sieht dann im Mittelbau so aus:

image=/boot/vmlinuz-2.4.27

label="Linux2.4.27"

initrd=/boot/initrd.img-2.4.27

append="ramdisk_size=100000 init=/etc/init lang=de apm=power-off nomce"

read-only

image=/boot/vmlinuz-2.6.10

label="Linux2.6.10"

initrd=/boot/initrd.img-2.6.10

append="ramdisk_size=100000 init=/etc/init lang=de apm=power-off nomce"

read-only

Der Rest bleibt innerhalb dieser Datei dann gleich. Wenn diese gespeichert ist, muss noch als Root in der Konsole der

lilo

ausgeführt werden.Danach startet Euer System wieder neu um zu testen, ob alles soweit ordentlich gestartet werden kann. Wenn dies dann der Fall ist, werden nun das Bootimage erstellen. Startet dazu den Rechner wieder von einer Knoppix-CD aus. Sichert nun das Verzeichnis

 /mnt/hda1/custom/KNOPPIX_CD/boot/isolinux
 und löscht die Datei linux26 . Dann kopiert Ihr die Datei /mnt/hda2/boot/vmlinuz-2.6.10 nach linux26

. Das ist dann Euer neuer Bootkernel.

Das Mini-Linux

Nun legt Ihr in dem Verzeichnis einen neuen Ornder an, den Ihr einfach nur "26" nennt. Dann packen wir das Boot-Image aus:

 gunzip minirt26.gz

Danach mounten wir diese Datei auf das Verzeichnis 26:

 mount -o loop minirt26 26

Jetzt können wir den Ordner 26 aufmachen und sehen die geladene Datenstruktur des Boot-Files. In der linuxrc können dann entsprechende Startparameter eingestellt werden. Editiert diese aber bitte nur mit dem Midnight Commander (mcedit) !!! Denn wenn Ihr z.B. den Kwrite verwendet, gehen dabei einige Formatierungen verloren, die diese Datei nicht mehr lesbar machen!

Wenn Ihr nun das Verzeichnis /modules anklickt, seht Ihr hier bereits eine Datei cloop.o . Dieses Modul ersetzt Ihr aus Euerem 2.6.10er Moduleverzeichnis mit der frisch übersetzten cloop.ko . Ihr müsst dabei die Endung *.ko immer in *.o umbenennen. Ein Verzeichnis weiter unten ( /scsi ) beinhaltet dann die restlichen Module, die Ihr für den Start benötigt. Auch hier sucht Ihr die neuen Module des 2.6.10er Kernels zusammen. Auch hier müsst Ihr die Endungen von *.ko auf *.o umbenennen. Wenn Ihr damit fertig seid (prüft bitte hier gewissenhaft nach, dass Ihr nichts vergessen habt) verlasst das "26"-Verzeichnis wieder und unmountet dieses mit

 umount 26

Dann packt Ihr die Datei wieder ein:

 gzip -9 minirt26

Jetzt löscht das Verzeichnis "26" einfach wieder raus und passt gegebenenfalls die isolinux.cfg soweit an, dass Euer neuer Kernel 2.6.10 als Default-kernel gestartet wird.

Alles neu macht der Mai!

Zusätzlich kann man Bootscreen auch sehr leicht ändern, um seinen Remaster ein etwas individuelleres Erscheinungsbild zu verpassen. Unter /mnt/hda1/custom/KNOPPIX_CD/boot/isolinux findet Ihr hierzu alles notwendige. In der Datei boot.msg könnt Ihr Euere eigene Boot-Message festlegen. Das ist der Satz, der unten im Bootscreen erscheint. Die Datei logo.16 ist dann das Bild, das hinterlegt wird. Dies muss zur Bearbeitung erstmal in ein lesbares Format gebracht werden.

Das geht mit dem Befehl

 lss16toppm <logo.16 >logo16.ppm

Dann könnt Ihr diese Datei im Gimp laden und bearbeiten. Leider speichert der Gimp nicht in das ppm-Format zurück. Also müsst Ihr das fertige Bild als bmp-Datei (hier z.B. logo16.bmp) abspeichern.

Diese wandeln wir dann locker mit dem Befehl

 bmptoppm <logo16.bmp >logo16.ppm

in das ppm zurück. Das dann noch schnell mit

 ppmtolss16 <logo16.ppm >logo.16

in das korrekte Format zurück gewandelt. Dieses Boot-Logo darf maximal nur 16 Farben haben! Wenn Ihr eine Fehlermeldung beim Konvertieren ignoriert, dann wird das Logo auch nur schwarz dargestellt. Also am Besten in einem Grafikprogramm entsprechend auf die 16 Farben abändern.

Jetzt seid Ihr soweit, Euere Knoppix- Remaster CD wie bereits beschrieben mit neuen Kernel zu erstellen.

VIEL SPASS!


Tags





Bearbeiten - Versionen - Druckansicht - Aktuelle Änderungen - Suchen
Zuletzt geändert am 05.09.2008 12:15 Uhr