Difference between revisions of "Knoppix Remastering Howto Deutsch"


From Knoppix Documentation Wiki
Jump to: navigation, search
m (Internetverbindung: - usage of WLAN)
Line 1: Line 1:
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.)
+
Dies ist ein Leitfaden wie man KNOPPIX remastert. Für diesen Leitfaden wurden seinerzeit Teile der englischen Version von [[Knoppix_Remastering_Howto]] übersetzt. Die angegebenen Befehle sind jetzt für die aktuelle Knoppix-Version angepaßt und mit der CD-Version 6.4.4 getestet worden.
 
+
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: =
 
= Voraussetzungen: =
 
* CD-ISO
 
* CD-ISO
** insgesamt mindestens 1 Gigabyte freien RAM+Swap (z.B. 256 Megabyte RAM und 750 Megabyte Swap-Bereich verfügbar)
+
** mindestens 500 MB RAM (swapfile von 500 MB wird erstellt)
** 3 GB freien Speicherplatz auf einer LINUX-kompatiblen Partition (ext2/3, etc.)
+
** 5 GB freien Speicherplatz auf einer LINUX-kompatiblen Partition (getestet mit reiserfs-formattierter Partition)
* DVD-ISO
+
* DVD-ISO (Die Angaben für eine DVD sind aus dem alten HowTo beibehalten aber nicht überprüft worden)
 
** insgesamt mindestens 5 Gigabyte freien RAM+Swap (z.B. 3 Gigabyte RAM und 2 Gigabyte Swap-Bereich verfügbar)
 
** insgesamt mindestens 5 Gigabyte freien RAM+Swap (z.B. 3 Gigabyte RAM und 2 Gigabyte Swap-Bereich verfügbar)
 
** 15 GB freien Speicherplatz auf einer LINUX-kompatiblen Partition (ext2/3, etc.)
 
** 15 GB freien Speicherplatz auf einer LINUX-kompatiblen Partition (ext2/3, etc.)
 
 
= Anleitung =
 
= Anleitung =
Diese Anleitung soll die grundsätzliche Vorgehensweise beim Erstellen einer eigenen KNOPPIX Live CD bzw. DVD darstellen. Die erläuterten Befehle und Hinweise wurden für die Version 5 getestet, sollten aber im Allgemeinen kompatibel zu den Versionen > 3.4 sein.
+
Diese Anleitung soll die grundsätzliche Vorgehensweise beim Erstellen einer eigenen KNOPPIX Live CD bzw. DVD darstellen. Wenn du irgendwelche Kommentare oder Vorschläge hast, schreibe sie bitte am Ende dieser Seite rein.)
 
+
 
== Umgebung für das Remastering einrichten ==
 
== Umgebung für das Remastering einrichten ==
# Booten von der ''Knoppix-CD''
+
* Booten von der ''Knoppix-CD''
# Öffne eine Root Shell:
+
* Öffne eine Root Shell:
#* Menü: KDE-Menü->Knoppix->Root Shell
+
** Menü: LXDE-Menü->Einstellungen->Root Shell
#* Hinweis: Alle weiter unten stehenden Befehle sollten von der Root-Shell aufgerufen werden.
+
** Hinweis: Alle weiter unten stehenden Befehle sollten von der Root-Shell aufgerufen werden.
# Konfiguration der Internet-Verbindung. Wenn DHCP genutzt wird, sollte dies bereits eingerichtet sein.
+
* Konfiguration der Internet-Verbindung. Wenn DHCP genutzt wird, sollte dies bereits eingerichtet sein.
#* Hinweis: Rufe '''ifconfig''' auf um dies zu überprüfen.
+
** Hinweis: Rufe '''ifconfig''' auf um dies zu überprüfen.
# Auswahl einer Partition. Im Folgenden wird sie hier '''hda1''' genannt.  
+
* Auswahl einer Partition. Im Folgenden wird sie hier '''sda1''' genannt.
#* Hinweis: '''df -h''' zeigt den freien Speicherplatz an, wenn die Partition eingebunden ist.
+
** Hinweis: '''df -h''' zeigt den freien Speicherplatz an, wenn die Partition eingebunden ist.
# Mounten der Partiton:
+
* Mounten der Partiton.
#* <pre>mount -rw /dev/hda1 /mnt/hda1</pre>
+
** Hinweis: Es sollte sichergestellt sein, daß die Partition schreib- und lesbar gemountet ist, ansonsten wird es später zu Fehlern kommen. Darum bitte mit '''mount''' überprüfen.
#* Hinweis: Es sollte sichergestellt sein, dass die Partition schreib- und lesbar gemountet ist, ansonsten wird es später zu Fehlern kommen. Darum bitte mit '''mount''' überprüfen.
+
  mount -rw /dev/sda1 /mnt/sda1
