Knoppix Remastering Howto Deutsch


From Knoppix Documentation Wiki
Revision as of 13:20, 12 January 2008 by 87.171.126.25 (Talk)

Jump to: navigation, search

Dies ist ein Leitfaden wie man KNOPPIX remastert. (Hinweis: Jeder Befehl erstreckt sich nur über eine Zeile, Zeilenumbrüche sind mit ┐ gekennzeichnet. Wenn du irgendwelche Kommentare oder Vorschläge hast, schreibe sie bitte am Ende dieser Seite rein.)

Natürlich ist es viel weniger Arbeit (kein Entfernen von Programmen), wenn man bereits mit einem "customized" Knoppix beginnt. Siehe Knoppix Customizations oder Knoppix CustomizationsDeutsch.

Voraussetzungen:

  • CD-ISO
    • insgesamt mindestens 1 Gigabyte freien RAM+Swap (z. B. 256 Megabyte RAM und 750 Megabyte Swap-Bereich VERFÜGBAR)

(außer du benutzt andere Kompressions-Werkzeuge - siehe Ende der Seite)

    • 3 Gigabyte freien Speicher auf der Festplatte
  • DVD-ISO
  •  ???

Anleitung

Diese Anleitung ist zumindest gültig für Knoppix 3.9 / 5.1.1.

