Difference between revisions of "Knoppix Remastering Howto Deutsch"


From Knoppix Documentation Wiki
Jump to: navigation, search
(Arbeiten in der neuen Root Umgebung)
 
(45 intermediate revisions by 16 users not shown)
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 HowTo beschreibt, wie eine Knoppix '''CD''' nach der alten "chroot-Methode" remastert werden kann. Die Scripte von "Vorarbeiten" bis "ISO erstellen" wurden mit '''Knoppix V7.0.4CD''' getestet. Dies HowTo kann nicht für eine Knoppix '''DVD''' verwendet werden.
  
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]].
+
== Vorarbeiten ==
 +
=== Vorbereitung zum Remaster ===
 +
* Boote mit ''Knoppix CD''
 +
* Ein Terminal öffnen und "su" eingeben, um root zu werden.
 +
* Internet-Verbindung einrichten. Wenn DHCP verwendet wird, sollte bereits alles von allein konfiguriert sein (mit '''ifconfig''' überprüfen).
 +
* Lege die Partition fest, mit der Du arbeiten willst und ändere die Variable "PFAD" innerhalb der Scripte wie Du sie brauchst. Im Beispiel hier wird '''/media/sda1''' verwendet. Die Partition sollte mindestens einen freien Platz von 5 GB zum remastern einer CD und 20 GB zum remastern einer DVD haben.
 +
* Das erste Script macht alle notwendigen Vorarbeiten:
 +
#! /bin/sh
 +
# krhowto_1
 +
# Path to partition you will work on
 +
PFAD="/media/sda1"
 +
START=$(date +'%s')
 +
# Disable screensaver
 +
xscreensaver-command -exit
 +
# One sub-directory will be used for the Master-CD
 +
mkdir -p $PFAD/knx/master
 +
cd $PFAD/knx
 +
# You will need a swapfile
 +
dd if=/dev/zero of=swapfile bs=1M count=500
 +
mkswap swapfile ; swapon swapfile
 +
# Make a sub-directory for the source
 +
mkdir -p $PFAD/knx/source/KNOPPIX
 +
echo "Copy the KNOPPIX files to your source directory."
 +
echo "This will take a long time!"
 +