# Nun wird ein root-Verzeichnis erstellt, das als Arbeitsordner dient. Wenn alle Dateien hier landen, kann leichter wieder aufgeräumt werden.
+
* Es wird ein Verzeichnis '''/knx''' verwendet, das als Arbeitsordner dient. Wenn alle Dateien hier landen, kann leichter wieder aufgeräumt werden. In diesem Verzeichnis werden zwei Unterverzeichnisse benötigt; eines ist für die neue Master-CD.
#* <pre>mkdir /mnt/hda1/knx</pre>
+
  mkdir -p /mnt/sda1/knx/master
# Falls der physikalische Speicher nicht ausreicht (  '''egrep "(MemTotal|SwapTotal)" /proc/meminfo && echo "(physical+swap)"''' ) wird ein SWAP-Bereich benötigt:
+
* Anlegen eines SWAP-Bereiches:
#* <pre>cd /mnt/hda1/knx</pre>
+
  cd /mnt/sda1/knx
#* <pre>dd if=/dev/zero of=swapfile bs=1M count=750  # Erzeugt 750 MB SWAP</pre>
+
  dd if=/dev/zero of=swapfile bs=1M count=500
#* <pre>mkswap swapfile</pre>
+
  mkswap swapfile ; swapon swapfile
#* <pre>swapon swapfile</pre>
+
* Ein weiteres Unterverzeichnis ist für die Source.
# Es werden 2 Verzeichnisse auf der Partition erzeugt. Eines für die neue Master-CD und eines für die Source. Weiterhin gehört jeweils ein  Unterverzeichnis ''KNOPPIX'' hinein:
+
  mkdir -p /mnt/sda1/knx/source/KNOPPIX