Umgebung für das Remastering einrichten

  1. Booten von der Knoppix-CD
  2. Öffne eine Root Shell:
    • Menü: KDE-Menü->Knoppix->Root Shell
    • Hinweis: Alle weiter unten stehenden Befehle sollten von der Root-Shell aufgerufen werden.
  3. Konfigurieren deiner Internet-Verbindung (die brauchen wir später noch). Wenn du DHCP benutzt sollte sie bereits eingerichtet sein.
    • Hinweis: Rufe ifconfig auf um dies zu überprüfen.
  4. Suche dir eine Partition auf der du arbeiten willst.
  5. Mounte die Partiton:
    • mount -rw /dev/hda1 /mnt/hda1
    • Hinweis: Du must sicherstellen, dass die Partition schreib- und lesbar gemountet ist, ansonsten wird es später zu Fehlern kommen. Um dies zu überprüfen rufe mount auf.
  6. Erzeuge 2 Verzeichnisse auf Partition, eines für deine neue Master-CD und eines für die Sourcen und erzeuge in jedem ein Unterverzeichnis KNOPPIX:
    • mkdir /mnt/hda4/knxmaster
    • mkdir /mnt/hda4/knxsource
    • mkdir /mnt/hda4/knxmaster/KNOPPIX
    • mkdir /mnt/hda4/knxsource/KNOPPIX
  7. Kopiere die KNOPPIX-Dateien in dein Source-Verzeichnis:
    • cp -rp /KNOPPIX/* /mnt/hda4/knxsource/KNOPPIX
    • Hinweis: Das wird jetzt ein wenig dauern :)
  8. Kopiere alle Dateien der Live-CD, die auch in der remasterten Live-CD enthalten sein sollen in dein Master-Verzeichnis, außer die etwa 700 MB große KNOPPIX-Datei, beispielsweise:
    • cp /cdrom/index.html /mnt/hda4/knxmaster/
    • cp -p /cdrom/cdrom.ico /cdrom/autorun.* /mnt/hda4/knxmaster/
    • cp -rp /cdrom/boot/ /mnt/hda4/knxmaster/
    • < 3.4:
      • cd /cdrom/KNOPPIX && find . -size -10000k -type f -exec cp -p --parents '{}' /mnt/hda1/knx/master/KNOPPIX/ \;
    • >= 3.4 (isolinux):
      • cd /cdrom && find . -size -10000k -type f -exec cp -p --parents '{}' /mnt/hda1/knx/master/ \;
  9. Jetzt kannst du das kopierte KNOPPIX-Verzeichnis zum Wurzelverzeichnis machen:
    • chroot /mnt/hda4/knxsource/KNOPPIX

Neu - Ich habe eine ganze Ladung an /dev/null permission denied Fehlermeldungen bekommen. Update: Gefixt! Überprüfe deinen Mountstatus, wenn du auf dieses Problem stößt: mount /dev/hdaX on /mnt/hdaX type ext3 (rw,nosuid,nodev) (ersetze das X mit deiner Partitionsnummer). "Nodev" heißt, dass z. B. /dev/null nicht erreichbar ist und manche Skripte leiten aber die Ausgabe nach /dev/null um. Um dieses Problem zu umgehen, sollte man die Partition anders mounten, bevor man chroot ausführt:

mount /dev/hda12 /mnt/hda12

Und das hat sich geändert:

mount /dev/hda12 on /mnt/hda12 type ext3 (rw)

Wenn der obige Befehl nicht geht probiere:

mount -t ext3 -o rw /dev/hda12 /mnt/hda12

danach kann man mit chroot weitermachen.

Arbeiten in der neuen Root Umgebung

  • chroot ist jetzt ausgeführt und das Verzeichnis "/" enspricht jetzt "/mnt/hda4/knxsource/KNOPPIX"
  • Um ins Internet zu kommen, muß man noch proc mounten: mount -t proc /proc proc
  • jetzt editiert man /etc/resolv.conf und trägt seinen Nameserver ein
  • Wenn man smbd-Unterstützung haben will, sollte man auch die Arbeitsgruppe in der Datei smb.conf editieren: (MSHOME unter XP Home und WORKGROUP unter Windows 9x bzw. MSHEIMNETZ und ARBEITSGRUPPE in den deutschen Windows-Versionen)
  • überprüfe, ob die Internet-Verbindung funktioniert: ping google.com
  • Und jetzt kann man endlich Änderungen durchführen. Wenn man Programme hinzufügen will, dann muß man eventuell andere entfernen, um Platz zu machen. Mit apt-get remove "program" kann man das Programm entfernen.
  • Änderungen durchführen... Benutzereinstellungen sind in /etc/skel, ggf. muss man auch noch in /etc/X11/Xsession.d/45xsession das rsync-Kommando anpassen (der Punkt ist, dass der Default-User 'knoppix' nicht per adduser(1) angelegt wird und so einfach eine Kopie von /etc/skel bekommt, sondern in 45xsession explizit nur ein Ausschnitt von /etc/skel nach /home/knoppix kopiert wird.)
  • ...

Notizen

Interessantes aus der /etc/init.d/knoppix-autoconfig Datei: Das X-Hintergrundbild ist /cdrom/KNOPPIX/background.jpg. Außerdem ist knoppix-autoconfig die Stelle, wo man neue Defaults für z. B. den Desktop oder die Sprache eintragen kann. Um etwa statt KDE twm zu starten, suche man in dieser Datei nach der Stelle, wo die Variable DESKTOP (IIRC) den Default-Wert "kde" bekommt und trage stattdessen "twm" ein. Genauso wie floppyconfig gibt es auch ein cdromconfig, welches die Datei /cdrom/KNOPPIX/knoppix.sh ausführt (siehe Cheat CodesDeutsch) Interessantes aus der Datei /etc/init.d/xsession: Auch hier ist ein Hintergrundbild eingetragen: /usr/local/lib/knoppix.jpg

Verlassen der neuen Root Umgebung

Sofern du es gemountet hast, musst du /proc wieder unmounten - sehr wichtig!

  • umount /proc

Drücke CTRL+D um die chroot-Umgebung zu verlassen.

Erzeugen des ISO

  • Wir sind fertig mit den Änderungen und bereit zum Brennen!
  • Als erstes sollte man etwas aufräumen: lösche .bash_history, Dateien in /tmp, Pakete unter /var/cache/apt/archives etc.
  • rm -rf /mnt/hda4/knxsource/KNOPPIX/.rr_moved

Komprimiertes KNOPPIX-Image

Jetzt erzeugt man eine große KNOPPIX-Datei mit einem komprimierten cloop-ISO9660-Dateisystem drinnen:

mkisofs -R -U -V "KNOPPIX.net filesystem" --publisher "KNOPPIX www.knoppix.net" -hide-rr-moved -cache-inodes -no-bak -pad ┐
/mnt/hda4/knxsource/KNOPPIX | nice -5 /usr/bin/create_compressed_fs - 65536 > /mnt/hda4/knxmaster/KNOPPIX/KNOPPIX</pre>

Das "www.knoppix.net" und "Knoppix.net filesystem" kann man natürlich ändern. Jetzt sollte eine Meldung erscheinen, dass es nicht den ISO-Standards entspricht. Diese Meldung kann man irgnorieren

Hinweis: Das obiges Kommando funktionierte bei mir nicht mit dem neuseten create_compressed_fs. Ich konnte das ISO zwar erstellen, aber das komprimierte KNOPPIX-Image konnte beim Booten nicht richtig gelesen werden (I/O errors beim lesen vom cloop0 device). Vermutlich hatte create_compressed_fs nicht genug RAM schlug fehl ohne Fehlermeldungen zu erzeugen. Das nachfolgende Kommando benutzt eine Datei anstelle des RAM für temopräre Daten und funktionierte.

mkisofs -R -U -V "KNOPPIX.net filesystem" -publisher "KNOPPIX www.knoppix.net" -hide-rr-moved -cache-inodes -no-bak -pad ┐
/mnt/hda1/knx/source/KNOPPIX | nice -5 /usr/bin/create_compressed_fs -B 65536 -f /mnt/hda1/isotemp - ┐
/mnt/hda1/knx/master/KNOPPIX/KNOPPIX</pre>

Live-CD ISO

Wenn alles glatt verlaufen ist dann können wir mit dem engültigen CD-ROM-Image weitermachen.

  1. Aktualisieren der md5-Hashes um später die Integrität des Images prüfen zu können:
    • cd /mnt/hda4/knxmaster
    • rm -f KNOPPIX/md5sums; find -type f -not -name md5sums -not -name boot.cat -exec md5sum {} \; >> KNOPPIX/md5sums
  2. Das ISO erstellen:
    • für Knoppix < 3.4:
      • mkisofs -pad -l -r -J -v -V "KNOPPIX" --publisher "KNOPPIX www.knoppix.net" -b KNOPPIX/boot.img ┐
         -c KNOPPIX/boot.cat -hide-rr-moved -o /mnt/hda/remastered.iso /mnt/hda4/knxmaster'''
    • für Knoppix >= 3.4 (isolinux):
      • mkisofs -pad -l -r -J -v -V "KNOPPIX" --publisher "KNOPPIX www.knoppix.net" -b boot/isolinux/isolinux.bin -no-emul-boot ┐
        -boot-load-size 4 -boot-info-table -c KNOPPIX/boot.cat -hide-rr-moved -o /mnt/hda/remasterd.iso /mnt/hda4/knxmaster
    • Hinweis: Das ISO wird unter /mnt/hda1/knx/knoppix.iso gespeichert

Fertig :)