Difference between revisions of "Knoppix Remastering Howto French"


From Knoppix Documentation Wiki
Jump to: navigation, search
Line 6: Line 6:
 
== Voir aussi : ==
 
== Voir aussi : ==
 
* Si vous voulez ajouter un noyau personnalisé, regardez le [[Knoppix Custom Kernel Howto]]
 
* Si vous voulez ajouter un noyau personnalisé, regardez le [[Knoppix Custom Kernel Howto]]
* Il y a aussi un guide aux éditions O'reilly sur le mêle sujet : [[http://linux.oreillynet.com/lpt/a/4323 Utiliser et personnaliser]]
+
* Il y a aussi un guide aux éditions O'reilly sur le même sujet : [[http://linux.oreillynet.com/lpt/a/4323 Utiliser et personnaliser Knoppix]]
 
----
 
----
 
=== Ceci est un guide qui va vous montrer comment remasteriser KNOPPIX ===
 
=== Ceci est un guide qui va vous montrer comment remasteriser KNOPPIX ===
 
(Notes : Les commandes doivent apparaitre sur une ligne, maximisez la fenêtre s'il vous plait. Si vous avez des commentaires/suggestions, merci de les poster ci-dessous.)
 
(Notes : Les commandes doivent apparaitre sur une ligne, maximisez la fenêtre s'il vous plait. Si vous avez des commentaires/suggestions, merci de les poster ci-dessous.)
  
Vous voulez peut être commecner à partir d'une Knoppix déjà personnalisée, si tel est le cas vous n'avez probablement pas autant de travail à faire (comme enlever des programmes). Si vous êtes dans ce cas, voir [[Knoppix Customizations]].
+
Vous voulez peut être commencer à partir d'une Knoppix déjà personnalisée, si tel est le cas vous n'avez probablement pas autant de travail à faire (comme enlever des programmes). Si vous êtes dans ce cas, voir [[Knoppix Customizations]].
  
  
 
==== Système Requis: ====
 
==== Système Requis: ====
 
*CD-ISO
 
*CD-ISO
** Au moins 1 GB de mémoire RAM+Swap libre totale (ex 256M ram, et 750M swap DISPONIBLE) (a moins que vous utilisiez un programme de compression différent - voir cette page pour [[http://projects.openoffice.nl/downloads/compressloop/ compressloop]])
+
** Au moins 1 GB de mémoire RAM+Swap libre totale (ex 256M ram, et 750M swap DISPONIBLE) (à moins que vous utilisiez un programme de compression différent - voir cette page pour [[http://projects.openoffice.nl/downloads/compressloop/ compressloop]])
 
** 3 GB de libre sur une partition '''Linux filesystem (ext2/3, xfs, etc.)''' formattée
 
** 3 GB de libre sur une partition '''Linux filesystem (ext2/3, xfs, etc.)''' formattée
 
*DVD-ISO
 
*DVD-ISO
Line 30: Line 30:
 
** Note: Toutes les commandes ci-dessous s'éxecutent à partir de ce shell root.
 
** Note: Toutes les commandes ci-dessous s'éxecutent à partir de ce shell root.
 
# Configurer votre connexion internet (nous en aurons besoin plus tard). Si vous utilisez DHCP, cela devrait déjà être configuré.
 
# Configurer votre connexion internet (nous en aurons besoin plus tard). Si vous utilisez DHCP, cela devrait déjà être configuré.
** Note: Excecutez '''ifconfig''' pour vérifier.
+
** Note: Executez '''ifconfig''' pour vérifier.
 
# Trouver la partition que vous utiliserez pour travailler. Dans cet exemple, elle est appellée '''hda1''' . La partition devrait avoir au minimum 3 GB d'espace libre.
 
# Trouver la partition que vous utiliserez pour travailler. Dans cet exemple, elle est appellée '''hda1''' . La partition devrait avoir au minimum 3 GB d'espace libre.
 
# Monter la partition:
 
# Monter la partition:
Line 40: Line 40:
 
# Si vous n'avez pas 1 GB de RAM ('''cat /proc/meminfo''' (physical+swap)) alors vous devrez avoir un fichier de swap:
 
# Si vous n'avez pas 1 GB de RAM ('''cat /proc/meminfo''' (physical+swap)) alors vous devrez avoir un fichier de swap:
 
** '''cd /mnt/hda1/knx ; dd if=/dev/zero of=swapfile bs=1M count=750 ; mkswap swapfile ; swapon swapfile'''
 
** '''cd /mnt/hda1/knx ; dd if=/dev/zero of=swapfile bs=1M count=750 ; mkswap swapfile ; swapon swapfile'''
# Créer 2 repertoires, un pour votre nouveau Master CD, un pour les sources, sur une partition. Créer également des repertoires additionnels sous celui-ci nommé KNOPPIX:
+
# Créer 2 repertoires, un pour votre nouveau Master CD, un pour les sources, sur une partition. Créer également des répertoires additionnels sous celui-ci nommé KNOPPIX:
 
** '''mkdir -p /mnt/hda1/knx/master/KNOPPIX'''
 
** '''mkdir -p /mnt/hda1/knx/master/KNOPPIX'''
 
** '''mkdir -p /mnt/hda1/knx/source/KNOPPIX'''
 
** '''mkdir -p /mnt/hda1/knx/source/KNOPPIX'''
# Maintenant, copier les fichiers KNOPPIX vers votre repertoire source :
+
# Maintenant, copiez les fichiers KNOPPIX vers votre répertoire source :
 
'''cp -Rp /KNOPPIX/*''' '''/mnt/hda1/knx/source/KNOPPIX '''
 
'''cp -Rp /KNOPPIX/*''' '''/mnt/hda1/knx/source/KNOPPIX '''
 
** Note: Cela peut prendre un petit momment
 
** Note: Cela peut prendre un petit momment
Line 54: Line 54:
 
** '''chroot /mnt/hda1/knx/source/KNOPPIX'''
 
** '''chroot /mnt/hda1/knx/source/KNOPPIX'''
  
Si vous avez un ensemble d'erreurs '''/dev/null permission denied''', vous devriez faire ce qui suit. Ceci peut arriver si vous sauvez vos données configurées pour la Knoppix sur la même partition que vous utilisez, ET si vous démarrrez Knoppix avec '''knoppix home=scan'''.
+
Si vous avez un ensemble d'erreurs '''/dev/null permission denied''', vous devriez faire ce qui suit. Ceci peut arriver si vous sauvez vos données configurées pour la Knoppix sur la même partition que celle que vous utilisez, ET si vous démarrrez Knoppix avec '''knoppix home=scan'''.
  
Vérifiez l'état de vos montages si vous rencontre le problem: '''mount /dev/hdaX on /mnt/hdaX type ext3 (rw,nosuid,nodev)''' (remplacer X par le numéro de votre partition)  où "nodev" signifie que vous n'avez pas acces au systeme de fichier monté et que vous ne pouvez ainsi pas acceder à /dev/null. Alors que cetains scripts ont besoin de rediriger leur sortie vers /dev/null ... Pour resoudre ceci, vous devez monter la partiton cible avant de "chrooter" comme ca :
+
Vérifiez l'état de vos montages si vous rencontrez le probleme: '''mount /dev/hdaX on /mnt/hdaX type ext3 (rw,nosuid,nodev)''' (remplacer X par le numéro de votre partition)  où "nodev" signifie que vous n'avez pas accès au système de fichier monté et que vous ne pouvez ainsi pas acceder à /dev/null. Alors que cetains scripts ont besoin de rediriger leur sortie vers /dev/null ... Pour résoudre ceci, vous devez monter la partiton cible avant de "chrooter", comme ca :
 
  ^d  # control+d sortira de l'environnement chroot
 
  ^d  # control+d sortira de l'environnement chroot
 
  mount /dev/hda1 /mnt/hda1
 
  mount /dev/hda1 /mnt/hda1
Line 62: Line 62:
 
  mount /dev/hda1 on /mnt/hda1 type ext3 (rw)
 
  mount /dev/hda1 on /mnt/hda1 type ext3 (rw)
  
Si les /dev/null warnings persistent, faites alors avant le chroot :
+
Si les erreurs "/dev/null" persistent, faites alors avant le chroot :
 
  mount --bind /dev /mnt/hda1/knx/source/KNOPPIX/dev
 
  mount --bind /dev /mnt/hda1/knx/source/KNOPPIX/dev
 
Vous devez démonter /mnt/hda1/knx/source/KNOPPIX/dev avant de construire l'image du CD ou bien votre répertoire /dev sur le CD sera en bordel !
 
Vous devez démonter /mnt/hda1/knx/source/KNOPPIX/dev avant de construire l'image du CD ou bien votre répertoire /dev sur le CD sera en bordel !
Line 71: Line 71:
 
* Pour utiliser votre connexion internet you devez monter proc '''mount -t proc /proc proc'''
 
* Pour utiliser votre connexion internet you devez monter proc '''mount -t proc /proc proc'''
 
* Maintenant éditer /etc/resolv.conf et ajouter votre serveur de nom ou "sortir" du chroot et copier le fichier resolve.conf dans le dossier chrooté: '''cp /etc/dhcpc/resolv.conf vers /mnt/hda1/knx/source/KNOPPIX/etc/dhcpc/resolv.conf'''
 
* Maintenant éditer /etc/resolv.conf et ajouter votre serveur de nom ou "sortir" du chroot et copier le fichier resolve.conf dans le dossier chrooté: '''cp /etc/dhcpc/resolv.conf vers /mnt/hda1/knx/source/KNOPPIX/etc/dhcpc/resolv.conf'''
* Changer aussi smb.conf vers votre groupe MS  si vous voulez le support smbd (MSHOME pour XP Familliale édition, et WORKGROUP  pour les Windows 9x.
+
* Changer aussi smb.conf vers votre groupe MS  si vous voulez le support smbd (MSHOME pour XP Familliale édition, et WORKGROUP  pour les Windows 9x).
 
* Vérifiez votre connection internet chrootée : '''ping google.com'''
 
* Vérifiez votre connection internet chrootée : '''ping google.com'''
 
* Mettez à jour votre list de paquet avec '''apt-get update'''
 
* Mettez à jour votre list de paquet avec '''apt-get update'''
* Maintenant vous pouvez changer des choses.
+
* Maintenant vous pouvez changer des trucs.
 
* '''Attention''': apt-get upgrade est une MAUVAISE IDEE. Cela va, très probablement, rendre votre KNOPPIX remasterisée inbootable, ou cassée en quelque sorte. Une méthode bien plus sûre est de seulement mettre à jour les paquets nécessaires
 
* '''Attention''': apt-get upgrade est une MAUVAISE IDEE. Cela va, très probablement, rendre votre KNOPPIX remasterisée inbootable, ou cassée en quelque sorte. Une méthode bien plus sûre est de seulement mettre à jour les paquets nécessaires
 
** Avant de pouvoir ajouter des choses, vous aurez probablement besoin d'enlever quelques packages.  Pour avoir une liste des packages installé, tapez ce qui suit:
 
** Avant de pouvoir ajouter des choses, vous aurez probablement besoin d'enlever quelques packages.  Pour avoir une liste des packages installé, tapez ce qui suit:
Line 86: Line 86:
 
** Pour vouloir économiser plus de place en se débarrassant de ces irritants orphelins (comme c'est cruel!), tapez ('''Attention''', vous n'aurez pas à confirmer pour enlever ces paquets. Quand vous pressez Entrée après cette commande, ces paquets '''seront partis'''):
 
** Pour vouloir économiser plus de place en se débarrassant de ces irritants orphelins (comme c'est cruel!), tapez ('''Attention''', vous n'aurez pas à confirmer pour enlever ces paquets. Quand vous pressez Entrée après cette commande, ces paquets '''seront partis'''):
 
'''*''' '''deborphan | xargs apt-get -y remove'''
 
'''*''' '''deborphan | xargs apt-get -y remove'''
** Si vous êtes incertain quand à la commande précèdente et voulez voir ce qu'il va se passer sans faire de changement, ajouter simplement l'option '''-s''' à la commande apt-get comme cela (vous pouvez faire ça avec toutes les commandes apt-get, et c'est une bonne habitude d'utiliser cette option avant des opérations "massive" comme celle la):
+
** Si vous êtes incertain quand à la commande précèdente et voulez voir ce qu'il va se passer sans faire de changement, ajoutez simplement l'option '''-s''' à la commande apt-get comme cela (vous pouvez faire ça avec toutes les commandes apt-get, et c'est une bonne habitude d'utiliser cette option avant des opérations "massive" comme celle la):
 
'''*''' '''deborphan | xargs apt-get -s -y remove'''
 
'''*''' '''deborphan | xargs apt-get -s -y remove'''
 
** Maintenant les bonnes choses. Si vous voulez ajouter un package, tapez:
 
** Maintenant les bonnes choses. Si vous voulez ajouter un package, tapez:
 
'''*''' '''apt-get install <name-of-package-to-install>'''
 
'''*''' '''apt-get install <name-of-package-to-install>'''
** Quoit, vous ne savez pas quel paquet installer ?  Tapez cela. Quand la liste apparait, vous pouvez lire attentivement (13000 de  ligne !) ou chercher des trucs en utilisant '''/<terme-a-recherher>''':
+
** Quoi, vous ne savez pas quel paquet installer ?  Tapez cela. Quand la liste apparait, vous pouvez lire attentivement (13000 lignes !) ou chercher des termes en utilisant '''/<terme-a-recherher>''':
 
'''*''' '''apt-cache search .* | sort | less'''
 
'''*''' '''apt-cache search .* | sort | less'''
 
** Quand vous avez fini d'enlever et d'ajouter des paquets, un bon moyen de nettoyer est de taper:
 
** Quand vous avez fini d'enlever et d'ajouter des paquets, un bon moyen de nettoyer est de taper:
Line 105: Line 105:
 
Quand vous testez des programmes basés sur X, vous aurez a faire '''export DISPLAY=localhost:0.0'''
 
Quand vous testez des programmes basés sur X, vous aurez a faire '''export DISPLAY=localhost:0.0'''
  
Quand vous voulez auto-éxecuter quelques programmes, créer un script et placez le dans le repertoire  /etc/rc5.d/ (Ceci charge seulement les items avant que X ne se charge)
+
Quand vous voulez auto-éxecuter quelques programmes, créez un script et placez le dans le repertoire  /etc/rc5.d/ (Ceci charge seulement les items avant que X ne se charge)
  
 
trucs interessants dans /etc/init.d/knoppix-autoconfig :
 
trucs interessants dans /etc/init.d/knoppix-autoconfig :
     * Le fichier fond d'ecran est /cdrom/KNOPPIX/background.gif '''(dans knoppix 3.4: background.jpg)'''
+
     * Le fichier fond d'écran est /cdrom/KNOPPIX/background.gif '''(dans knoppix 3.4: background.jpg)'''
 
     * Comme pour floppyconfig, il existe cdromconfig qui lancera cdrom/KNOPPIX/knoppix.sh
 
     * Comme pour floppyconfig, il existe cdromconfig qui lancera cdrom/KNOPPIX/knoppix.sh
  
trucs interessants dans in /etc/init.d/xsession :
+
trucs intéressants dans /etc/init.d/xsession :
 
* Ca place également le fond d'écran dans /usr/local/lib/knoppix.gif
 
* Ca place également le fond d'écran dans /usr/local/lib/knoppix.gif
  
Line 117: Line 117:
  
 
* nous avons fini de personnaliser et sommes prêt à graver !
 
* nous avons fini de personnaliser et sommes prêt à graver !
* d'abord faire quelques nettoyage : ''' enlever le fichier .bash_history , les fichiers tmp etc '''
+
* d'abord faire quelques nettoyages : ''' enlever le fichier .bash_history , les fichiers tmp etc '''
 
* '''rm -rf /mnt/hda1/knx/source/KNOPPIX/.rr_moved'''
 
* '''rm -rf /mnt/hda1/knx/source/KNOPPIX/.rr_moved'''
* Maintenant, nous allons faire un gros fichier KNOPPIX qui est un system de fichier ISO 9660 cloop (compress loopback) compressé (cloop compressed ISO 9660 filesystem) : '''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'''
+
* Maintenant, nous allons faire un gros fichier KNOPPIX qui est un système de fichier ISO 9660 cloop (compress loopback) compressé (cloop compressed ISO 9660 filesystem) : '''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'''
  
 
le "www.knoppix.net" et le "Knoppix.net filesystem" peuvent être changé par le nom que vous voulez donner au fichier. Vous aurez une erreur si vous ne respectez les standards de la norme ISO9660, sans trop grande importance.
 
le "www.knoppix.net" et le "Knoppix.net filesystem" peuvent être changé par le nom que vous voulez donner au fichier. Vous aurez une erreur si vous ne respectez les standards de la norme ISO9660, sans trop grande importance.
  
Dans Knoppix 3.4 le script create_compressed_fs a été mis à jour, utiliser le pour obtenir les meilleurs résultats.
+
Dans Knoppix 3.4 le script create_compressed_fs a été mis à jour, utilisez le pour obtenir les meilleurs résultats.
Il possède une nouvelle option '''-b''' (best), qui permet la meilleur compression en utilisant différents arrangement de compression et essaye d'optimiser ce processus, mais soyez vigilant, parce que cette option est lente (10x plus lente).
+
Il possède une nouvelle option '''-b''' (best), qui permet une meilleure compression en utilisant différents arrangement de compression et essaye d'optimiser ce processus, mais soyez vigilant, parce que cette option est lente (10x plus lente).
  
 
* Si tout va bien, faisons l'image du CD final :
 
* Si tout va bien, faisons l'image du CD final :
 
* '''cd /mnt/hda1/knx/master'''
 
* '''cd /mnt/hda1/knx/master'''
* '''rm -f KNOPPIX/md5sums; find -type f -not -name md5sums -not -name boot.cat -not -name isolinux.bin -exec md5sum '{}' \; >> KNOPPIX/md5sums''' (ceci va mettre à jour les hashages md5des fichiers inclus dans l'ISO, utilisé pour les vérifications d'intégrité)
+
* '''rm -f KNOPPIX/md5sums; find -type f -not -name md5sums -not -name boot.cat -not -name isolinux.bin -exec md5sum '{}' \; >> KNOPPIX/md5sums''' (ceci va mettre à jour les hashages md5 des fichiers inclus dans l'ISO, utilisé pour les vérifications d'intégrité)
 
* Pour Knoppix <= 3.3: '''mkisofs -pad -l -r -J -v -V "KNOPPIX" -b KNOPPIX/boot.img -c KNOPPIX/boot.cat -hide-rr-moved -o /mnt/hda1/knx/knoppix.iso /mnt/hda1/knx/master''' (the ISO is stored in /mnt/hda1/knx/knoppix.iso)
 
* Pour Knoppix <= 3.3: '''mkisofs -pad -l -r -J -v -V "KNOPPIX" -b KNOPPIX/boot.img -c KNOPPIX/boot.cat -hide-rr-moved -o /mnt/hda1/knx/knoppix.iso /mnt/hda1/knx/master''' (the ISO is stored in /mnt/hda1/knx/knoppix.iso)
 
* Pour Knoppix >= 3.4 ou autre distribution basée sur isolinux, faites:
 
* Pour Knoppix >= 3.4 ou autre distribution basée sur isolinux, faites:
Line 139: Line 139:
 
: awk '{print $2}' | egrep -v '^$' | xargs -n2 echo | \
 
: awk '{print $2}' | egrep -v '^$' | xargs -n2 echo | \
 
: perl -pe 's/(\S+)\s(\S+)/$2 $1/' | sort -rg
 
: perl -pe 's/(\S+)\s(\S+)/$2 $1/' | sort -rg
listera les paquets par taille en ordre decroissant.
+
listera les paquets par taille en ordre décroissant.
 
Cette commande est 10 fois plus rapide
 
Cette commande est 10 fois plus rapide
  
Line 146: Line 146:
 
et vous n'avez pas besoin de dpkg-awk ou awk ou perl.
 
et vous n'avez pas besoin de dpkg-awk ou awk ou perl.
  
Si vous avez des problèmes avec la commande de tri précèdente, essayez d'utiliser KPackage, elle parcoure les arborescences et trie par la colonne taille à la recherche de gros paquets.
+
Si vous avez des problèmes avec la commande de tri précèdente, essayez d'utiliser KPackage, elle parcoure les arborescences et trie par taille à la recherche de gros paquets.
  
 
Regardez du côté du programme "deborphan", il liste les paquets orphelins que vous pouvez enlever, ces paquets étaient utilisés par des paquets qui sont maintenant enlevés.
 
Regardez du côté du programme "deborphan", il liste les paquets orphelins que vous pouvez enlever, ces paquets étaient utilisés par des paquets qui sont maintenant enlevés.
Line 157: Line 157:
 
  "COLUMNS=200 dpkg -l |grep ^rc |awk '{print $2} ' >topurge". Ceci fera une liste de tout les paquets enlevés à purger et ensuite vous n'avez plus qu'a faire  "dpkg -P `cat topurge `" et voila.
 
  "COLUMNS=200 dpkg -l |grep ^rc |awk '{print $2} ' >topurge". Ceci fera une liste de tout les paquets enlevés à purger et ensuite vous n'avez plus qu'a faire  "dpkg -P `cat topurge `" et voila.
 
  "COLUMNS=200 dpkg -l |grep ^rc |awk '{print $2} ' | xargs dpkg -P" est la même chose en une ligne.
 
  "COLUMNS=200 dpkg -l |grep ^rc |awk '{print $2} ' | xargs dpkg -P" est la même chose en une ligne.
Aussi "deborphan >orphaned" puis "dpkg -P `cat orphaned `". "deborphan | xargs dpkg -P " est une version en une seule ligne de ça.
+
Aussi "deborphan >orphaned" puis "dpkg -P `cat orphaned `". "deborphan | xargs dpkg -P " est une version en une seule ligne de cela.
  
  
Line 172: Line 172:
 
==== Astuce, tester le cd-image sans graver le cd ====
 
==== Astuce, tester le cd-image sans graver le cd ====
  
Si vous avez une partition avec au moins 700MB  d'espace libre formattée en ext2, ext3 ou Vfat, vous pouvez l'utiliser pour tester en démarrant à partir d'une disquette. Une disquette de démarrage recherchera une partition avec /KNOPPIX dans la racine, et l'image compressée /KNOPPIX/KNOPPIX. Au lieu d'utiliser le sous repertoire /mnt/hda1/knx/master/KNOPPIX/ comme décrit précedemment, il devrait être appellé /mnt/hda2/KNOPPIX/ . La racine index.html sera située dans /mnt/hda2/index.html et l'image compressée sera dans /mnt/hda2/KNOPPIX/KNOPPIX . Maintenant vous pouvez booter à partir de la disquette et utiliser /mnt/hda2 comme image. Pour plus d'informations voir [[Hd BasedHowTo]].
+
Si vous avez une partition avec au moins 700MB  d'espace libre formattée en ext2, ext3 ou Vfat, vous pouvez l'utiliser pour tester en démarrant à partir d'une disquette. Une disquette de démarrage recherchera une partition avec /KNOPPIX dans la racine, et l'image compressée /KNOPPIX/KNOPPIX. Au lieu d'utiliser le sous répertoire /mnt/hda1/knx/master/KNOPPIX/ comme décrit précèdemment, il devrait être appellé /mnt/hda2/KNOPPIX/ . La racine index.html sera située dans /mnt/hda2/index.html et l'image compressée sera dans /mnt/hda2/KNOPPIX/KNOPPIX . Maintenant vous pouvez booter à partir de la disquette et utiliser /mnt/hda2 comme image. Pour plus d'informations voir [[Hd BasedHowTo]].
  
 
Si vous n'avez pas de partitions supplémentaires ou si vous ne voulez pas en faire autant, vous pouvez utiliser Qemu (voir
 
Si vous n'avez pas de partitions supplémentaires ou si vous ne voulez pas en faire autant, vous pouvez utiliser Qemu (voir
Line 180: Line 180:
  
 
==== Démarrer les images Knoppix avec GRUB ====
 
==== Démarrer les images Knoppix avec GRUB ====
* D'abord copier /boot du cd Knoppix cd vers votre partition de boot (ou même votre partiton dos). J'ai nommé la mienne boot.knoppix
+
* D'abord copier /boot du cd Knoppix cd vers votre partition de boot (ou même votre partition dos). J'ai nommé la mienne boot.knoppix
''' Copier le repertoire /KNOPPIX vers votre '''repertoire racine* d'un des diques dur. Vous pouvez le placer ailleurs que dans une partition de boot. (ext2/3, reiserfs, vfat sont supportés)
+
''' Copier le répertoire /KNOPPIX vers votre '''répertoire racine* d'un des diques dur. Vous pouvez le placer ailleurs que dans une partition de boot. (ext2/3, reiserfs, vfat sont supportés)
 
* Mettre les éléments suivants dans votre /boot/grub/menu.lst:
 
* Mettre les éléments suivants dans votre /boot/grub/menu.lst:
 
  title          KNOPPIX
 
  title          KNOPPIX
Line 188: Line 188:
 
  initrd  /boot.knoppix/miniroot.gz
 
  initrd  /boot.knoppix/miniroot.gz
 
* Remarquer le paramètre "fromhd":  c'est l'emplacement du repertoire /KNOPPIX
 
* Remarquer le paramètre "fromhd":  c'est l'emplacement du repertoire /KNOPPIX
* reboot and have fun.
+
* redémarrez et appreciez.
  
 
Si mon how-to est trop confus, ou si vous voulez une secondes opinion, regardez le très joli remastering howto de charan :
 
Si mon how-to est trop confus, ou si vous voulez une secondes opinion, regardez le très joli remastering howto de charan :
Line 194: Line 194:
 
Un autre howto est disponible à l'adresse http://www.stirnimann.com/mystuff/doc/knoppix.txt
 
Un autre howto est disponible à l'adresse http://www.stirnimann.com/mystuff/doc/knoppix.txt
  
Il y a un assistant qui connais toutes les démarches d'installation, compression et gravure de CD mentionnées ici. Il montre également un shell ou vous pouvez mettre à jour la KNOPPIX décompressée en utilisant les outils standards Debian d'installation de logiciel. Il s'appelle mmkcdrom et fait partie du packaqe plugscript: [http://rcswww.urz.tu-dresden.de/~holzhey/plugscript]
+
Il y a un assistant qui connais toutes les démarches d'installation, compression et gravure de CD mentionnées ici. Il propose également un shell ou vous pouvez mettre à jour la KNOPPIX décompressée en utilisant les outils standards Debian d'installation de logiciel. Il s'appelle mmkcdrom et fait partie du packaqe plugscript: [http://rcswww.urz.tu-dresden.de/~holzhey/plugscript]
  
 
Encore un autre Howto, pour les adeptes du shell sur http://quozl.linux.org.au/knoppix/
 
Encore un autre Howto, pour les adeptes du shell sur http://quozl.linux.org.au/knoppix/
  
Soyez sûr de jetter un oeil à [http://knoppix.net/forum/viewforum.php?f=2 Knoppix Customization Forum] pour des idées et de l'aide concernant le remastering.
+
Soyez sûr de jeter un oeil à [http://knoppix.net/forum/viewforum.php?f=2 Knoppix Customization Forum] pour des idées et de l'aide concernant le remastering.
 
----
 
----
 
Une l'arborescence recommandée pour remasteriser une KNOPPIX:
 
Une l'arborescence recommandée pour remasteriser une KNOPPIX:

Revision as of 13:23, 26 January 2005

Traductions:


Voir aussi :


Ceci est un guide qui va vous montrer comment remasteriser KNOPPIX

(Notes : Les commandes doivent apparaitre sur une ligne, maximisez la fenêtre s'il vous plait. Si vous avez des commentaires/suggestions, merci de les poster ci-dessous.)

Vous voulez peut être commencer à partir d'une Knoppix déjà personnalisée, si tel est le cas vous n'avez probablement pas autant de travail à faire (comme enlever des programmes). Si vous êtes dans ce cas, voir Knoppix Customizations.


Système Requis:

  • CD-ISO
    • Au moins 1 GB de mémoire RAM+Swap libre totale (ex 256M ram, et 750M swap DISPONIBLE) (à moins que vous utilisiez un programme de compression différent - voir cette page pour [compressloop])
    • 3 GB de libre sur une partition Linux filesystem (ext2/3, xfs, etc.) formattée
  • DVD-ISO
    • 5 GB de RAM + swap libre (pour le DVD en entier)
    • 15 GB de libre sur une partition Linux filesystem (ext2/3, xfs, etc.) formattée


Bold text==== Instructions: ====

  1. Booter à partir du Knoppix CD
  2. Ouvrir un shell root :
    • Menu: Kmenu->Knoppix->Shell Root
    • Note: Toutes les commandes ci-dessous s'éxecutent à partir de ce shell root.
  1. Configurer votre connexion internet (nous en aurons besoin plus tard). Si vous utilisez DHCP, cela devrait déjà être configuré.
    • Note: Executez ifconfig pour vérifier.
  1. Trouver la partition que vous utiliserez pour travailler. Dans cet exemple, elle est appellée hda1 . La partition devrait avoir au minimum 3 GB d'espace libre.
  2. Monter la partition:
    • mount -rw /dev/hda1 /mnt/hda1
    • Note: Soyez sûr d'avoir les droits en lecture/écriture ou vous aurez des erreurs lors du chroot plus tard. Pour vérifier: éxecuter mount
  1. Créer un repertoire racine pour travailler dedans:
    • mkdir /mnt/hda1/knx
    • Si vous mettez tous vos fichiers ici, ils seront plus facile à nettoyer
  1. Si vous n'avez pas 1 GB de RAM (cat /proc/meminfo (physical+swap)) alors vous devrez avoir un fichier de swap:
    • cd /mnt/hda1/knx ; dd if=/dev/zero of=swapfile bs=1M count=750 ; mkswap swapfile ; swapon swapfile
  1. Créer 2 repertoires, un pour votre nouveau Master CD, un pour les sources, sur une partition. Créer également des répertoires additionnels sous celui-ci nommé KNOPPIX:
    • mkdir -p /mnt/hda1/knx/master/KNOPPIX
    • mkdir -p /mnt/hda1/knx/source/KNOPPIX
  1. Maintenant, copiez les fichiers KNOPPIX vers votre répertoire source :

cp -Rp /KNOPPIX/* /mnt/hda1/knx/source/KNOPPIX

    • Note: Cela peut prendre un petit momment
  1. Copier la page HTML principale pour la page de démarrage :
    • cp /cdrom/index.html /mnt/hda1/knx/master/
  1. Copier tout les fichiers nécessaires execpté le fichier KNOPPIX de ~700 Mb .
    • < 3.4: cd /cdrom/KNOPPIX;find . -size -10000k -type f -exec cp -p --parents '{}' /mnt/hda1/knx/master/KNOPPIX/ \;
    • 3.4: cd /cdrom;find . -size -10000k -type f -exec cp -p --parents '{}' /mnt/hda1/knx/master/ \;
  1. Maintenant, vous pouvez "chrooter" dans l'arborescence copiée du fichier KNOPPIX:
    • chroot /mnt/hda1/knx/source/KNOPPIX

Si vous avez un ensemble d'erreurs /dev/null permission denied, vous devriez faire ce qui suit. Ceci peut arriver si vous sauvez vos données configurées pour la Knoppix sur la même partition que celle que vous utilisez, ET si vous démarrrez Knoppix avec knoppix home=scan.

Vérifiez l'état de vos montages si vous rencontrez le probleme: mount /dev/hdaX on /mnt/hdaX type ext3 (rw,nosuid,nodev) (remplacer X par le numéro de votre partition) où "nodev" signifie que vous n'avez pas accès au système de fichier monté et que vous ne pouvez ainsi pas acceder à /dev/null. Alors que cetains scripts ont besoin de rediriger leur sortie vers /dev/null ... Pour résoudre ceci, vous devez monter la partiton cible avant de "chrooter", comme ca :

^d  # control+d sortira de l'environnement chroot
mount /dev/hda1 /mnt/hda1

Vous devriez ensuite voir:

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

Si les erreurs "/dev/null" persistent, faites alors avant le chroot :

mount --bind /dev /mnt/hda1/knx/source/KNOPPIX/dev

Vous devez démonter /mnt/hda1/knx/source/KNOPPIX/dev avant de construire l'image du CD ou bien votre répertoire /dev sur le CD sera en bordel !

Ensuite vous pouvez continuer et chrooter.

  • Vous êtes maintenant "chrooter". "/" est en fait "/mnt/hda1/knx/source/KNOPPIX"
  • Pour utiliser votre connexion internet you devez monter proc mount -t proc /proc proc
  • Maintenant éditer /etc/resolv.conf et ajouter votre serveur de nom ou "sortir" du chroot et copier le fichier resolve.conf dans le dossier chrooté: cp /etc/dhcpc/resolv.conf vers /mnt/hda1/knx/source/KNOPPIX/etc/dhcpc/resolv.conf
  • Changer aussi smb.conf vers votre groupe MS si vous voulez le support smbd (MSHOME pour XP Familliale édition, et WORKGROUP pour les Windows 9x).
  • Vérifiez votre connection internet chrootée : ping google.com
  • Mettez à jour votre list de paquet avec apt-get update
  • Maintenant vous pouvez changer des trucs.
  • Attention: apt-get upgrade est une MAUVAISE IDEE. Cela va, très probablement, rendre votre KNOPPIX remasterisée inbootable, ou cassée en quelque sorte. Une méthode bien plus sûre est de seulement mettre à jour les paquets nécessaires
    • Avant de pouvoir ajouter des choses, vous aurez probablement besoin d'enlever quelques packages. Pour avoir une liste des packages installé, tapez ce qui suit:

* dpkg-query -l

    • Si vous voulez une liste triée par taille (de cette façon vous vous pourrez vous débarassez des plus encombrants), tapez :

* dpkg-query -W --showformat='${Installed-Size} ${Package}\n' | sort -n

    • Pour enlever un paquet (et toutes ses dépendances), tapez:

* apt-get remove <name-of-package-to-remove>

    • Pour vérifier les paquets orphelins, tapez:

* deborphan

    • Pour vouloir économiser plus de place en se débarrassant de ces irritants orphelins (comme c'est cruel!), tapez (Attention, vous n'aurez pas à confirmer pour enlever ces paquets. Quand vous pressez Entrée après cette commande, ces paquets seront partis):

* deborphan | xargs apt-get -y remove

    • Si vous êtes incertain quand à la commande précèdente et voulez voir ce qu'il va se passer sans faire de changement, ajoutez simplement l'option -s à la commande apt-get comme cela (vous pouvez faire ça avec toutes les commandes apt-get, et c'est une bonne habitude d'utiliser cette option avant des opérations "massive" comme celle la):

* deborphan | xargs apt-get -s -y remove

    • Maintenant les bonnes choses. Si vous voulez ajouter un package, tapez:

* apt-get install <name-of-package-to-install>

    • Quoi, vous ne savez pas quel paquet installer ? Tapez cela. Quand la liste apparait, vous pouvez lire attentivement (13000 lignes !) ou chercher des termes en utilisant /<terme-a-recherher>:

* apt-cache search .* | sort | less

    • Quand vous avez fini d'enlever et d'ajouter des paquets, un bon moyen de nettoyer est de taper:

* COLUMNS=200 dpkg -l |grep ^rc |awk '{print $2} ' | xargs dpkg -P

    • De même,parce que le système des paquets Debian garde en cache ce qui a été téléchargé, vous pouvez éxecuter la commande suivante pour faire le ménage :

* apt-get clean

    • les paramètres utilisateurs sont dans /etc/skel
    • astuce: ne mettez pas de fichiers dans /root ils seront seulement disponible (durant l'éxecution) dans /KNOPPIX/root
  • Unmount /proc - très important! umount /proc
  • Presser CTRL+D pour quitter l'environnement chrooté.

Notes :

Quand vous testez des programmes basés sur X, vous aurez a faire export DISPLAY=localhost:0.0

Quand vous voulez auto-éxecuter quelques programmes, créez un script et placez le dans le repertoire /etc/rc5.d/ (Ceci charge seulement les items avant que X ne se charge)

trucs interessants dans /etc/init.d/knoppix-autoconfig :

   * Le fichier fond d'écran est /cdrom/KNOPPIX/background.gif (dans knoppix 3.4: background.jpg)
   * Comme pour floppyconfig, il existe cdromconfig qui lancera cdrom/KNOPPIX/knoppix.sh

trucs intéressants dans /etc/init.d/xsession :

  • Ca place également le fond d'écran dans /usr/local/lib/knoppix.gif

Maintenant, la création de l'image ISO :

  • nous avons fini de personnaliser et sommes prêt à graver !
  • d'abord faire quelques nettoyages : enlever le fichier .bash_history , les fichiers tmp etc
  • rm -rf /mnt/hda1/knx/source/KNOPPIX/.rr_moved
  • Maintenant, nous allons faire un gros fichier KNOPPIX qui est un système de fichier ISO 9660 cloop (compress loopback) compressé (cloop compressed ISO 9660 filesystem) : 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

le "www.knoppix.net" et le "Knoppix.net filesystem" peuvent être changé par le nom que vous voulez donner au fichier. Vous aurez une erreur si vous ne respectez les standards de la norme ISO9660, sans trop grande importance.

Dans Knoppix 3.4 le script create_compressed_fs a été mis à jour, utilisez le pour obtenir les meilleurs résultats. Il possède une nouvelle option -b (best), qui permet une meilleure compression en utilisant différents arrangement de compression et essaye d'optimiser ce processus, mais soyez vigilant, parce que cette option est lente (10x plus lente).

  • Si tout va bien, faisons l'image du CD final :
  • cd /mnt/hda1/knx/master
  • rm -f KNOPPIX/md5sums; find -type f -not -name md5sums -not -name boot.cat -not -name isolinux.bin -exec md5sum '{}' \; >> KNOPPIX/md5sums (ceci va mettre à jour les hashages md5 des fichiers inclus dans l'ISO, utilisé pour les vérifications d'intégrité)
  • Pour Knoppix <= 3.3: mkisofs -pad -l -r -J -v -V "KNOPPIX" -b KNOPPIX/boot.img -c KNOPPIX/boot.cat -hide-rr-moved -o /mnt/hda1/knx/knoppix.iso /mnt/hda1/knx/master (the ISO is stored in /mnt/hda1/knx/knoppix.iso)
  • Pour Knoppix >= 3.4 ou autre distribution basée sur isolinux, faites:

mkisofs -pad -l -r -J -v -V "KNOPPIX" -no-emul-boot -boot-load-size 4 -boot-info-table -b boot/isolinux/isolinux.bin -c boot/isolinux/boot.cat -hide-rr-moved -o /mnt/hda1/knx/knoppix.iso /mnt/hda1/knx/master (l'ISO est stockée dans /mnt/hda1/knx/knoppix.iso)

  • Voila !

Astuces

Si vous êtes à la recherche des gros paquets installés, alors la commande

dpkg-awk "Status: .* installed$" -- Package Installed-Size | \
awk '{print $2}' | egrep -v '^$' | xargs -n2 echo | \
perl -pe 's/(\S+)\s(\S+)/$2 $1/' | sort -rg

listera les paquets par taille en ordre décroissant. Cette commande est 10 fois plus rapide

dpkg-query -W --showformat='${Installed-Size} ${Package}\n' | sort -n

et vous n'avez pas besoin de dpkg-awk ou awk ou perl.

Si vous avez des problèmes avec la commande de tri précèdente, essayez d'utiliser KPackage, elle parcoure les arborescences et trie par taille à la recherche de gros paquets.

Regardez du côté du programme "deborphan", il liste les paquets orphelins que vous pouvez enlever, ces paquets étaient utilisés par des paquets qui sont maintenant enlevés.

J'ai eu des bons résultats de remastering à partir du cd en tant que root, travaillant à partir de fluxbox. Choisir "knoppix 2" lors du boot et le système va démarrer sur une invite de commande root où vous pourrez dire "startx /usr/bin/fluxbox". J'aime utiliser le shell unicode xterm.

Lors du travail en chroot pour le remastering, j'aime bien utiliser "apt-get remove --purge nom-du-paquet" pour enlever les paquets parce que avant de faire quoi que ce soit cela va stopper et montrer les détails sur ce que apt va supprimer; il faut confirmer par "oui" ou "non".

Si vous n'utilisez pas l'instruction "apt-get" ci dessus et si vous avez beaucoup de ménage à faire, la façon la plus simple de faire est :

"COLUMNS=200 dpkg -l |grep ^rc |awk '{print $2} ' >topurge". Ceci fera une liste de tout les paquets enlevés à purger et ensuite vous n'avez plus qu'a faire  "dpkg -P `cat topurge `" et voila.
"COLUMNS=200 dpkg -l |grep ^rc |awk '{print $2} ' | xargs dpkg -P" est la même chose en une ligne.

Aussi "deborphan >orphaned" puis "dpkg -P `cat orphaned `". "deborphan | xargs dpkg -P " est une version en une seule ligne de cela.


Ca y est. Ceci est une version mise à jour de mon précèdent howto. Il n'est pas destiné aux débutant sous linux, vous devriez avoir une bonne connaissance de linux pour tout faire fonctionner. Je le metterais à jour via des corrections et des améliorations bientôt.

Merci a aay, charan, Tech2k, and #knoppix pour les quelques corrections, astuces et idées. Libre à vous d'éditer ou de compléter ce how-to Note à propose de la swap:
Vous n'avez pas réellement besoin d'1G de swap puisque il y a deux nouveaux outils de compressions de système de fichiers. Voila deux candidats pour faire des système de fichiers compressés:

  • Réecriture de Valentijn [1]
  • Port de compressloop par Quozl's pour la Knoppix 3.4 [2]
  • Compressloop répartis par Quozl's (utiliser plus d'un processeur pour accelerer les choses) [3] or [4]
  • Patch de Justin [5] (lien cassé) J'ai également écrit un compresseur réparti cloop (ou pour smp) C'est dans le même repertoire.

Astuce, tester le cd-image sans graver le cd

Si vous avez une partition avec au moins 700MB d'espace libre formattée en ext2, ext3 ou Vfat, vous pouvez l'utiliser pour tester en démarrant à partir d'une disquette. Une disquette de démarrage recherchera une partition avec /KNOPPIX dans la racine, et l'image compressée /KNOPPIX/KNOPPIX. Au lieu d'utiliser le sous répertoire /mnt/hda1/knx/master/KNOPPIX/ comme décrit précèdemment, il devrait être appellé /mnt/hda2/KNOPPIX/ . La racine index.html sera située dans /mnt/hda2/index.html et l'image compressée sera dans /mnt/hda2/KNOPPIX/KNOPPIX . Maintenant vous pouvez booter à partir de la disquette et utiliser /mnt/hda2 comme image. Pour plus d'informations voir Hd BasedHowTo.

Si vous n'avez pas de partitions supplémentaires ou si vous ne voulez pas en faire autant, vous pouvez utiliser Qemu (voir [6] ) avec l'image ISO comme ça: qemu -m 128 -cdrom /temp/knoppix-custom.iso -boot d -user-net Vous n'avez même pas à créer une image sur le disque dur avant, seulement installer Qemu et l'essayer. Stupéfiant!

Démarrer les images Knoppix avec GRUB

  • D'abord copier /boot du cd Knoppix cd vers votre partition de boot (ou même votre partition dos). J'ai nommé la mienne boot.knoppix

Copier le répertoire /KNOPPIX vers votre répertoire racine* d'un des diques dur. Vous pouvez le placer ailleurs que dans une partition de boot. (ext2/3, reiserfs, vfat sont supportés)

  • Mettre les éléments suivants dans votre /boot/grub/menu.lst:
title           KNOPPIX
root            (hd0,0)
kernel  /boot.knoppix/vmlinuz 2 fromhd=/dev/hda4 lang=us
initrd  /boot.knoppix/miniroot.gz
  • Remarquer le paramètre "fromhd": c'est l'emplacement du repertoire /KNOPPIX
  • redémarrez et appreciez.

Si mon how-to est trop confus, ou si vous voulez une secondes opinion, regardez le très joli remastering howto de charan : http://gnubox.dyndns.org:8080/~sunil/knoppix.php . Un autre howto est disponible à l'adresse http://www.stirnimann.com/mystuff/doc/knoppix.txt

Il y a un assistant qui connais toutes les démarches d'installation, compression et gravure de CD mentionnées ici. Il propose également un shell ou vous pouvez mettre à jour la KNOPPIX décompressée en utilisant les outils standards Debian d'installation de logiciel. Il s'appelle mmkcdrom et fait partie du packaqe plugscript: [7]

Encore un autre Howto, pour les adeptes du shell sur http://quozl.linux.org.au/knoppix/

Soyez sûr de jeter un oeil à Knoppix Customization Forum pour des idées et de l'aide concernant le remastering.


Une l'arborescence recommandée pour remasteriser une KNOPPIX:

. (invoke ../remaster from here)
|-- master (invoke ../../umountbootimage from here)
|   |-- KNOPPIX
|   |   |-- KNOPPIX (compressed image)
|   |   |-- boot.img (boot floppy image)
|   |   `-- (other files snipped)
|   `-- index.html
`-- source
`-- KNOPPIX (this directory can be chrooted into)
|-- bin
|-- boot
|-- cdrom
|-- dev
|-- etc
|-- floppy
|-- home
|-- initrd
|-- lib
|-- mnt
|-- none
|-- opt
|-- proc
|-- root
|-- sbin
|-- tmp -> /var/tmp
|-- usr
|-- var
`-- vmlinuz -> boot/vmlinuz-2.4.22-xfs

Le script suivant "remaster" fera le processus de remasterisation à votre place. Lancez le en tant que root, ou il se terminera avec des erreurs d'accès sur l'image.

Le script a été essayé sur une Debian sid le 02-04-2002


#!/bin/bash -x
# This script builds a new KNOPPIX ISO image.
# Copyright (C) 2004 by Marc Haber <mh+knoppix-remaster@zugschlus.de>
# License: GPL V2

ROOT="$PWD"
SOURCE="$ROOT/source/KNOPPIX"
MASTER="$ROOT/master"
CLOOPTARGET="$ROOT/master/KNOPPIX/KNOPPIX"
TARGET="$ROOT"
EXCLUDELIST="$ROOT/source/excludelist"

rm -rf $SOURCE/.rr_moved

cd $SOURCE
mkisofs -R -U -V "KNOPPIX.net filesystem" \
-P "KNOPPIX www.knoppix.net" \
-hide-rr-moved -cache-inodes -no-bak -pad \
-exclude-list $EXCLUDELIST \
. | nice -5 /usr/bin/createcompressedfs - 65536 > $CLOOPTARGET

cd $MASTER
rm -f KNOPPIX/md5sums
find -type f -not -name md5sums -not -name boot.cat -exec md5sum {} \; >> KNOPPIX/md5sums
mkisofs -pad -l -r -J -v -V "KNOPPIX" -b KNOPPIX/boot.img \
-c KNOPPIX/boot.cat -hide-rr-moved -o $TARGET/knoppix.iso $MASTER

The following script will loop-mount boot floppy image and initrd image for modification. The umount function will build a new initrd image and put it back on the boot floppy image.

The script has last been tried out on Debian sid on 2004-01-13.

#!/bin/bash -x
# This script will loop-mount boot floppy and initrd image
# Copyright (C) 2004 by Marc Haber <mh+knoppix-remaster@zugschlus.de>
# License: GPL V2
unset CDPATH || true

# if not root, re-invoke self as root
if  "`id -u`" -ne 0 ; then
export LOCUSER="$USER"
export LOCHOME="$HOME"
if [[ "${SHELLOPTS/xtrace/}" != "$SHELLOPTS" ]]; then
sudo bash -x $0 $@
exit $?
else
sudo $0 $@
exit $?
fi
else
LOCUSER="${LOCUSER:-$USER}"
LOCHOME="${LOCHOME:-$HOME}"
fi
set -e

KNOPPIXDIR="KNOPPIX"
BOOTIMGFILE="$KNOPPIXDIR/boot.img"
BOOTIMGFS="vfat"
BOOTIMGDIR="boot.img"
INITRDGZ="$BOOTIMGDIR/miniroot.gz"
INITRDFILE="$KNOPPIXDIR/miniroot"
INITRDFS="ext2"
INITRDDIR="miniroot"

mountbootimage() {
if ! modprobe loop; then
echo >&2 "ERR: cannot load loop module"
exit 1
fi

if !  -e "$BOOTIMGFILE" ; then
echo >&2 "ERR: no $BOOTIMGFILE found"
exit 1
fi

for nofile in $BOOTIMGDIR $INITRDGZ $INITRDFILE $INITRDDIR; do
if  -e "$nofile" ; then
echo >&2 "ERR: $nofile already exists"
exit 1
fi
done

mkdir -p $BOOTIMGDIR
mount -o loop,uid=$LOCUSER -t $BOOTIMGFS $BOOTIMGFILE $BOOTIMGDIR

< $INITRDGZ gunzip > $INITRDFILE
mkdir -p $INITRDDIR
mount -o loop -t $INITRDFS $INITRDFILE $INITRDDIR
}

umountbootimage() {
dd if=/dev/zero of=$INITRDDIR/nullfile || true
sync
rm $INITRDDIR/nullfile
umount $INITRDDIR
rmdir $INITRDDIR
< $INITRDFILE gzip --best > $INITRDGZ
rm -f $INITRDFILE

umount $BOOTIMGDIR
rmdir $BOOTIMGDIR

syslinux KNOPPIX/boot.img
}

case "`basename $0`" in
mountbootimage)
mountbootimage
;;
umountbootimage)
umountbootimage
;;
*)
echo >&2 "ERR: called with unknown name `basename $0`"
exit 1
;;
esac