#* <pre>mkdir -p /mnt/hda1/knx/master/KNOPPIX</pre>
+
* Kopiere die KNOPPIX-Dateien in dein Source-Verzeichnis.
#* <pre>mkdir -p /mnt/hda1/knx/source/KNOPPIX</pre>
+
** Hinweis: Das wird jetzt ein wenig dauern, da die Daten auf der CD im gepackten Zustand vorliegen und ungefähr 2,4 Gigabyte kopiert werden müssen.
# Kopiere die KNOPPIX-Dateien in dein Source-Verzeichnis:
+
  cp -rp /KNOPPIX/* /mnt/sda1/knx/source/KNOPPIX
#* <pre>cp -rp /KNOPPIX/* /mnt/hda1/knx/source/KNOPPIX</pre>
+
* Als Nächstes werden die Dateien für die spätere Erstellung der ISO kopiert.
#* Hinweis: Das wird jetzt ein wenig dauern, da die Daten auf der CD im gepackten Zustand vorliegen und in etwa 2,2 Gigabyte kopiert werden müssen.
+
  rsync -aH --exclude="KNOPPIX/KNOPPIX" /mnt-system/* /mnt/sda1/knx/master
# Als Nächstes werden die Dateien für die spätere Erstellung der ISO kopiert
+
* Die Umgebungsvariablen für chroot setzen:
## Das Boot-Verzeichnis
+
  mount --bind /dev /mnt/sda1/knx/source/KNOPPIX/dev
#* <pre><nowiki>cp -ar /cdrom/boot /mnt/hda1/knx/master/boot</nowiki></pre>
+
  mount -t proc proc /mnt/sda1/knx/source/KNOPPIX/proc
## Für Knoppix ab Version 5.0.1 ist auch der Modules-Ordner erforderlich.
+
  mount -t sysfs sysfs /mnt/sda1/knx/source/KNOPPIX/sys
#* <pre><nowiki>cp -ar /cdrom/KNOPPIX/modules /mnt/hda1/knx/master/KNOPPIX/.</nowiki></pre>
+
# Kopieren aller Dateien der Live-CD, die auch in der remasterten Live-CD enthalten sein sollen, in das Master-Verzeichnis '''außer''' der etwa 700 MB große KNOPPIX-Datei.
+
#* < 3.4:
+
#** <pre><nowiki>cd /cdrom/KNOPPIX && find . -size -10000k -type f -exec cp -p --parents '{}' /mnt/hda1/knx/master/KNOPPIX/ \;</nowiki></pre>
+
#* >= 3.4 (isolinux):
+
#** <pre><nowiki>cd /cdrom && find . -size -10000k -type f -exec cp -p --parents '{}' /mnt/hda1/knx/master/ \;</nowiki></pre>
+
#* Für die DVD-Version muss die Größe auf -15000k gesetzt werden. Außerdem ist das Verzeichnis KNOPPIX2 zu kopieren:
+
#** <pre><nowiki>cd /cdrom && find . -size -15000k -type f -exec cp -p --parents '{}' /mnt/hda1/knx/master/ \;</nowiki></pre>
+
#** <pre>cp -ar /KNOPPIX2/* /mnt/hda1/knx/source/KNOPPIX</pre>
+
# Die Umgebungsvariablen für chroot setzen:
+
#* <pre>mount --bind /dev /mnt/hda1/knx/source/KNOPPIX/dev</pre> (s. Kommentar am Ende der Seite)
+
#* <pre>mount --bind /proc /mnt/hda1/knx/source/KNOPPIX/proc</pre>
+
#* <pre>mount --bind /sys /mnt/hda1/knx/source/KNOPPIX/sys</pre>
+
# Jetzt kann das kopierte KNOPPIX-Verzeichnis zum Wurzelverzeichnis gemacht werden:
+
#* <pre>chroot /mnt/hda1/knx/source/KNOPPIX</pre>
+
 
+
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.&nbsp;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
+
Bitte mit
+
mount /dev/hdXX -o remount,rw,suid,dev
+
alles richtig mounten, damit chroot funzt.
+
 
+
 
+
danach kann man mit chroot weitermachen.
+
 
+
== Arbeiten in der neuen Root Umgebung ==
+
 
+
* chroot ist jetzt ausgeführt und das Verzeichnis "/" enspricht jetzt "/mnt/hda1/knx/source/KNOPPIX"
+
* Beachte, dass ALLE folgenden Änderungen auf die CD / DVD gebrannt werden!
+
 
+
=== Internetverbindung ===
+
 
* Für den Internetzugriff kann entweder die resolv.conf editiert werden, um den Nameserver einzutragen, oder die Originaldatei wird von ausserhalb der CHROOT-Umgebung kopiert.
 
* Für den Internetzugriff kann entweder die resolv.conf editiert werden, um den Nameserver einzutragen, oder die Originaldatei wird von ausserhalb der CHROOT-Umgebung kopiert.
** <pre>cp /etc/dhcpc/resolv.conf /mnt/hda1/knx/source/KNOPPIX/etc/dhcpc/resolv.conf</pre>
+
  rm -f /mnt/sda1/knx/source/KNOPPIX/etc/resolv.conf
 +
  cp /etc/resolv.conf /mnt/sda1/knx/source/KNOPPIX/etc/resolv.conf
 
* Für den Internetzugriff mittels WLAN kann die Client-Konfiguration in der chroot-Umgebung aufgerufen werden:
 
* Für den Internetzugriff mittels WLAN kann die Client-Konfiguration in der chroot-Umgebung aufgerufen werden:
** <pre>dhclient3</pre>
+
  dhclient3
* Wenn auf das Internet nur über einen Proxy-Server zugegriffen werden kann, muss das System für die Verwendung des Proxy-Servers eingerichtet werden. Das ist aber recht einfach. Ihr müsst dazu lediglich eine Umgebungsvariable mit den Informationen über den Proxy-Server setzen. Hinweis: Diese Einstellung geht bei jedem Neustart wieder verloren.
+
* Wenn auf das Internet nur über einen Proxy-Server zugegriffen werden kann, muss das System für die Verwendung des Proxy-Servers eingerichtet werden. Es muß dazu eine Umgebungsvariable mit den Informationen über den Proxy-Server gesetzt werden.
** <pre>export http_proxy="http://meinProxy:8080"</pre>
+
** Hinweis: Diese Einstellung geht bei jedem Neustart wieder verloren.
* Wenn der Proxy-Server einen Benutzernamen und Passwort verlangt, sollte die folgende Zeile verwendet werden:
+
  export http_proxy="http://meinProxy:8080"
** <pre>export http_proxy="http://Benutzername:Passwort@meinProxy:8080"</pre>
+
  alternativ
* Überprüfung der Internet-Verbindung:
+
  export http_proxy="http://Benutzername:Passwort@meinProxy:8080"
** <pre>ping google.com</pre>
+
* Wer Samba verwenden will, sollte auch die Arbeitsgruppe in der Datei smb.conf eintragen: (MSHOME unter XP Home  und WORKGROUP unter Windows 9x bzw. MSHEIMNETZ und ARBEITSGRUPPE in den deutschen Windows-Versionen)
 
+
== Arbeiten in der neuen Root Umgebung ==
=== SMB Zugriff ===
+
* Jetzt kann das kopierte KNOPPIX-Verzeichnis zum Wurzelverzeichnis gemacht werden:
* Für die smbd-Unterstützung sollte auch die Arbeitsgruppe in der Datei smb.conf eingetragen werden: (MSHOME unter XP Home  und WORKGROUP unter Windows 9x bzw. MSHEIMNETZ und ARBEITSGRUPPE in den deutschen Windows-Versionen)
+
  chroot /mnt/sda1/knx/source/KNOPPIX
 
+
* chroot ist jetzt ausgeführt und das Verzeichnis "/" enspricht nun "/mnt/sda1/knx/source/KNOPPIX"
=== APT ===
+
** Beachte, daß ALLE folgenden Änderungen auf die CD / DVD gebrannt werden!
Erneuerung der Paketlisten mit '''apt-get update'''
+
** Wer nicht mit dem wesentlich komfortableren '''aptitude TUI''' arbeiten möchte, kann weiterhin mit '''apt''' die Pakete verwalten.
<blockquote>Hinweis: Wenn '''apt-get update''' die Fehlermeldung "FATAL -> Could not set non-blocking flag Bad file descriptor" ausgibt, muss die chroot-Umgebung ohne die "nodev"-Option gestartet werden. (siehe Anmerkungen oben zu Fehlern mit /dev/null).
+
* Erneuerung der Paketlisten mit '''apt-get update'''
</blockquote>
+
** '''Warnung''': 'apt-get upgrade' sollte nicht verwendet werden! Es führt dazu, daß nicht mehr vom Image gebootet werden kann. Es ist sicherer, nur die Pakete zu aktualisieren, die wirklich benötigt werden.
<blockquote>Bei der Fehlermeldung "Dynamic NMap ran out of room" hilft der Eintrag:
+
** Um neue Programme hinzufügen zu können, sollten erst andere entfernt werden, um Platz zu schaffen. Damit möglichst viel freier Speicherplatz auf der CD/DVD geschaffen wird, müssen große und nicht notwendige Programme entfernt werden.
</blockquote>
+
* Eine Übersicht der installierten Pakete wird angezeigt durch
echo 'APT::Cache-Limit "25168524";'>> /etc/apt/apt.conf
+
  dpkg -l
<blockquote>'''Warnung''': 'apt-get upgrade' sollte nicht verwendet werden! Es führt dazu, dass nicht mehr vom Image gebootet werden kann oder zu anderen Prolbemen. Es ist sicherer, nur die Pakete zu aktualisieren, die wirklich benötigt werden.</blockquote>
+
* Tip: Listen der installierten Pakete nach Bedeutung, Größe usw sortiert, kann man mit dem Script [http://www.wp-schulz.de/knoppix/kn-script.html#kn-what kn-what] erhalten.
 
+
* Nicht benötigte Pakete inklusive der Konfigurationsdateien entfernt der Befehl:
Um neue Programme hinzufügen zu können, sollten erst andere entfernt werden, um Platz zu schaffen. Damit möglichst viel freier Speicherplatz auf der CD/DVD geschaffen wird, müssen große und nicht notwendige Programme entfernt werden.  
+
  apt-get purge "Paketname"
 
+
* Weitere Pakete werden automatisch entfernt mit:
<blockquote>Hinweis: Falls es die Hardware-Umgebung zulässt, kann die Paketverwaltung '''synaptic''' benutzt werden. Um nach der Größe der Pakete sortieren zu können, muss zunächst über ''Einstellungen -> Einstellungen -> Spalten und Schriften'' die Größen-Anzeige aktiviert werden.<br>
+
  apt-get autoremove
Falls die Fehlermeldung '''(synaptic:....): Gtk-WARNING **: cannot open display:0''' erscheint, ein neues root-Terminal öffnen und das Kommando 'xhost +' absetzen.
+
* Nicht mehr benötigte Libraries zeigt:
</blockquote>
+
  deborphan
 
+
* Sie können entfernt werden mit:
Eine Liste der installierten Pakete wir angezeigt durch
+
  deborphan | xargs apt-get -y remove
dpkg -l
+
* Die Installation von neuen Pakete geschieht durch
Eine Sortierung mit absteigender Sortierung:
+
  apt-get install "paketname"
dpkg-query -W --showformat='${Installed-Size} ${Package} ${Status}\n' | grep -v deinstall | sort -n | awk '{print $1" "$2}'
+
* Sollte der korrekte Paketname nicht bekannt sein, kann er ermittelt werden mit:
Nicht benötigte Pakete inklusive der Konfigurationsdateien entfernt der Befehl.
+
  apt-cache search "Suchbegriff"
apt-get purge "Paketname"
+
* Nachdem alle Änderungen an den Paketen vorgenommen wurden, muss noch aufgeräumt werden, da die Daten aus dem Cache nicht mit auf die CD sollen.
Weitere Pakete werden automatisch mit  
+
  apt-get clean
apt-get autoremove  
+
  COLUMNS=200 dpkg -l |grep ^rc |awk '{print $2} ' | xargs dpkg -P
entfernt. Weitere nicht mehr benötigte Libraries zeigt  
+
== Verlassen der chroot-Umgebung ==
deborphan
+
* Drücke '''CTRL+D''' um die chroot-Umgebung zu verlassen.
an. Sie können entfernt werden mit
+
* Die gemounteten Verzeichnisse wieder aushängen
deborphan | xargs apt-get -y remove
+
  umount /mnt/sda1/knx/source/KNOPPIX/dev
 
+
  umount /mnt/sda1/knx/source/KNOPPIX/proc
Die Installation von neuen Pakete geschieht durch  
+
  umount /mnt/sda1/knx/source/KNOPPIX/sys
apt-get install "paketname"
+
== Änderungen außerhalb der chroot-Umgebung ==
Sollte der korrekte Paketname nicht bekannt sein, kann er ermittelt werden mit:
+
* Das Verhalten des Knoppix-Starts kann durch Änderungen in der Datei /mnt/sda1/knx/master/boot/isolinux/isolinux.cfg verändert werden:
apt-cache search "Suchbegriff"
+
  z. B. alle 'tz=localtime' durch 'tz=Europe/Berlin' ersetzen
 
+
* Ebenfalls in diese Datei können persönlich notwendige cheatcodes dauerhaft eingetragen werden:
Nachdem alle Änderungen an den Paketen vorgenommen wurden, muss noch aufgeräumt werden, da die Daten aus dem Cache nicht mit auf die CD sollen.
+
  z. B. an alle Append-Zeilen 'no3d' (ohne ' ') anhängen, um compiz 3d zu deaktivieren.
apt-get autoclean
+
== Hinweise ==
apt-get clean
+
* In '/mnt/sda1/knx/source/KNOPPIX/etc/X11/Xsession.d/45knoppix' findet man ua Hinweise, welches Wallpaper oder welcher startup-Sound benutzt wird.
COLUMNS=200 dpkg -l |grep ^rc |awk '{print $2} ' | xargs dpkg -P
+
* In '/mnt/sda1/knx/source/KNOPPIX/etc/init.d/knoppix-halt' ist der Hinweis auf den shutdown-Sound.
 
+
* Wer spezielle Anpassungen vornehmen will, kann eine Datei '/mnt/sda1/knx/master/KNOPPIX/knoppix.sh' erstellen (siehe [ftp://mirror.informatik.uni-mannheim.de/pub/linux/distributions/knoppix/knoppix-cheatcodes.txt CheatCodes]).
=== Benutzereinstellungen ===
+
* Anregungen für eine Knoppix-CD mit [http://www.wp-schulz.de/rettung.html#presc Boot-Menü].
Benutzereinstellungen sind in /etc/skel abgelegt. Dieses Verzeichnis wird in neue 'Homeverzeichnisse' kopiert.  
+
= Erzeugen des ISO =
 
+
* Vor dem Erstellen des ISO sollte man unter '/mnt/knx/source/KNOPPIX/tmp/' aufräumen.
Unter Umständen muss auch noch in /etc/X11/Xsession.d/45xsession das rsync-Kommando anpasst werden, da der Default-User 'knoppix' nicht per adduser(1) angelegt wird und keine komplette Kopie von /etc/skel bekommt, sondern in 45xsession explizit nur ein Ausschnitt von /etc/skel nach /home/knoppix kopiert wird.
+
== Komprimiertes KNOPPIX-Image ==
 
+
* Jetzt kann eine große KNOPPIX-Datei mit dem komprimierten cloop-ISO9660-Dateisystem erzeugt werden:
=== Notizen ===
+
** Das "www.knoppix.net" und "Knoppix.net filesystem" kann natürlich geändert werden. Jetzt sollte eine Meldung erscheinen, daß es nicht den ISO-Standards entspricht. Diese Meldung kann ignoriert werden.
Interessantes aus der /etc/init.d/knoppix-autoconfig Datei:
+
* <code>genisoimage -R -U -V "KNOPPIX.net filesystem" -publisher "KNOPPIX www.knoppix.net" -no-bak -quiet /mnt/sda1/knx/source/KNOPPIX | /usr/bin/create_compressed_fs -B 65536 -f /mnt/sda1/knx/isotemp - /mnt/sda1/knx/master/KNOPPIX/KNOPPIX</code>
Das X-Hintergrundbild ist auf die Datei /cdrom/KNOPPIX/background.jpg eingestellt.
+
== Live-CD ISO ==
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.
+
* Aktualisieren der sha1-Hashes um später die Integrität des Images prüfen zu können:
 
+
* <code>cd /mnt/sda1/knx/master ; find -type f -not -name sha1sums -not -name boot.cat -not -name isolinux.bin -exec sha1sum '{}' \; >> KNOPPIX/sha1sums</code>
Genauso wie floppyconfig gibt es auch ein cdromconfig, welches die Datei /cdrom/KNOPPIX/knoppix.sh ausführt (siehe [[Cheat Codes Deutsch]]).
+
* Das ISO erstellen:
 
+
* <code>genisoimage -l -r -J -V "KNOPPIX" --publisher "KNOPPIX www.knoppix.net" -b boot/isolinux/isolinux.bin -no-emul-boot -boot-load-size 4 -boot-info-table -c boot/isolinux/boot.cat -o /mnt/sda1/knx/remasterd.iso /mnt/sda1/knx/master</code>
Interessantes aus der Datei /etc/init.d/xsession:
+
* Hinweis: Das ISO wird unter /mnt/sda1/knx/remastered.iso gespeichert
Auch hier ist ein Hintergrundbild eingetragen: /usr/local/lib/knoppix.jpg
+
** Tip: Das erstellte ISO Image vor dem Brennen z. B. mit VirtualBox testen.
 
+
== Verlassen der neuen Root Umgebung ==
+
Sofern du es gemountet hast, musst du /proc wieder unmounten - sehr wichtig!
+
* <pre>umount /proc</pre>
+
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/hda1/knx/source/KNOPPIX/.rr_moved'''
+
 
+
=== Komprimiertes KNOPPIX-Image ===
+
Jetzt kann eine große KNOPPIX-Datei mit dem komprimierten cloop-ISO9660-Dateisystem erzeugt werden:  
+
 
+
* <code bash>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 - 65536 > /mnt/hda1/knx/master/KNOPPIX/KNOPPIX
+
</code>
+
 
+
Das "www.knoppix.net" und "Knoppix.net filesystem" kann natürlich geändert werden. Jetzt sollte eine Meldung erscheinen, dass es nicht den ISO-Standards entspricht. Diese Meldung kann ignorieren werden.
+
 
+
Hinweis: Das obige Kommando funktionierte bei mir nicht mit dem neuesten 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 und schlug fehl ohne Fehlermeldungen zu erzeugen. Das nachfolgende Kommando benutzt eine Datei anstelle des RAM für temporäre Daten und funktionierte.
+
 
+
* <code>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/knx/isotemp - /mnt/hda1/knx/master/KNOPPIX/KNOPPIX
+
</code>
+
 
+
=== Live-CD ISO ===
+
Wenn alles glatt verlaufen ist, können wir mit dem endgültigen CD-ROM-Image weitermachen.
+
# Aktualisieren der md5-Hashes um später die Integrität des Images prüfen zu können:
+
#* <pre>cd /mnt/hda1/knx/master</pre>
+
#* <pre>rm -f KNOPPIX/md5sums; find -type f -not -name md5sums -not -name boot.cat -exec md5sum {} \; >> KNOPPIX/md5sums</pre>
+
# Das ISO erstellen:
+
#* für Knoppix < 3.4:
+
#** <code>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/hda1/knx/remastered.iso /mnt/hda1/knx/master</code>
+
#* für Knoppix >= 3.4 (isolinux):
+
#** <code>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/hda1/knx/remasterd.iso /mnt/hda1/knx/master</code>
+
#* Hinweis: Anscheinend wurde boot.cat bei neueren Versionen verschoben, boot.cat kann nun mit -c boot/isolinux/boot.cat eingebunden werden.
+
#* Hinweis: Das ISO wird unter /mnt/hda1/knx/remastered.iso gespeichert
+
#Das erstellte ISO Image kann mit einem Brennprogramm nach Wahl gebrannt werden. Ist noch ein CD/DVD-Brenner frei, so kann man dies gleich unter Knoppix mit
+
#*<pre>cdrecord dev=/dev/hd? /mnt/hda1/knx/remastered.iso  # /dev/hd? durch Device-Node des Brenners ersetzen</pre>
+
 
+
 
= Kommentare =
 
= Kommentare =
Absatz 2.1, Punkt 12, Schritt 1 (mount --bind /dev...) führt bei der 5.3.1 reproduzierbar zur Fehlermeldung
 
<br><code>mount: wrong fs type, bad option, bad superblock on /dev, missing codepage or other error</code>
 
 
  
 
[[Category: Remastering Knoppix ]]
 
[[Category: Remastering Knoppix ]]

Revision as of 11:46, 19 June 2011

Dies ist ein Leitfaden wie man KNOPPIX remastert. Für diesen Leitfaden wurden seinerzeit Teile der englischen Version von Knoppix_Remastering_Howto übersetzt. Die angegebenen Befehle sind jetzt für die aktuelle Knoppix-Version angepaßt und mit der CD-Version 6.4.4 getestet worden.

Voraussetzungen:

  • CD-ISO
    • mindestens 500 MB RAM (swapfile von 500 MB wird erstellt)
    • 5 GB freien Speicherplatz auf einer LINUX-kompatiblen Partition (getestet mit reiserfs-formattierter Partition)
  • DVD-ISO (Die Angaben für eine DVD sind aus dem alten HowTo beibehalten aber nicht überprüft worden)
    • insgesamt mindestens 5 Gigabyte freien RAM+Swap (z.B. 3 Gigabyte RAM und 2 Gigabyte Swap-Bereich verfügbar)
    • 15 GB freien Speicherplatz auf einer LINUX-kompatiblen Partition (ext2/3, etc.)

Anleitung

Diese Anleitung soll die grundsätzliche Vorgehensweise beim Erstellen einer eigenen KNOPPIX Live CD bzw. DVD darstellen. Wenn du irgendwelche Kommentare oder Vorschläge hast, schreibe sie bitte am Ende dieser Seite rein.)

Umgebung für das Remastering einrichten

  • Booten von der Knoppix-CD
  • Öffne eine Root Shell:
    • Menü: LXDE-Menü->Einstellungen->Root Shell
    • Hinweis: Alle weiter unten stehenden Befehle sollten von der Root-Shell aufgerufen werden.
  • Konfiguration der Internet-Verbindung. Wenn DHCP genutzt wird, sollte dies bereits eingerichtet sein.
    • Hinweis: Rufe ifconfig auf um dies zu überprüfen.
  • Auswahl einer Partition. Im Folgenden wird sie hier sda1 genannt.
    • Hinweis: df -h zeigt den freien Speicherplatz an, wenn die Partition eingebunden ist.
  • Mounten der Partiton.
    • Hinweis: Es sollte sichergestellt sein, daß die Partition schreib- und lesbar gemountet ist, ansonsten wird es später zu Fehlern kommen. Darum bitte mit mount überprüfen.
 mount -rw /dev/sda1 /mnt/sda1
  • Es wird ein Verzeichnis /knx verwendet, das als Arbeitsordner dient. Wenn alle Dateien hier landen, kann leichter wieder aufgeräumt werden. In diesem Verzeichnis werden zwei Unterverzeichnisse benötigt; eines ist für die neue Master-CD.
 mkdir -p /mnt/sda1/knx/master
  • Anlegen eines SWAP-Bereiches:
 cd /mnt/sda1/knx
 dd if=/dev/zero of=swapfile bs=1M count=500
 mkswap swapfile ; swapon swapfile
  • Ein weiteres Unterverzeichnis ist für die Source.
 mkdir -p /mnt/sda1/knx/source/KNOPPIX
  • Kopiere die KNOPPIX-Dateien in dein Source-Verzeichnis.
    • Hinweis: Das wird jetzt ein wenig dauern, da die Daten auf der CD im gepackten Zustand vorliegen und ungefähr 2,4 Gigabyte kopiert werden müssen.
 cp -rp /KNOPPIX/* /mnt/sda1/knx/source/KNOPPIX
  • Als Nächstes werden die Dateien für die spätere Erstellung der ISO kopiert.
 rsync -aH --exclude="KNOPPIX/KNOPPIX" /mnt-system/* /mnt/sda1/knx/master
  • Die Umgebungsvariablen für chroot setzen:
 mount --bind /dev /mnt/sda1/knx/source/KNOPPIX/dev
 mount -t proc proc /mnt/sda1/knx/source/KNOPPIX/proc
 mount -t sysfs sysfs /mnt/sda1/knx/source/KNOPPIX/sys
  • Für den Internetzugriff kann entweder die resolv.conf editiert werden, um den Nameserver einzutragen, oder die Originaldatei wird von ausserhalb der CHROOT-Umgebung kopiert.
 rm -f /mnt/sda1/knx/source/KNOPPIX/etc/resolv.conf
 cp /etc/resolv.conf /mnt/sda1/knx/source/KNOPPIX/etc/resolv.conf
  • Für den Internetzugriff mittels WLAN kann die Client-Konfiguration in der chroot-Umgebung aufgerufen werden:
 dhclient3
  • Wenn auf das Internet nur über einen Proxy-Server zugegriffen werden kann, muss das System für die Verwendung des Proxy-Servers eingerichtet werden. Es muß dazu eine Umgebungsvariable mit den Informationen über den Proxy-Server gesetzt werden.
    • Hinweis: Diese Einstellung geht bei jedem Neustart wieder verloren.
 export http_proxy="http://meinProxy:8080"
 alternativ
 export http_proxy="http://Benutzername:Passwort@meinProxy:8080"
  • Wer Samba verwenden will, sollte auch die Arbeitsgruppe in der Datei smb.conf eintragen: (MSHOME unter XP Home und WORKGROUP unter Windows 9x bzw. MSHEIMNETZ und ARBEITSGRUPPE in den deutschen Windows-Versionen)

Arbeiten in der neuen Root Umgebung

  • Jetzt kann das kopierte KNOPPIX-Verzeichnis zum Wurzelverzeichnis gemacht werden:
 chroot /mnt/sda1/knx/source/KNOPPIX
  • chroot ist jetzt ausgeführt und das Verzeichnis "/" enspricht nun "/mnt/sda1/knx/source/KNOPPIX"
    • Beachte, daß ALLE folgenden Änderungen auf die CD / DVD gebrannt werden!
    • Wer nicht mit dem wesentlich komfortableren aptitude TUI arbeiten möchte, kann weiterhin mit apt die Pakete verwalten.
  • Erneuerung der Paketlisten mit apt-get update
    • Warnung: 'apt-get upgrade' sollte nicht verwendet werden! Es führt dazu, daß nicht mehr vom Image gebootet werden kann. Es ist sicherer, nur die Pakete zu aktualisieren, die wirklich benötigt werden.
    • Um neue Programme hinzufügen zu können, sollten erst andere entfernt werden, um Platz zu schaffen. Damit möglichst viel freier Speicherplatz auf der CD/DVD geschaffen wird, müssen große und nicht notwendige Programme entfernt werden.
  • Eine Übersicht der installierten Pakete wird angezeigt durch
 dpkg -l
  • Tip: Listen der installierten Pakete nach Bedeutung, Größe usw sortiert, kann man mit dem Script kn-what erhalten.
  • Nicht benötigte Pakete inklusive der Konfigurationsdateien entfernt der Befehl:
 apt-get purge "Paketname"
  • Weitere Pakete werden automatisch entfernt mit:
 apt-get autoremove
  • Nicht mehr benötigte Libraries zeigt:
 deborphan
  • Sie können entfernt werden mit:
 deborphan | xargs apt-get -y remove
  • Die Installation von neuen Pakete geschieht durch
 apt-get install "paketname"
  • Sollte der korrekte Paketname nicht bekannt sein, kann er ermittelt werden mit:
 apt-cache search "Suchbegriff"
  • Nachdem alle Änderungen an den Paketen vorgenommen wurden, muss noch aufgeräumt werden, da die Daten aus dem Cache nicht mit auf die CD sollen.
 apt-get clean
 COLUMNS=200 dpkg -l |grep ^rc |awk '{print $2} ' | xargs dpkg -P

Verlassen der chroot-Umgebung

  • Drücke CTRL+D um die chroot-Umgebung zu verlassen.
  • Die gemounteten Verzeichnisse wieder aushängen
 umount /mnt/sda1/knx/source/KNOPPIX/dev
 umount /mnt/sda1/knx/source/KNOPPIX/proc
 umount /mnt/sda1/knx/source/KNOPPIX/sys

Änderungen außerhalb der chroot-Umgebung

  • Das Verhalten des Knoppix-Starts kann durch Änderungen in der Datei /mnt/sda1/knx/master/boot/isolinux/isolinux.cfg verändert werden:
 z. B. alle 'tz=localtime' durch 'tz=Europe/Berlin' ersetzen
  • Ebenfalls in diese Datei können persönlich notwendige cheatcodes dauerhaft eingetragen werden:
 z. B. an alle Append-Zeilen 'no3d' (ohne ' ') anhängen, um compiz 3d zu deaktivieren.

Hinweise

  • In '/mnt/sda1/knx/source/KNOPPIX/etc/X11/Xsession.d/45knoppix' findet man ua Hinweise, welches Wallpaper oder welcher startup-Sound benutzt wird.
  • In '/mnt/sda1/knx/source/KNOPPIX/etc/init.d/knoppix-halt' ist der Hinweis auf den shutdown-Sound.
  • Wer spezielle Anpassungen vornehmen will, kann eine Datei '/mnt/sda1/knx/master/KNOPPIX/knoppix.sh' erstellen (siehe CheatCodes).
  • Anregungen für eine Knoppix-CD mit Boot-Menü.

Erzeugen des ISO

  • Vor dem Erstellen des ISO sollte man unter '/mnt/knx/source/KNOPPIX/tmp/' aufräumen.

Komprimiertes KNOPPIX-Image

  • Jetzt kann eine große KNOPPIX-Datei mit dem komprimierten cloop-ISO9660-Dateisystem erzeugt werden:
    • Das "www.knoppix.net" und "Knoppix.net filesystem" kann natürlich geändert werden. Jetzt sollte eine Meldung erscheinen, daß es nicht den ISO-Standards entspricht. Diese Meldung kann ignoriert werden.
  • genisoimage -R -U -V "KNOPPIX.net filesystem" -publisher "KNOPPIX www.knoppix.net" -no-bak -quiet /mnt/sda1/knx/source/KNOPPIX | /usr/bin/create_compressed_fs -B 65536 -f /mnt/sda1/knx/isotemp - /mnt/sda1/knx/master/KNOPPIX/KNOPPIX

Live-CD ISO

  • Aktualisieren der sha1-Hashes um später die Integrität des Images prüfen zu können:
  • cd /mnt/sda1/knx/master ; find -type f -not -name sha1sums -not -name boot.cat -not -name isolinux.bin -exec sha1sum '{}' \; >> KNOPPIX/sha1sums
  • Das ISO erstellen:
  • genisoimage -l -r -J -V "KNOPPIX" --publisher "KNOPPIX www.knoppix.net" -b boot/isolinux/isolinux.bin -no-emul-boot -boot-load-size 4 -boot-info-table -c boot/isolinux/boot.cat -o /mnt/sda1/knx/remasterd.iso /mnt/sda1/knx/master
  • Hinweis: Das ISO wird unter /mnt/sda1/knx/remastered.iso gespeichert
    • Tip: Das erstellte ISO Image vor dem Brennen z. B. mit VirtualBox testen.

Kommentare