http://ftp.knoppix.net/wiki3/api.php?action=feedcontributions&user=RoTo&feedformat=atomKnoppix Documentation Wiki - User contributions [en]2024-03-28T17:21:21ZUser contributionsMediaWiki 1.23.3http://ftp.knoppix.net/wiki/Knoppix_Remastering_Howto_DeutschKnoppix Remastering Howto Deutsch2009-12-27T15:55:49Z<p>RoTo: /* Internetverbindung */ - usage of WLAN</p>
<hr />
<div>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.)<br />
<br />
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]].<br />
<br />
= Voraussetzungen: =<br />
* CD-ISO<br />
** insgesamt mindestens 1 Gigabyte freien RAM+Swap (z.B. 256 Megabyte RAM und 750 Megabyte Swap-Bereich verfügbar)<br />
** 3 GB freien Speicherplatz auf einer LINUX-kompatiblen Partition (ext2/3, etc.)<br />
* DVD-ISO<br />
** insgesamt mindestens 5 Gigabyte freien RAM+Swap (z.B. 3 Gigabyte RAM und 2 Gigabyte Swap-Bereich verfügbar)<br />
** 15 GB freien Speicherplatz auf einer LINUX-kompatiblen Partition (ext2/3, etc.)<br />
<br />
= Anleitung =<br />
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.<br />
<br />
== Umgebung für das Remastering einrichten ==<br />
# Booten von der ''Knoppix-CD''<br />
# Öffne eine Root Shell:<br />
#* Menü: KDE-Menü->Knoppix->Root Shell<br />
#* Hinweis: Alle weiter unten stehenden Befehle sollten von der Root-Shell aufgerufen werden.<br />
# Konfiguration der Internet-Verbindung. Wenn DHCP genutzt wird, sollte dies bereits eingerichtet sein.<br />
#* Hinweis: Rufe '''ifconfig''' auf um dies zu überprüfen.<br />
# Auswahl einer Partition. Im Folgenden wird sie hier '''hda1''' genannt. <br />
#* Hinweis: '''df -h''' zeigt den freien Speicherplatz an, wenn die Partition eingebunden ist.<br />
# Mounten der Partiton:<br />
#* <pre>mount -rw /dev/hda1 /mnt/hda1</pre><br />
#* 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.<br />
# Nun wird ein root-Verzeichnis erstellt, das als Arbeitsordner dient. Wenn alle Dateien hier landen, kann leichter wieder aufgeräumt werden.<br />
#* <pre>mkdir /mnt/hda1/knx</pre><br />
# Falls der physikalische Speicher nicht ausreicht ( '''egrep "(MemTotal|SwapTotal)" /proc/meminfo && echo "(physical+swap)"''' ) wird ein SWAP-Bereich benötigt:<br />
#* <pre>cd /mnt/hda1/knx</pre><br />
#* <pre>dd if=/dev/zero of=swapfile bs=1M count=750 # Erzeugt 750 MB SWAP</pre><br />
#* <pre>mkswap swapfile</pre><br />
#* <pre>swapon swapfile</pre><br />
# 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:<br />
#* <pre>mkdir -p /mnt/hda1/knx/master/KNOPPIX</pre><br />
#* <pre>mkdir -p /mnt/hda1/knx/source/KNOPPIX</pre><br />
# Kopiere die KNOPPIX-Dateien in dein Source-Verzeichnis:<br />
#* <pre>cp -rp /KNOPPIX/* /mnt/hda1/knx/source/KNOPPIX</pre><br />
#* 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.<br />
# Als Nächstes werden die Dateien für die spätere Erstellung der ISO kopiert<br />
## Das Boot-Verzeichnis<br />
#* <pre><nowiki>cp -ar /cdrom/boot /mnt/hda1/knx/master/boot</nowiki></pre><br />
## Für Knoppix ab Version 5.0.1 ist auch der Modules-Ordner erforderlich.<br />
#* <pre><nowiki>cp -ar /cdrom/KNOPPIX/modules /mnt/hda1/knx/master/KNOPPIX/.</nowiki></pre><br />
# 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.<br />
#* < 3.4:<br />
#** <pre><nowiki>cd /cdrom/KNOPPIX && find . -size -10000k -type f -exec cp -p --parents '{}' /mnt/hda1/knx/master/KNOPPIX/ \;</nowiki></pre><br />
#* >= 3.4 (isolinux):<br />
#** <pre><nowiki>cd /cdrom && find . -size -10000k -type f -exec cp -p --parents '{}' /mnt/hda1/knx/master/ \;</nowiki></pre><br />
#* Für die DVD-Version muss die Größe auf -15000k gesetzt werden. Außerdem ist das Verzeichnis KNOPPIX2 zu kopieren:<br />
#** <pre><nowiki>cd /cdrom && find . -size -15000k -type f -exec cp -p --parents '{}' /mnt/hda1/knx/master/ \;</nowiki></pre><br />
#** <pre>cp -ar /KNOPPIX2/* /mnt/hda1/knx/source/KNOPPIX</pre><br />
# Die Umgebungsvariablen für chroot setzen:<br />
#* <pre>mount --bind /dev /mnt/hda1/knx/source/KNOPPIX/dev</pre> (s. Kommentar am Ende der Seite)<br />
#* <pre>mount --bind /proc /mnt/hda1/knx/source/KNOPPIX/proc</pre><br />
#* <pre>mount --bind /sys /mnt/hda1/knx/source/KNOPPIX/sys</pre><br />
# Jetzt kann das kopierte KNOPPIX-Verzeichnis zum Wurzelverzeichnis gemacht werden:<br />
#* <pre>chroot /mnt/hda1/knx/source/KNOPPIX</pre><br />
<br />
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:<br />
mount /dev/hda12 /mnt/hda12<br />
Und das hat sich geändert:<br />
mount /dev/hda12 on /mnt/hda12 type ext3 (rw)<br />
<br />
Wenn der obige Befehl nicht geht probiere:<br />
mount -t ext3 -o rw /dev/hda12 /mnt/hda12<br />
Bitte mit<br />
mount /dev/hdXX -o remount,rw,suid,dev<br />
alles richtig mounten, damit chroot funzt.<br />
<br />
<br />
danach kann man mit chroot weitermachen.<br />
<br />
== Arbeiten in der neuen Root Umgebung ==<br />
<br />
* chroot ist jetzt ausgeführt und das Verzeichnis "/" enspricht jetzt "/mnt/hda1/knx/source/KNOPPIX"<br />
* Beachte, dass ALLE folgenden Änderungen auf die CD / DVD gebrannt werden!<br />
<br />
=== Internetverbindung ===<br />
* 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.<br />
** <pre>cp /etc/dhcpc/resolv.conf /mnt/hda1/knx/source/KNOPPIX/etc/dhcpc/resolv.conf</pre><br />
* Für den Internetzugriff mittels WLAN kann die Client-Konfiguration in der chroot-Umgebung aufgerufen werden:<br />
** <pre>dhclient3</pre><br />
* 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.<br />
** <pre>export http_proxy="http://meinProxy:8080"</pre><br />
* Wenn der Proxy-Server einen Benutzernamen und Passwort verlangt, sollte die folgende Zeile verwendet werden:<br />
** <pre>export http_proxy="http://Benutzername:Passwort@meinProxy:8080"</pre><br />
* Überprüfung der Internet-Verbindung: <br />
** <pre>ping google.com</pre><br />
<br />
=== SMB Zugriff ===<br />
* 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)<br />
<br />
=== APT ===<br />
Erneuerung der Paketlisten mit '''apt-get update'''<br />
<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).<br />
</blockquote><br />
<blockquote>Bei der Fehlermeldung "Dynamic NMap ran out of room" hilft der Eintrag:<br />
</blockquote><br />
echo 'APT::Cache-Limit "25168524";'>> /etc/apt/apt.conf<br />
<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><br />
<br />
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. <br />
<br />
<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><br />
Falls die Fehlermeldung '''(synaptic:....): Gtk-WARNING **: cannot open display:0''' erscheint, ein neues root-Terminal öffnen und das Kommando 'xhost +' absetzen.<br />
</blockquote><br />
<br />
Eine Liste der installierten Pakete wir angezeigt durch<br />
dpkg -l<br />
Eine Sortierung mit absteigender Sortierung:<br />
dpkg-query -W --showformat='${Installed-Size} ${Package} ${Status}\n' | grep -v deinstall | sort -n | awk '{print $1" "$2}'<br />
Nicht benötigte Pakete inklusive der Konfigurationsdateien entfernt der Befehl.<br />
apt-get purge "Paketname"<br />
Weitere Pakete werden automatisch mit <br />
apt-get autoremove <br />
entfernt. Weitere nicht mehr benötigte Libraries zeigt <br />
deborphan<br />
an. Sie können entfernt werden mit<br />
deborphan | xargs apt-get -y remove<br />
<br />
Die Installation von neuen Pakete geschieht durch <br />
apt-get install "paketname"<br />
Sollte der korrekte Paketname nicht bekannt sein, kann er ermittelt werden mit:<br />
apt-cache search "Suchbegriff"<br />
<br />
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.<br />
apt-get autoclean<br />
apt-get clean<br />
COLUMNS=200 dpkg -l |grep ^rc |awk '{print $2} ' | xargs dpkg -P<br />
<br />
=== Benutzereinstellungen ===<br />
Benutzereinstellungen sind in /etc/skel abgelegt. Dieses Verzeichnis wird in neue 'Homeverzeichnisse' kopiert. <br />
<br />
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.<br />
<br />
=== Notizen ===<br />
Interessantes aus der /etc/init.d/knoppix-autoconfig Datei:<br />
Das X-Hintergrundbild ist auf die Datei /cdrom/KNOPPIX/background.jpg eingestellt.<br />
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.<br />
<br />
Genauso wie floppyconfig gibt es auch ein cdromconfig, welches die Datei /cdrom/KNOPPIX/knoppix.sh ausführt (siehe [[Cheat Codes Deutsch]]).<br />
<br />
Interessantes aus der Datei /etc/init.d/xsession:<br />
Auch hier ist ein Hintergrundbild eingetragen: /usr/local/lib/knoppix.jpg<br />
<br />
== Verlassen der neuen Root Umgebung ==<br />
Sofern du es gemountet hast, musst du /proc wieder unmounten - sehr wichtig!<br />
* <pre>umount /proc</pre><br />
Drücke '''CTRL+D''' um die chroot-Umgebung zu verlassen.<br />
<br />
== Erzeugen des ISO ==<br />
<br />
* Wir sind fertig mit den Änderungen und bereit zum Brennen!<br />
* Als erstes sollte man etwas aufräumen: ''' lösche .bash_history, Dateien in /tmp, Pakete unter /var/cache/apt/archives etc. '''<br />
* '''rm -rf /mnt/hda1/knx/source/KNOPPIX/.rr_moved'''<br />
<br />
=== Komprimiertes KNOPPIX-Image ===<br />
Jetzt kann eine große KNOPPIX-Datei mit dem komprimierten cloop-ISO9660-Dateisystem erzeugt werden: <br />
<br />
* <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<br />
</code><br />
<br />
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.<br />
<br />
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.<br />
<br />
* <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<br />
</code><br />
<br />
=== Live-CD ISO ===<br />
Wenn alles glatt verlaufen ist, können wir mit dem endgültigen CD-ROM-Image weitermachen.<br />
# Aktualisieren der md5-Hashes um später die Integrität des Images prüfen zu können:<br />
#* <pre>cd /mnt/hda1/knx/master</pre><br />
#* <pre>rm -f KNOPPIX/md5sums; find -type f -not -name md5sums -not -name boot.cat -exec md5sum {} \; >> KNOPPIX/md5sums</pre><br />
# Das ISO erstellen:<br />
#* für Knoppix < 3.4:<br />
#** <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><br />
#* für Knoppix >= 3.4 (isolinux):<br />
#** <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><br />
#* Hinweis: Anscheinend wurde boot.cat bei neueren Versionen verschoben, boot.cat kann nun mit -c boot/isolinux/boot.cat eingebunden werden.<br />
#* Hinweis: Das ISO wird unter /mnt/hda1/knx/remastered.iso gespeichert<br />
#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<br />
#*<pre>cdrecord dev=/dev/hd? /mnt/hda1/knx/remastered.iso # /dev/hd? durch Device-Node des Brenners ersetzen</pre><br />
<br />
= Kommentare =<br />
Absatz 2.1, Punkt 12, Schritt 1 (mount --bind /dev...) führt bei der 5.3.1 reproduzierbar zur Fehlermeldung<br />
<br><code>mount: wrong fs type, bad option, bad superblock on /dev, missing codepage or other error</code><br />
<br />
<br />
[[Category: Remastering Knoppix ]]</div>RoTohttp://ftp.knoppix.net/wiki/Knoppix_Remastering_Howto_DeutschKnoppix Remastering Howto Deutsch2009-12-27T15:46:15Z<p>RoTo: /* APT */ solution for using synaptic</p>
<hr />
<div>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.)<br />
<br />
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]].<br />
<br />
= Voraussetzungen: =<br />
* CD-ISO<br />
** insgesamt mindestens 1 Gigabyte freien RAM+Swap (z.B. 256 Megabyte RAM und 750 Megabyte Swap-Bereich verfügbar)<br />
** 3 GB freien Speicherplatz auf einer LINUX-kompatiblen Partition (ext2/3, etc.)<br />
* DVD-ISO<br />
** insgesamt mindestens 5 Gigabyte freien RAM+Swap (z.B. 3 Gigabyte RAM und 2 Gigabyte Swap-Bereich verfügbar)<br />
** 15 GB freien Speicherplatz auf einer LINUX-kompatiblen Partition (ext2/3, etc.)<br />
<br />
= Anleitung =<br />
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.<br />
<br />
== Umgebung für das Remastering einrichten ==<br />
# Booten von der ''Knoppix-CD''<br />
# Öffne eine Root Shell:<br />
#* Menü: KDE-Menü->Knoppix->Root Shell<br />
#* Hinweis: Alle weiter unten stehenden Befehle sollten von der Root-Shell aufgerufen werden.<br />
# Konfiguration der Internet-Verbindung. Wenn DHCP genutzt wird, sollte dies bereits eingerichtet sein.<br />
#* Hinweis: Rufe '''ifconfig''' auf um dies zu überprüfen.<br />
# Auswahl einer Partition. Im Folgenden wird sie hier '''hda1''' genannt. <br />
#* Hinweis: '''df -h''' zeigt den freien Speicherplatz an, wenn die Partition eingebunden ist.<br />
# Mounten der Partiton:<br />
#* <pre>mount -rw /dev/hda1 /mnt/hda1</pre><br />
#* 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.<br />
# Nun wird ein root-Verzeichnis erstellt, das als Arbeitsordner dient. Wenn alle Dateien hier landen, kann leichter wieder aufgeräumt werden.<br />
#* <pre>mkdir /mnt/hda1/knx</pre><br />
# Falls der physikalische Speicher nicht ausreicht ( '''egrep "(MemTotal|SwapTotal)" /proc/meminfo && echo "(physical+swap)"''' ) wird ein SWAP-Bereich benötigt:<br />
#* <pre>cd /mnt/hda1/knx</pre><br />
#* <pre>dd if=/dev/zero of=swapfile bs=1M count=750 # Erzeugt 750 MB SWAP</pre><br />
#* <pre>mkswap swapfile</pre><br />
#* <pre>swapon swapfile</pre><br />
# 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:<br />
#* <pre>mkdir -p /mnt/hda1/knx/master/KNOPPIX</pre><br />
#* <pre>mkdir -p /mnt/hda1/knx/source/KNOPPIX</pre><br />
# Kopiere die KNOPPIX-Dateien in dein Source-Verzeichnis:<br />
#* <pre>cp -rp /KNOPPIX/* /mnt/hda1/knx/source/KNOPPIX</pre><br />
#* 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.<br />
# Als Nächstes werden die Dateien für die spätere Erstellung der ISO kopiert<br />
## Das Boot-Verzeichnis<br />
#* <pre><nowiki>cp -ar /cdrom/boot /mnt/hda1/knx/master/boot</nowiki></pre><br />
## Für Knoppix ab Version 5.0.1 ist auch der Modules-Ordner erforderlich.<br />
#* <pre><nowiki>cp -ar /cdrom/KNOPPIX/modules /mnt/hda1/knx/master/KNOPPIX/.</nowiki></pre><br />
# 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.<br />
#* < 3.4:<br />
#** <pre><nowiki>cd /cdrom/KNOPPIX && find . -size -10000k -type f -exec cp -p --parents '{}' /mnt/hda1/knx/master/KNOPPIX/ \;</nowiki></pre><br />
#* >= 3.4 (isolinux):<br />
#** <pre><nowiki>cd /cdrom && find . -size -10000k -type f -exec cp -p --parents '{}' /mnt/hda1/knx/master/ \;</nowiki></pre><br />
#* Für die DVD-Version muss die Größe auf -15000k gesetzt werden. Außerdem ist das Verzeichnis KNOPPIX2 zu kopieren:<br />
#** <pre><nowiki>cd /cdrom && find . -size -15000k -type f -exec cp -p --parents '{}' /mnt/hda1/knx/master/ \;</nowiki></pre><br />
#** <pre>cp -ar /KNOPPIX2/* /mnt/hda1/knx/source/KNOPPIX</pre><br />
# Die Umgebungsvariablen für chroot setzen:<br />
#* <pre>mount --bind /dev /mnt/hda1/knx/source/KNOPPIX/dev</pre> (s. Kommentar am Ende der Seite)<br />
#* <pre>mount --bind /proc /mnt/hda1/knx/source/KNOPPIX/proc</pre><br />
#* <pre>mount --bind /sys /mnt/hda1/knx/source/KNOPPIX/sys</pre><br />
# Jetzt kann das kopierte KNOPPIX-Verzeichnis zum Wurzelverzeichnis gemacht werden:<br />
#* <pre>chroot /mnt/hda1/knx/source/KNOPPIX</pre><br />
<br />
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:<br />
mount /dev/hda12 /mnt/hda12<br />
Und das hat sich geändert:<br />
mount /dev/hda12 on /mnt/hda12 type ext3 (rw)<br />
<br />
Wenn der obige Befehl nicht geht probiere:<br />
mount -t ext3 -o rw /dev/hda12 /mnt/hda12<br />
Bitte mit<br />
mount /dev/hdXX -o remount,rw,suid,dev<br />
alles richtig mounten, damit chroot funzt.<br />
<br />
<br />
danach kann man mit chroot weitermachen.<br />
<br />
== Arbeiten in der neuen Root Umgebung ==<br />
<br />
* chroot ist jetzt ausgeführt und das Verzeichnis "/" enspricht jetzt "/mnt/hda1/knx/source/KNOPPIX"<br />
* Beachte, dass ALLE folgenden Änderungen auf die CD / DVD gebrannt werden!<br />
<br />
=== Internetverbindung ===<br />
# 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.<br />
** <pre>cp /etc/dhcpc/resolv.conf /mnt/hda1/knx/source/KNOPPIX/etc/dhcpc/resolv.conf</pre><br />
* 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.<br />
** <pre>export http_proxy="http://meinProxy:8080"</pre><br />
* Wenn der Proxy-Server einen Benutzernamen und Passwort verlangt, sollte die folgende Zeile verwendet werden:<br />
** <pre>export http_proxy="http://Benutzername:Passwort@meinProxy:8080"</pre><br />
* Überprüfung der Internet-Verbindung: <br />
** <pre>ping google.com</pre><br />
<br />
=== SMB Zugriff ===<br />
* 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)<br />
<br />
=== APT ===<br />
Erneuerung der Paketlisten mit '''apt-get update'''<br />
<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).<br />
</blockquote><br />
<blockquote>Bei der Fehlermeldung "Dynamic NMap ran out of room" hilft der Eintrag:<br />
</blockquote><br />
echo 'APT::Cache-Limit "25168524";'>> /etc/apt/apt.conf<br />
<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><br />
<br />
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. <br />
<br />
<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><br />
Falls die Fehlermeldung '''(synaptic:....): Gtk-WARNING **: cannot open display:0''' erscheint, ein neues root-Terminal öffnen und das Kommando 'xhost +' absetzen.<br />
</blockquote><br />
<br />
Eine Liste der installierten Pakete wir angezeigt durch<br />
dpkg -l<br />
Eine Sortierung mit absteigender Sortierung:<br />
dpkg-query -W --showformat='${Installed-Size} ${Package} ${Status}\n' | grep -v deinstall | sort -n | awk '{print $1" "$2}'<br />
Nicht benötigte Pakete inklusive der Konfigurationsdateien entfernt der Befehl.<br />
apt-get purge "Paketname"<br />
Weitere Pakete werden automatisch mit <br />
apt-get autoremove <br />
entfernt. Weitere nicht mehr benötigte Libraries zeigt <br />
deborphan<br />
an. Sie können entfernt werden mit<br />
deborphan | xargs apt-get -y remove<br />
<br />
Die Installation von neuen Pakete geschieht durch <br />
apt-get install "paketname"<br />
Sollte der korrekte Paketname nicht bekannt sein, kann er ermittelt werden mit:<br />
apt-cache search "Suchbegriff"<br />
<br />
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.<br />
apt-get autoclean<br />
apt-get clean<br />
COLUMNS=200 dpkg -l |grep ^rc |awk '{print $2} ' | xargs dpkg -P<br />
<br />
=== Benutzereinstellungen ===<br />
Benutzereinstellungen sind in /etc/skel abgelegt. Dieses Verzeichnis wird in neue 'Homeverzeichnisse' kopiert. <br />
<br />
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.<br />
<br />
=== Notizen ===<br />
Interessantes aus der /etc/init.d/knoppix-autoconfig Datei:<br />
Das X-Hintergrundbild ist auf die Datei /cdrom/KNOPPIX/background.jpg eingestellt.<br />
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.<br />
<br />
Genauso wie floppyconfig gibt es auch ein cdromconfig, welches die Datei /cdrom/KNOPPIX/knoppix.sh ausführt (siehe [[Cheat Codes Deutsch]]).<br />
<br />
Interessantes aus der Datei /etc/init.d/xsession:<br />
Auch hier ist ein Hintergrundbild eingetragen: /usr/local/lib/knoppix.jpg<br />
<br />
== Verlassen der neuen Root Umgebung ==<br />
Sofern du es gemountet hast, musst du /proc wieder unmounten - sehr wichtig!<br />
* <pre>umount /proc</pre><br />
Drücke '''CTRL+D''' um die chroot-Umgebung zu verlassen.<br />
<br />
== Erzeugen des ISO ==<br />
<br />
* Wir sind fertig mit den Änderungen und bereit zum Brennen!<br />
* Als erstes sollte man etwas aufräumen: ''' lösche .bash_history, Dateien in /tmp, Pakete unter /var/cache/apt/archives etc. '''<br />
* '''rm -rf /mnt/hda1/knx/source/KNOPPIX/.rr_moved'''<br />
<br />
=== Komprimiertes KNOPPIX-Image ===<br />
Jetzt kann eine große KNOPPIX-Datei mit dem komprimierten cloop-ISO9660-Dateisystem erzeugt werden: <br />
<br />
* <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<br />
</code><br />
<br />
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.<br />
<br />
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.<br />
<br />
* <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<br />
</code><br />
<br />
=== Live-CD ISO ===<br />
Wenn alles glatt verlaufen ist, können wir mit dem endgültigen CD-ROM-Image weitermachen.<br />
# Aktualisieren der md5-Hashes um später die Integrität des Images prüfen zu können:<br />
#* <pre>cd /mnt/hda1/knx/master</pre><br />
#* <pre>rm -f KNOPPIX/md5sums; find -type f -not -name md5sums -not -name boot.cat -exec md5sum {} \; >> KNOPPIX/md5sums</pre><br />
# Das ISO erstellen:<br />
#* für Knoppix < 3.4:<br />
#** <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><br />
#* für Knoppix >= 3.4 (isolinux):<br />
#** <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><br />
#* Hinweis: Anscheinend wurde boot.cat bei neueren Versionen verschoben, boot.cat kann nun mit -c boot/isolinux/boot.cat eingebunden werden.<br />
#* Hinweis: Das ISO wird unter /mnt/hda1/knx/remastered.iso gespeichert<br />
#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<br />
#*<pre>cdrecord dev=/dev/hd? /mnt/hda1/knx/remastered.iso # /dev/hd? durch Device-Node des Brenners ersetzen</pre><br />
<br />
= Kommentare =<br />
Absatz 2.1, Punkt 12, Schritt 1 (mount --bind /dev...) führt bei der 5.3.1 reproduzierbar zur Fehlermeldung<br />
<br><code>mount: wrong fs type, bad option, bad superblock on /dev, missing codepage or other error</code><br />
<br />
<br />
[[Category: Remastering Knoppix ]]</div>RoTo