cp -rp /KNOPPIX/* $PFAD/knx/source/KNOPPIX
 +
# Additionally, copy the files to build the ISO later
 +
rsync -aH --exclude="KNOPPIX/KNOPPIX*" /mnt-system/* $PFAD/knx/master
 +
# gunzip inital RAM-disk
 +
mkdir -p $PFAD/knx/minirt/minirtdir
 +
cp $PFAD/knx/master/boot/isolinux/minirt.gz $PFAD/knx/minirt/
 +
cd $PFAD/knx/minirt/
 +
gunzip minirt.gz
 +
cd minirtdir
 +
cpio -imd --no-absolute-filenames < ../minirt
 +
# Enable screensaver
 +
su knoppix -c "xscreensaver -nosplash &"
 +
echo -e "\nFinished! Used time: $(expr $(expr $(date +'%s') - $START) / 60) min. \
 +
  and $(expr $(expr $(date +'%s') - $START) % 60) sec."
 +
 +
=== Einrichten der chroot-Umgebung ===
 +
* Benutze dies Script bevor in die chroot-Umgebung gewechselt wird:
 +
#! /bin/sh
 +
# krhowto_2
 +
# Path to partition you will work on
 +
PFAD="/media/sda1"
 +
# To use the Internet add your nameserver into the chroot folder
 +
cp /etc/resolv.conf $PFAD/knx/source/KNOPPIX/etc/resolv.conf
 +
# Allow X-based programs in chroot
 +
[ -e $PFAD/knx/source/KNOPPIX/home/knoppix/.Xauthority ] \
 +
    && rm $PFAD/knx/source/KNOPPIX/home/knoppix/.Xauthority
 +
cp /home/knoppix/.Xauthority $PFAD/knx/source/KNOPPIX/home/knoppix
 +
chown knoppix:knoppix $PFAD/knx/source/KNOPPIX/home/knoppix/.Xauthority
 +
# prepare enviroment for chroot
 +
mount --bind /dev $PFAD/knx/source/KNOPPIX/dev
 +
mount -t proc proc $PFAD/knx/source/KNOPPIX/proc
 +
mount -t sysfs sysfs $PFAD/knx/source/KNOPPIX/sys
 +
mount --bind /dev/pts $PFAD/knx/source/KNOPPIX/dev/pts
 +
mount --bind /tmp $PFAD/knx/source/KNOPPIX/tmp
  
= Voraussetzungen: =
+
<center>[[#top|Top]]</center>
* CD-ISO
+
** insgesamt mindestens 1 Gigabyte freien RAM+Swap (z.B. 256 Megabyte RAM und 750 Megabyte Swap-Bereich verfügbar)
+
=== Arbeiten in der chroot-Umgebung ===
** 3 GB freien Speicherplatz auf einer LINUX-kompatiblen Partition (ext2/3, etc.)
+
* Jetzt das "chroot" zur Kopie von KNOPPIX:
* DVD-ISO
+
  chroot /media/sda1/knx/source/KNOPPIX
** insgesamt mindestens 5 Gigabyte freien RAM+Swap (z.B. 3 Gigabyte RAM und 2 Gigabyte Swap-Bereich verfügbar)
+
* Bedenke, daß alles, was Du hier in der chroot-Umgebung machst, auf die CD gebrannt werden wird.
** 15 GB freien Speicherplatz auf einer LINUX-kompatiblen Partition (ext2/3, etc.)
+
* Innerhalb des chroot können auch X-basierte Programme ausgeführt werden, wenn man sie von der Kommandozeile im Terminal aus startet.
 +
* Tippe "su knoppix" ein, um zum Benutzer "knoppix" zu werden; verwende '''Strg+D''', um wieder "root" zu sein.
 +
* Aktualisiere zuerst die Paketliste mit: '''apt-get update'''
 +
** '''Warnung''': apt-get upgrade ist eine '''schlechte Idee'''. Es ist ziemlich wahrscheinlich, daß ein nicht mehr bootbares remastert KNOPPIX zurück bleibt, oder es sonstwie zerstört ist. Sicherer ist es, nur für einzelne Pakete ein Upgrade zu machen, wenn es wirklich nötig ist.
 +
**Bevor man weitere Pakete installiert, wird es erforderlich sein, stattdessen andere Pakete zu löschen.
 +
* Um eine Übersicht über die installierten Pakete zu erhalten, kann [http://www.wp-schulz.de/scripte/kn-what-script kn-what] benutz werden, welches unter anderen auch eine Liste nach Dateigröße liefert.
  
= Anleitung =
+
=== Verlassen der chroot-Umgebung ===
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.
+
* Verwende '''Strg+D''', um die chroot-Umgebung zu verlassen; dann dies Script ausführen:
 +
#! /bin/sh
 +
# krhowto_3
 +
# Path to partition you will work on
 +
PFAD="/media/sda1"
 +
for i in dev/pts proc sys dev tmp; do
 +
  umount $PFAD/knx/source/KNOPPIX/$i
 +
done
 +
sed -i '2,$d' $PFAD/knx/source/KNOPPIX/etc/resolv.conf
 +
 +
=== Arbeiten außerhalb der chroot-Umgebung ===
 +
* Wenn man ein andersartiges Startverhalten von Knoppix möchte, kann man Änderungen in '/media/sda1/knx/master/boot/isolinux/isolinux.cfg' eintragen:
 +
** Ersetze zum Beispiel überall 'tz=localtime' mit 'tz=Europe/Berlin'
 +
* In dieser Datei kann man auch Cheatcodes anfügen, welche man immer braucht:
 +
** Hänge zum Beispiel 'no3d' (ohne ' ') an jede Append-Zeile an, wenn man nicht Compiz 3d mag.
 +
* Lies '''knoppix-cheatcodes.txt''' durch. Die neuste Version davon ist immer hier [http://www.knopper.net/knoppix-mirrors/ Mirrors] zu finden.
 +
* In '/media/sda1/knx/source/KNOPPIX/etc/X11/Xsession.d/45knoppix' findet sich, welches Wallpaper Knoppix benutzt und welchen Startsound.
 +
* In '/media/sda1/knx/source/KNOPPIX/etc/init.d/knoppix-halt' ist der Hinweis, was beim shutdown zu hören ist.
 +
* Erstelle die Datei '/media/sda1/knx/master/KNOPPIX/knoppix.sh' neu und trage hier Dienste ein, welche man zusätzlich starten möchte.
  
== Umgebung für das Remastering einrichten ==
+
<center>[[#top|Top]]</center>
  
# Booten von der ''Knoppix-CD''
+
== ISO erstellen ==
# Öffne eine Root Shell:
+
* Wir sind jetzt fertig mit den Anpassungen und bereit zum brennen:
#* Menü: KDE-Menü->Knoppix->Root Shell
+
#! /bin/sh
#* Hinweis: Alle weiter unten stehenden Befehle sollten von der Root-Shell aufgerufen werden.
+
# krhowto_4
# Konfigurieren deiner Internet-Verbindung (die brauchen wir später noch). Wenn du DHCP benutzt sollte sie bereits eingerichtet sein.
+
# Path to partition you will work on
#* Hinweis: Rufe '''ifconfig''' auf um dies zu überprüfen.
+
PFAD="/media/sda1"
# Suche dir eine Partition auf der du arbeiten willst.
+
START=$(date +'%s')
#* Hinweis: '''df -h''' zeigt den freien Speicherplatz an, wenn die Partition eingebunden ist.
+
# Disable screensaver
# Mounte die Partiton:
+
xscreensaver-command -exit
#* <pre>mount -rw /dev/hda1 /mnt/hda1</pre>
+
# Build new inital RAM-disk
#* 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.
+
cd $PFAD/knx/minirt/minirtdir/
# Erzeuge 2 Verzeichnisse auf Partition, eines für deine neue Master-CD und eines für die Source und erzeuge in jedem ein Unterverzeichnis ''KNOPPIX'':
+
find . | cpio -oH newc | gzip -9 > ../minirt.gz
#* <pre>mkdir -p /mnt/hda4/knxmaster/KNOPPIX</pre>
+
  cp $PFAD/knx/minirt/minirt.gz $PFAD/knx/master/boot/isolinux/
#* <pre>mkdir -p /mnt/hda4/knxsource/KNOPPIX</pre>
+
# Make the big compressed filesystem KNOPPIX
# Falls der physikalische Speicher nicht ausreicht muss SWAP erzeugt werden:
+
genisoimage -input-charset ISO-8859-15 -R -l -D -V KNOPPIX_FS -quiet \
#* <pre>cat /proc/meminfo # zeigt die Speicherauslastung an</pre>
+
  -no-split-symlink-components -no-split-symlink-fields \
#* <pre>cd /mnt/hda4/</pre>
+
  -hide-rr-moved -cache-inodes $PFAD/knx/source/KNOPPIX \
#* <pre>dd if=/dev/zero of=swapfile bs=1M count=750  # Erzeugt 750 MB SWAP</pre>
+
  | /usr/sbin/create_compressed_fs -q -B 65536 -t 8 -L 9 \
#* <pre>mkswap swapfile</pre>
+
  -f $PFAD/knx/isotemp - $PFAD/knx/master/KNOPPIX/KNOPPIX
#* <pre>swapon swapfile</pre>
+
# Update the file hashes used by the "testcd" boot option
# Kopiere die KNOPPIX-Dateien in dein Source-Verzeichnis:
+
cd $PFAD/knx/master ; find -type f -not -name \
#* <pre>cp -rp /KNOPPIX/* /mnt/hda4/knxsource/KNOPPIX</pre>
+
  sha1sums -not -name boot.cat -not \
#* 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.
+
  -name isolinux.bin -exec sha1sum '{}' \; > KNOPPIX/sha1sums
# 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:
+
# Create new Knoppix ISO
#* <pre>cp /cdrom/index.html /mnt/hda4/knxmaster/</pre>
+
genisoimage -l -r -J -V "KNOPPIX" \
#* <pre>cp -p /cdrom/cdrom.ico /cdrom/autorun.* /mnt/hda4/knxmaster/</pre>
+
  -b boot/isolinux/isolinux.bin -no-emul-boot -boot-load-size 4 \
#* <pre>cp -ar /cdrom/boot/ /mnt/hda4/knxmaster/boot/</pre>
+
  -boot-info-table -c boot/isolinux/boot.cat \
#* <pre>cp -ar /cdrom/KNOPPIX/modules /mnt/hda4/knxmaster/KNOPPIX/</pre>
+
  -o $PFAD/knx/remasterd.iso $PFAD/knx/master
#* < 3.4:
+
# Enable screensaver
#** <pre><nowiki>cd /cdrom/KNOPPIX && find . -size -10000k -type f -exec cp -p --parents '{}' /mnt/hda1/knx/master/KNOPPIX/ \;</nowiki></pre>
+
su knoppix -c "xscreensaver -nosplash &"
#* >= 3.4 (isolinux):
+
echo -e "\nFinished! Used time: $(expr $(expr $(date +'%s') - $START) / 60) min. \
#** <pre><nowiki>cd /cdrom && find . -size -10000k -type f -exec cp -p --parents '{}' /mnt/hda1/knx/master/ \;</nowiki></pre>
+
  and $(expr $(expr $(date +'%s') - $START) % 60) sec. \
# Jetzt kannst du das kopierte KNOPPIX-Verzeichnis zum Wurzelverzeichnis machen:
+
  \n\nThe new ISO is stored in '$PFAD/knx/remastered.iso' "
#* <pre>chroot /mnt/hda4/knxsource/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:
+
<center>[[#top|Top]]</center>
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:
+
== ISO testen ohne eine CD zu brennen ==
  mount -t ext3 -o rw /dev/hda12 /mnt/hda12
+
* kvm-qemu
Bitte mit
+
Wenn der Prozessor Virtualization unterstützt '''und''' wenn dies im BIOS aktiviert ist, kannst Du die neue ISO mit kvm-qemu testen. Prüfe auf Support mit:
  mount /dev/hdXX -o remount,rw,suid,dev
+
  egrep '(vmx|svm)' --color=always /proc/cpuinfo
alles richtig mounten, damit chroot funzt.
+
Wenn das Ergebnis "vmx" ist, gib
 +
  modprobe kvm-intel
 +
andernfalls, wenn das Ergebnis "svm" ist, gib
 +
modprobe kvm-amd
 +
ein, um das kvm Modul zu laden. Jetzt kann das Iso getestet werden mit:
 +
kvm -m 512 -cdrom $PFAD/knx/remastered.iso
  
 +
* VirtualBox
 +
Alternativ kann das neue ISO mit VirtualBox geprüft werden.
 +
----
  
danach kann man mit chroot weitermachen.
+
Sieh auch:
 
+
* [http://www.wp-schulz.de/summary/summary-remaster Remaster Knoppix without chroot]
== Arbeiten in der neuen Root Umgebung ==
+
* [http://www.wp-schulz.de/summary/summary-recombine Recombine Knoppix flash installation]
 
+
* chroot ist jetzt ausgeführt und das Verzeichnis "/" enspricht jetzt "/mnt/hda4/knxsource/KNOPPIX"
+
* Beachte, dass ALLE folgenden Änderungen auf die CD / DVD gebrannt werden!
+
* Um ins Internet zu kommen, muß man noch proc mounten:  
+
** <pre>mount -t proc /proc proc</pre>
+
* Falls ihr euch hinter einen Router befindet, muss die resolv.conf editiert und der Nameserver eingetragen werden oder ihr kopiert die Original Datei von ausserhalb der CHROOT-Umgebung.
+
** <pre>cp /etc/dhcpc/resolv.conf /mnt/hda4/knxsource/KNOPPIX/etc/dhcpc/resolv.conf</pre>
+
* Wenn ihr auf das Internet nur über einen Proxy-Server zugreifen könnt, müsst ihr das System für die Verwendung des Proxy-Servers einrichten. 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.
+
** <pre>export http_proxy="http://meinProxy:8080"</pre>
+
* Wenn der Proxy-Server einen Benutzernamen und Passwort verlangt, solltet ihr die folgende Zeile verwenden:
+
** <pre>export http_proxy="http://Benutzername:Passwort@meinProxy:8080"</pre>
+
* 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:
+
** <pre>ping google.com</pre>
+
* Und jetzt kann man endlich Änderungen durchführen. Wenn man Programme hinzufügen will, dann muss man eventuell andere entfernen, um Platz zu machen. Damit möglichst viel freier Speicherplatz auf der CD geschaffen wird, müssen große und nicht notwendige Programme entfernt werden. Da weder '''apt-cache search''' noch '''dpkg -l''' eine Möglichkeit bieten, die installierten Pakete der Größe nach zu sortieren, biete der folgende Befehl eine gute Alternative.
+
** <pre>dpkg-query -W --showformat='${Installed-Size} ${Package}\n' | sort -n</pre>
+
*Nicht benötigte Pakete entfernt der Befehl.
+
** <pre>apt-get remove "paketname"</pre>
+
*Leider ist '''apt''' nicht sehr intelligent und entfernt nicht alle nicht mehr benötigten Dateien. Ich empfehle die Suchfunktion zu benutzen um nach zugehörigen Paketen zu suchen.
+
* ''Beispiel'': '''apt-get remove gimp''' entfernt zwar gimp, aber nicht das dazugehörige Paket gimp-data. Intelligenter, aber ein bisschen komplizierter in der Handhabung ist das Programm '''aptitude.''' Es handelt sich dabei um X-basiertes Konsolentool, welches sehr gründlich auch abhängige Pakete entfernt.
+
* Falls apt-get mit "Dynamic NMap ran out of room" fehlschlägt:
+
** <pre>echo 'APT::Cache-Limit "25168524";' >> /etc/apt/apt.conf</pre>
+
* Natürlich möchte man auch neue Pakete installieren, dafür folgenden Befehl benutzen.
+
**<pre>apt-get install "paketname"</pre>
+
*Es ist notwendigen den korrekten Paketnamen anzugeben. Einfach nur '''mysql''' reicht da nicht aus. Der vollständigen Paketnamen sucht man am besten mit
+
**<pre>apt-cache search "paketname"</pre>
+
* 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.
+
**<pre>apt-get autoclean</pre>
+
**<pre>apt-get clean</pre>
+
* Ä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.&nbsp;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!
+
* <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/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
+
 
+
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
+
 
+
=== Live-CD ISO ===
+
Wenn alles glatt verlaufen ist dann können wir mit dem engü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/hda4/knxmaster</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:
+
#** <pre>mkisofs -pad -l -r -J -v -V "KNOPPIX" --publisher "KNOPPIX www.knoppix.net" -b KNOPPIX/boot.img ┐</pre><pre> -c KNOPPIX/boot.cat -hide-rr-moved -o /mnt/hda4/remastered.iso /mnt/hda4/knxmaster'''</pre>
+
#* für Knoppix >= 3.4 (isolinux):
+
#** <pre>mkisofs -pad -l -r -J -v -V "KNOPPIX" --publisher "KNOPPIX www.knoppix.net" -b boot/isolinux/isolinux.bin -no-emul-boot ┐</pre><pre>-boot-load-size 4 -boot-info-table -c KNOPPIX/boot.cat -hide-rr-moved -o /mnt/hda4/remasterd.iso /mnt/hda4/knxmaster</pre>
+
#* Hinweis: Das ISO wird unter /mnt/hda4/remastered.iso gespeichert
+
Fertig :)
+
  
 +
<center>[[#top|Top]]</center>
  
 
[[Category: Remastering Knoppix ]]
 
[[Category: Remastering Knoppix ]]

Latest revision as of 09:12, 3 May 2016

Dies HowTo beschreibt, wie eine Knoppix CD nach der alten "chroot-Methode" remastert werden kann. Die Scripte von "Vorarbeiten" bis "ISO erstellen" wurden mit Knoppix V7.0.4CD getestet. Dies HowTo kann nicht für eine Knoppix DVD verwendet werden.

Vorarbeiten

Vorbereitung zum Remaster

  • Boote mit Knoppix CD
  • Ein Terminal öffnen und "su" eingeben, um root zu werden.
  • Internet-Verbindung einrichten. Wenn DHCP verwendet wird, sollte bereits alles von allein konfiguriert sein (mit ifconfig überprüfen).
  • Lege die Partition fest, mit der Du arbeiten willst und ändere die Variable "PFAD" innerhalb der Scripte wie Du sie brauchst. Im Beispiel hier wird /media/sda1 verwendet. Die Partition sollte mindestens einen freien Platz von 5 GB zum remastern einer CD und 20 GB zum remastern einer DVD haben.
  • Das erste Script macht alle notwendigen Vorarbeiten:
#! /bin/sh
# krhowto_1
# Path to partition you will work on
PFAD="/media/sda1"
START=$(date +'%s')
# Disable screensaver
xscreensaver-command -exit
# One sub-directory will be used for the Master-CD
mkdir -p $PFAD/knx/master
cd $PFAD/knx
# You will need a swapfile
dd if=/dev/zero of=swapfile bs=1M count=500
mkswap swapfile ; swapon swapfile
# Make a sub-directory for the source
mkdir -p $PFAD/knx/source/KNOPPIX
echo "Copy the KNOPPIX files to your source directory."
echo "This will take a long time!"
cp -rp /KNOPPIX/* $PFAD/knx/source/KNOPPIX
# Additionally, copy the files to build the ISO later
rsync -aH --exclude="KNOPPIX/KNOPPIX*" /mnt-system/* $PFAD/knx/master
# gunzip inital RAM-disk
mkdir -p $PFAD/knx/minirt/minirtdir
cp $PFAD/knx/master/boot/isolinux/minirt.gz $PFAD/knx/minirt/
cd $PFAD/knx/minirt/
gunzip minirt.gz
cd minirtdir
cpio -imd --no-absolute-filenames < ../minirt
# Enable screensaver
su knoppix -c "xscreensaver -nosplash &"
echo -e "\nFinished! Used time: $(expr $(expr $(date +'%s') - $START) / 60) min. \
  and $(expr $(expr $(date +'%s') - $START) % 60) sec."

Einrichten der chroot-Umgebung

  • Benutze dies Script bevor in die chroot-Umgebung gewechselt wird:
#! /bin/sh
# krhowto_2
# Path to partition you will work on
PFAD="/media/sda1"
# To use the Internet add your nameserver into the chroot folder
cp /etc/resolv.conf $PFAD/knx/source/KNOPPIX/etc/resolv.conf
# Allow X-based programs in chroot
[ -e $PFAD/knx/source/KNOPPIX/home/knoppix/.Xauthority ] \
   && rm $PFAD/knx/source/KNOPPIX/home/knoppix/.Xauthority
cp /home/knoppix/.Xauthority $PFAD/knx/source/KNOPPIX/home/knoppix
chown knoppix:knoppix $PFAD/knx/source/KNOPPIX/home/knoppix/.Xauthority
# prepare enviroment for chroot
mount --bind /dev $PFAD/knx/source/KNOPPIX/dev
mount -t proc proc $PFAD/knx/source/KNOPPIX/proc
mount -t sysfs sysfs $PFAD/knx/source/KNOPPIX/sys
mount --bind /dev/pts $PFAD/knx/source/KNOPPIX/dev/pts
mount --bind /tmp $PFAD/knx/source/KNOPPIX/tmp
Top

Arbeiten in der chroot-Umgebung

  • Jetzt das "chroot" zur Kopie von KNOPPIX:
 chroot /media/sda1/knx/source/KNOPPIX
  • Bedenke, daß alles, was Du hier in der chroot-Umgebung machst, auf die CD gebrannt werden wird.
  • Innerhalb des chroot können auch X-basierte Programme ausgeführt werden, wenn man sie von der Kommandozeile im Terminal aus startet.
  • Tippe "su knoppix" ein, um zum Benutzer "knoppix" zu werden; verwende Strg+D, um wieder "root" zu sein.
  • Aktualisiere zuerst die Paketliste mit: apt-get update
    • Warnung: apt-get upgrade ist eine schlechte Idee. Es ist ziemlich wahrscheinlich, daß ein nicht mehr bootbares remastert KNOPPIX zurück bleibt, oder es sonstwie zerstört ist. Sicherer ist es, nur für einzelne Pakete ein Upgrade zu machen, wenn es wirklich nötig ist.
    • Bevor man weitere Pakete installiert, wird es erforderlich sein, stattdessen andere Pakete zu löschen.
  • Um eine Übersicht über die installierten Pakete zu erhalten, kann kn-what benutz werden, welches unter anderen auch eine Liste nach Dateigröße liefert.

Verlassen der chroot-Umgebung

  • Verwende Strg+D, um die chroot-Umgebung zu verlassen; dann dies Script ausführen:
#! /bin/sh
# krhowto_3
# Path to partition you will work on
PFAD="/media/sda1"
for i in dev/pts proc sys dev tmp; do
  umount $PFAD/knx/source/KNOPPIX/$i
done
sed -i '2,$d' $PFAD/knx/source/KNOPPIX/etc/resolv.conf

Arbeiten außerhalb der chroot-Umgebung

  • Wenn man ein andersartiges Startverhalten von Knoppix möchte, kann man Änderungen in '/media/sda1/knx/master/boot/isolinux/isolinux.cfg' eintragen:
    • Ersetze zum Beispiel überall 'tz=localtime' mit 'tz=Europe/Berlin'
  • In dieser Datei kann man auch Cheatcodes anfügen, welche man immer braucht:
    • Hänge zum Beispiel 'no3d' (ohne ' ') an jede Append-Zeile an, wenn man nicht Compiz 3d mag.
  • Lies knoppix-cheatcodes.txt durch. Die neuste Version davon ist immer hier Mirrors zu finden.
  • In '/media/sda1/knx/source/KNOPPIX/etc/X11/Xsession.d/45knoppix' findet sich, welches Wallpaper Knoppix benutzt und welchen Startsound.
  • In '/media/sda1/knx/source/KNOPPIX/etc/init.d/knoppix-halt' ist der Hinweis, was beim shutdown zu hören ist.
  • Erstelle die Datei '/media/sda1/knx/master/KNOPPIX/knoppix.sh' neu und trage hier Dienste ein, welche man zusätzlich starten möchte.
Top

ISO erstellen

  • Wir sind jetzt fertig mit den Anpassungen und bereit zum brennen:
#! /bin/sh
# krhowto_4
# Path to partition you will work on
PFAD="/media/sda1"
START=$(date +'%s')
# Disable screensaver
xscreensaver-command -exit
# Build new inital RAM-disk
cd $PFAD/knx/minirt/minirtdir/
find . | cpio -oH newc | gzip -9 > ../minirt.gz
cp $PFAD/knx/minirt/minirt.gz $PFAD/knx/master/boot/isolinux/
# Make the big compressed filesystem KNOPPIX
genisoimage -input-charset ISO-8859-15 -R -l -D -V KNOPPIX_FS -quiet \
  -no-split-symlink-components -no-split-symlink-fields \
  -hide-rr-moved -cache-inodes $PFAD/knx/source/KNOPPIX \
  | /usr/sbin/create_compressed_fs -q -B 65536 -t 8 -L 9 \
  -f $PFAD/knx/isotemp - $PFAD/knx/master/KNOPPIX/KNOPPIX
# Update the file hashes used by the "testcd" boot option
cd $PFAD/knx/master ; find -type f -not -name \
  sha1sums -not -name boot.cat -not \
  -name isolinux.bin -exec sha1sum '{}' \; > KNOPPIX/sha1sums
# Create new Knoppix ISO
genisoimage -l -r -J -V "KNOPPIX" \
  -b boot/isolinux/isolinux.bin -no-emul-boot -boot-load-size 4 \
  -boot-info-table -c boot/isolinux/boot.cat \
  -o $PFAD/knx/remasterd.iso $PFAD/knx/master
# Enable screensaver
su knoppix -c "xscreensaver -nosplash &"
echo -e "\nFinished! Used time: $(expr $(expr $(date +'%s') - $START) / 60) min. \
  and $(expr $(expr $(date +'%s') - $START) % 60) sec. \
  \n\nThe new ISO is stored in '$PFAD/knx/remastered.iso' "
Top

ISO testen ohne eine CD zu brennen

  • kvm-qemu

Wenn der Prozessor Virtualization unterstützt und wenn dies im BIOS aktiviert ist, kannst Du die neue ISO mit kvm-qemu testen. Prüfe auf Support mit:

egrep '(vmx|svm)' --color=always /proc/cpuinfo

Wenn das Ergebnis "vmx" ist, gib

modprobe kvm-intel

andernfalls, wenn das Ergebnis "svm" ist, gib

modprobe kvm-amd

ein, um das kvm Modul zu laden. Jetzt kann das Iso getestet werden mit:

kvm -m 512 -cdrom $PFAD/knx/remastered.iso
  • VirtualBox

Alternativ kann das neue ISO mit VirtualBox geprüft werden.


Sieh auch:

Top