website diff doc/handbook/hacking-livecd.html @ rev 75

Improved menu for the French part (en will follow)
author Christophe Lincoln <pankso@slitaz.org>
date Thu Jun 26 23:27:04 2008 +0200 (2008-06-26)
parents
children a33277122930
line diff
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/doc/handbook/hacking-livecd.html	Thu Jun 26 23:27:04 2008 +0200
     1.3 @@ -0,0 +1,444 @@
     1.4 +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
     1.5 +    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
     1.6 +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
     1.7 +<head>
     1.8 +    <title>SliTaz Handbook - Hacking LiveCD</title>
     1.9 +    <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
    1.10 +    <meta name="description" content="modifier generer le livecd manuellement ligne de commande" />
    1.11 +    <meta name="expires" content="never" />
    1.12 +    <meta name="modified" content="2007-12-03 12:30:00" />
    1.13 +    <meta name="publisher" content="www.slitaz.org" />
    1.14 +    <meta name="author" content="Christophe Lincoln"/>
    1.15 +    <link rel="shortcut icon" href="favicon.ico" />
    1.16 +    <link rel="stylesheet" type="text/css" href="book.css" />
    1.17 +</head>
    1.18 +<body bgcolor="#ffffff">
    1.19 +
    1.20 +<!-- Header and quick navigation -->
    1.21 +<div id="header">
    1.22 +<div align="right" id="quicknav">
    1.23 +    <a name="top"></a>
    1.24 +    <a href="gen-livecd.html">Générer un LiveCD</a> |
    1.25 +    <a href="index.html">Table des matières</a>
    1.26 +</div>
    1.27 +<h1><font color="#3E1220">SliTaz Handbook</font></h1>
    1.28 +</div>
    1.29 +
    1.30 +<!-- Content. -->
    1.31 +<div id="content">
    1.32 +<div class="content-right"></div>
    1.33 +
    1.34 +<h2><font color="#DF8F06">Hacking SliTaz LiveCD</font></h2>
    1.35 +
    1.36 +<ul>
    1.37 +    <li><a href="#intro">Introduction.</a></li>
    1.38 +    <li><a href="#pre">Organisation et préparation.</a></li>
    1.39 +    <li><a href="#add-files">Ajouter des fichiers dans l'ISO.</a></li>
    1.40 +    <li><a href="#isolinux">Modifier la configuration d'isolinux.</a></li>
    1.41 +    <li><a href="#memtest">Installer et utiliser Memtest86.</a></li>
    1.42 +    <li><a href="#rootfs">Manipuler la racine du système Live.</a></li>
    1.43 +    <li><a href="#gen-iso">Générer une image ISO bootable avec isolinux.</a></li>
    1.44 +</ul>
    1.45 +
    1.46 +<a name="intro"></a>
    1.47 +<h3><font color="#6c0023">Introduction</font></h3>
    1.48 +<p>
    1.49 +<em>Hacking SliTaz LiveCD</em> ou comment s'amuser avec l'image ISO du LiveCD,
    1.50 +la modifier, la personnaliser et la reconstruire à la main. A noter que vous
    1.51 +avez aussi la possibilité de 
    1.52 +<a href="gen-livecd.html">créer une saveur avec Tazlito</a> et cela de. Créer 
    1.53 +sa propre image ISO bootable ne demande que peut de temps, les étapes à suivre
    1.54 +sont soigneusement décrites dans ce document et sont faciles à réaliser. La 
    1.55 +manipulation de l'images ISO permet d'ajouter des nouveaux fichiers ou de 
    1.56 +modifier les fichiers existants sur le cdrom. L'image ISO de SliTaz fait moins
    1.57 +de 30 Mb et un CD-R ou CD-RW classique fournit 700 Mb, il reste donc pas mal
    1.58 +de place, pour mettre par exemple, vos photos afin de les montrer en 
    1.59 +<em>live</em> via SliTaz et un diaporama propulsé par le gestionnaire
    1.60 +d'images GQview. Le <em>hacking</em> de l'image ISO permet de modifier les
    1.61 +fichiers de configuration du chargeur de démarrage (<em>boot loader</em>) et
    1.62 +son image <em>splash</em> ou d'en utiliser un autre tel que GRUB. Vous pouvez
    1.63 +aussi facilement et directement ajouter des utilitaire tel que Memtest86 (outil
    1.64 +servant à tester la RAM d'une machine). En utilisant les mêmes techniques, il
    1.65 +est également possible de modifier le contenu du système en soit, cela demande
    1.66 +quelques manipulations supplémentaires et un peu plus de temps... libre.
    1.67 +</p>
    1.68 +<a name="pre"></a>
    1.69 +<h3><font color="#6c0023">Organisation et préparation</font></h3>
    1.70 +<p>
    1.71 +Pour commencer il faut définir l'endroit ou l'on va travailler, créer un
    1.72 +répertoire de travail et plusieurs sous-répertoires destinés à accueillir les
    1.73 +différents fichiers. Le <em>hacking</em> de l'ISO peut se faire depuis un
    1.74 +système SliTaz ou tous autres système GNU/Linux tels que Debian, Fedora,
    1.75 +PCLinuxOS, Slackware, etc. Si vous utilisez SliTaz en mode LiveCD (vous pouvez
    1.76 +retirer le cdrom une fois SliTaz lancée en RAM et graver votre nouvelle ISO),
    1.77 +nous vous conseillons d'utiliser un media USB pour conserver le travail, sinon
    1.78 +il sera perdu à l'arrêt du système. Pour travailler nous vous proposons 
    1.79 +d'utiliser un répertoire <code>hacked/</code> que vous pouvez créer dans
    1.80 +un répertoire <code>/home/slitaz</code>, à la racine de votre espace
    1.81 +utilisateur, ou ailleurs si vous le désirez. Utiliser un répertoire
    1.82 +<code>/home/slitaz</code> vous permet de stocker une image ISO originale et
    1.83 +de créer en options un répertoire <code>src/</code> pour télécharger
    1.84 +d'éventuelles paquets sources. Toutes les étapes de <em>hacking</em> peuvent
    1.85 +se faire en lignes de commandes via un termial X tel que XTerm ou en mode
    1.86 +texte et un  terminal Linux. A noter que nous vous conseillons de faire les
    1.87 +opérations en tant que <em>root</em> afin d'éviter tous problèmes de
    1.88 +permissions. Pour devenir administrateur (<em>root</em>), créer le
    1.89 +répertoire de travail dans <code>/home/slitaz/hacked</code> et se placer
    1.90 +dedans&nbsp;:
    1.91 +</p>
    1.92 +<pre>
    1.93 + $ su
    1.94 + # mkdir -p /home/slitaz/hacked
    1.95 + (# mkdir -p /home/slitaz/src)
    1.96 + # cd /home/slitaz/hacked
    1.97 +</pre>
    1.98 +<h4>Récupérer les fichiers contenus sur l'ISO</h4>
    1.99 +<p>
   1.100 +Maintenant que vous êtes dans le répertoire de travail, il faut créer la
   1.101 +racine de votre cdrom modifié et récupérer les fichiers contenu dans l'ISO
   1.102 +original du LiveCD. C'est à dire le noyau Linux (<code>bzImage</code>), le
   1.103 +système de fichiers compressé (<code>rootfs.gz</code>) et les fichiers du
   1.104 +chargeur de démarrage Isolinux. Pour récupérer ces fichiers vous avez deux
   1.105 +solutions, soit les prendre depuis un cdrom gravé, soit directement depuis
   1.106 +une image ISO local. Pour créer la racine de votre CD (<code>rootcd</code>)
   1.107 +et copier les fichiers depuis un périphérique cdrom reconnu comme
   1.108 +<code>/dev/cdrom</code> et monté sur <code>/media/cdrom</code>&nbsp;:
   1.109 +</p>
   1.110 +<pre>
   1.111 + # mount -t iso9660 /dev/cdrom /media/cdrom
   1.112 + # mkdir rootcd
   1.113 + # cp -a /media/cdrom/* rootcd
   1.114 +</pre>
   1.115 +<p>
   1.116 +Pour monter une image ISO en <em>loop</em> sur le répertoire temporaire
   1.117 +nommé <code>/tmp/loop</code> (avec l'image ISO <code>slitaz-cooking.iso</code>
   1.118 +préalablement téléchargée ou copiée), créer la racine du CD, copier les
   1.119 +fichiers et démonter l'image ISO&nbsp;:
   1.120 +</p>
   1.121 +<pre>
   1.122 + # mkdir /tmp/loop
   1.123 + # mount -o loop slitaz-cooking.iso /tmp/loop
   1.124 + # mkdir rootcd
   1.125 + # cp -a /tmp/loop/* rootcd
   1.126 + # umount /tmp/loop
   1.127 +</pre>
   1.128 +<p>
   1.129 +Voilà, tous les fichiers nécessaires devraient être présents dans le répertoire
   1.130 +<code>rootcd/</code>, pour vous en assurer, vous pouvez pouver lister
   1.131 +récursivement les fichiers via la commande <code>ls</code>&nbsp;:
   1.132 +</p>
   1.133 +<pre>
   1.134 + # ls -R rootcd
   1.135 +</pre>
   1.136 +<a name="add-files"></a>
   1.137 +<h3><font color="#6c0023">Ajouter des fichiers dans l'ISO</font></h3>
   1.138 +<p>
   1.139 +L'ajout de divers fichiers et répertoires dans l'image ISO consiste
   1.140 +simplement à copier des données à la racine du cdrom (<code>rootcd/</code>)
   1.141 +et à générer une nouvelle image. Les données ajoutées peuvent être classées
   1.142 +dans un ou des répertoires préalablement créés à la racine du CD. Une fois
   1.143 +l'image ISO gravée sur un CD-R/CD-RW vous pourrez utiliser SliTaz comme
   1.144 +avant, monter le cdrom sur <code>/media/cdrom</code> et naviguer dans vos
   1.145 +données graphiquement avec emelFM2, dans un terminal avec Clex ou en ligne de
   1.146 +commandes. Vos données seront aussi lisibles depuis tous les systèmes GNU/Linux,
   1.147 +BSD, et même... Windows.
   1.148 +</p>
   1.149 +<h4>Créer un ou des répertoires et copier des données</h4>
   1.150 +<p>
   1.151 +Pour créer et copier des fichiers vous pouvez commencer par utiliser la
   1.152 +ligne de commande et continuer graphiquement en tant que simple utilisateur.
   1.153 +Nous allons créer un répertoires <code>images/</code> en tant que <em>root</em>
   1.154 +et changer les permissions pour que tous les utilisateurs puissent écrire
   1.155 +dedans&nbsp;:
   1.156 +</p>
   1.157 +<pre>
   1.158 + # mkdir rootcd/images
   1.159 + # chmod 777 rootcd/images
   1.160 +</pre>
   1.161 +<p>
   1.162 +Maintenant qu'un nouveau répertoire existe en écriture pour tous, il faut le
   1.163 +remplir. Une fois que vous avez fini de copier vos données, il suffit de
   1.164 +<a href="#gen-iso">générer une nouvelle image ISO bootable</a>.
   1.165 +</p>
   1.166 +<a name="isolinux"></a>
   1.167 +<h3><font color="#6c0023">Modifier la configuration d'isolinux</font></h3>
   1.168 +<p>
   1.169 +Modifier la configuration d'isolinux vous permet de créer des entrées
   1.170 +personnalisées avec des options de <em>boot</em> prédéfinies, vous pouvez par
   1.171 +exemple ajouter un <code>label</code> lançant SliTaz avec les options
   1.172 +<code>lang=fr</code> et <code>kmap=fr_CH</code>. Au niveau graphisme, vous
   1.173 +pouvez facilement changer l'image <em>splash</em> s'affichant au démarrage.
   1.174 +L'application <code>isolinux</code> est le chargeur de démarrage 
   1.175 +(<em>boot loader</em>) du LiveCD, il est fournit par le paquet Syslinux.
   1.176 +L'archive source de Syslinux fournit diverses applications dont le rôle est
   1.177 +de démarrer un système GNU/Linux. La version binaire <code>isolinux.bin</code>
   1.178 +est déstinée aux image ISO, ce chargeur de démarrage est simple, rapide et
   1.179 +facilement configurable via un fichier de configuration principale, éditable
   1.180 +graphiquement ou dans un terminal avec votre éditeur de texte préféré.
   1.181 +La syntaxe du fichier de configuration <code>isolinux.cfg</code> est facile
   1.182 +à comprendre, pour ajouter de nouvelles entrées il suffit de copier/coller
   1.183 +en utilisant le fichier original. Pour éditer graphiquement le fichier
   1.184 +<code>isolinux.cfg</code> avec Leafpad&nbsp;:
   1.185 +</p>
   1.186 +<pre>
   1.187 + # leafpad rootcd/boot/isolinux/isolinux.cfg &amp;
   1.188 +</pre>
   1.189 +<h4>Fichier de configuration isolinux.cfg</h4>
   1.190 +<p>
   1.191 +Le fichier <code>isolinux.cfg</code>, fourni en standard sur le LiveCD de 
   1.192 +SliTaz, commence par la valeur <code>display</code>, cette valeur permet
   1.193 +d'afficher tel quel un fichier texte ou d'afficher un fichier 
   1.194 +(<code>isolinux.msg</code>) utilisant des caractères ASCII 24 et permettant
   1.195 +d'afficher du texte avec une image <em>splash</em>. La valeur 
   1.196 +<code>default</code> défini le nom du <code>label</code> à démarrer par
   1.197 +défaut après le temps d'attente (<code>timeout</code>). <em>Timeout</em>
   1.198 +correspond au nombre de secondes à attendre avant de booter, vous pouvez le
   1.199 +mettre à 0, hôter la ligne pour démarrer instantanément ou choisir un temps
   1.200 +d'attente plus long tel que 80 s. Pour finir, le <code>prompt</code> peut
   1.201 +être désactivé via la valeur <code>0</code>, les valeurs F1, F2, F3
   1.202 +affichent des fichiers d'aides et F4 est un display au format texte&nbsp;:
   1.203 +</p>
   1.204 +<pre class="script">
   1.205 +display isolinux.msg
   1.206 +default slitaz
   1.207 +label slitaz
   1.208 +      kernel /boot/bzImage
   1.209 +      append initrd=/boot/rootfs.gz rw root=/dev/null vga=788
   1.210 +implicit 0	
   1.211 +prompt 1	
   1.212 +timeout 80
   1.213 +F1 help.txt
   1.214 +F2 options.txt
   1.215 +F3 isolinux.msg
   1.216 +F4 display.txt
   1.217 +</pre>
   1.218 +<p>
   1.219 +Exemple d'un label <code>slitazfr</code> que vous pouvez ajouter à l'orginal,
   1.220 +pour configurer directement la langue du système en français et avoir le
   1.221 +clavier Belge&nbsp;:
   1.222 +</p>
   1.223 +<pre class="script">
   1.224 +label slitazfr
   1.225 +      kernel /boot/bzImage
   1.226 +      append initrd=/boot/rootfs.gz rw root=/dev/null lang=fr kmap=be
   1.227 +</pre>
   1.228 +<p>
   1.229 +Une fois que vous avez fini de modifier le fichier de configuration, il ne 
   1.230 +faut pas oublier d'enregistrer vos changements avant de 
   1.231 +<a href="#gen-iso">générer une nouvelle image ISO bootable</a> avec isolinux.
   1.232 +</p>
   1.233 +<a name="memtest"></a>
   1.234 +<h3><font color="#6c0023">Installer et utiliser Memtest86</font></h3>
   1.235 +<p>
   1.236 +L'application memtest86 (92 ko) est un outil autonome de test de mémoire vive
   1.237 +(RAM). Memetes86 permet de tester en profondeur l'état des barrettes de RAM et
   1.238 +de déceler une quelconque défaillance. L'outil s'installe dans le répertoire
   1.239 +<code>boot/</code> de la racine du cdrom et se lance directement au démarrage
   1.240 +de la machine en tapant simplement <code>memtest</code> au prompt d'isolinux.
   1.241 +Direction <code>/home/slitaz/src</code> (si le répertoire n'existe pas&nbsp;:
   1.242 +<code>mkdir -p /home/slitaz/src</code>) pour télécharger les sources et les
   1.243 +désarchiver&nbsp;:
   1.244 +</p>
   1.245 +<pre>
   1.246 + # cd /home/slitaz/src
   1.247 + # wget http://www.memtest86.com/memtest86-3.3.tar.gz
   1.248 + # tar xzf memtest86-3.3.tar.gz
   1.249 +</pre>
   1.250 +<p>
   1.251 +Le paquet source de Memtest86 étant désarchivé (vous y trouverez un fichier
   1.252 +<code>README</code> en anglais donnant des informations sur l'outil), vous
   1.253 +allez pouvoir l'installer dans le <em>root CD</em> de votre ISO hackée. En
   1.254 +partant du principe que vous utilisez un répertoire de travail 
   1.255 +<code>/home/slitaz/hacked</code>, nous allons copier le binaire précompilé
   1.256 +dans le répertoire <code>boot/</code> de la racine du CD&nbsp;:
   1.257 +</p>
   1.258 +<pre>
   1.259 + # cp memtest86-3.3/precomp.bin \
   1.260 +   /home/slitaz/hacked/rootcd/boot/memtest
   1.261 +</pre>
   1.262 +<p>
   1.263 +Maintenant que le binaire est installé dans le <em>root CD</em>, il suffit
   1.264 +d'ajouter une entrée pour Memtest86 dans le fichier de configuration d'isolinux
   1.265 +et de <a href="#gen-iso">générer une nouvelle image ISO bootable</a>.
   1.266 +Direction <code>/home/slitaz/hacked</code> pour éditer le fichier
   1.267 +<code>isolinux.cfg</code> avec LeafPad par exemple&nbsp;:
   1.268 +</p>
   1.269 +<pre>
   1.270 + # cd /home/slitaz/hacked
   1.271 + # leafpad rootcd/boot/isolinux/isolinux.cfg &amp;
   1.272 +</pre>
   1.273 +<pre class="script">
   1.274 +label memtest
   1.275 +      kernel /boot/memtest
   1.276 +</pre>
   1.277 +<p>
   1.278 +Site web officiel de Memtest86&nbsp;:
   1.279 +<a href="http://www.memtest86.com/">http://www.memtest86.com/</a>
   1.280 +</p>
   1.281 +<a name="rootfs"></a>
   1.282 +<h3><font color="#6c0023">Manipuler la racine du système Live</font></h3>
   1.283 +<p>
   1.284 +La modification du système Live vous permet par exemple d'ajouter rapidement
   1.285 +un nouvel utilisateur avec mot de passe, de personnaliser le graphisme ou
   1.286 +d'ajouter des commandes exécutées automatiquement au démarrage du LiveCD. Les
   1.287 +opérations nécessaires à la modification du système de fichier racine (
   1.288 +<em>root file system</em>) sont&nbsp;: extraire le système du fichier compresé
   1.289 +<code>rootfs.gz</code>, modfier, reconstruire l'image du système compressé
   1.290 +et générer une nouvelle ISO. En partant du principe que vous avez déjà
   1.291 +<a href="#pre">préparé votre répertoire de travail</a>, il faut commencer
   1.292 +par créer un répertoire destiné à contenir les fichiers du système modifiable.
   1.293 +Le système racine compressé étant nommé <code>rootfs.gz</code>, nous vous
   1.294 +proposons d'utiliser un répertoire <code>rootfs/</code> pour l'extraire. 
   1.295 +Direction le répertoire de travail <code>hacked/</code>, création du
   1.296 +répertoire racine et copie du système compressé depuis le répertoire
   1.297 +<code>rootcd/boot/</code> (la racine du cdrom)&nbsp;:
   1.298 +</p>
   1.299 +<pre>
   1.300 + # cd /home/slitaz/hacked
   1.301 + # mkdir rootfs
   1.302 + # cp rootcd/boot/rootfs.gz rootfs
   1.303 +</pre>
   1.304 +<p>
   1.305 +Maintenant que vous avez une copie du système compressé, il suffit de le
   1.306 +décompresser et de le désarchiver avec <code>cpio</code>. Techniquement : Le
   1.307 +fichier <code>rootfs.gz</code> est une archive Cpio compressé avec LZMA ou
   1.308 +Gzip, elle est reconnue comme une image <code>initramfs</code> par le noyau
   1.309 +Linux. Lors du démarrage de la machine, le noyau se charge en mémoire et
   1.310 +décompresse l'image du système en mémoire vive pour finir par exécuter les
   1.311 +scripts d'initialisation. Pour extraire le système dans le répertoire 
   1.312 +<code>rootfs/</code> et supprimer la copie désarchivée (Rappel : vous pouvez
   1.313 +copier/coller les commandes) :
   1.314 +</p>
   1.315 +<pre>
   1.316 + # cd rootfs
   1.317 + # (zcat rootfs.gz 2&gt;/dev/null || lzma d rootfs.gz -so) | cpio -id
   1.318 + # rm rootfs rootfs.gz
   1.319 +</pre>
   1.320 +<p>
   1.321 +Le système est prêt à être modifié, vous pouvez lister les fichiers contenus
   1.322 +à la racine de votre système hackable en utilisant la commande <code>ls</code>.
   1.323 +</p>
   1.324 +<h4>Modifier un fichier</h4>
   1.325 +<p>
   1.326 +Pour faire simple et vous aider comprendre le principe, nous allons modifier
   1.327 +un fichier script dans le but d'ajouter deux commandes exécutées
   1.328 +automatiquement à chaque démarrage du LiveCD. La cible est&nbsp;:
   1.329 +<code>etc/init.d/local.sh</code>, il suffit de l'ouvrir avec votre éditeur de
   1.330 +texte préféré tel que Geany&nbsp;:
   1.331 +</p>
   1.332 +<pre>
   1.333 + # geany etc/init.d/local.sh &amp;
   1.334 +</pre>
   1.335 +<p>
   1.336 +Nous allons ajouter une commande affichant un message et faisant dormir le
   1.337 +système 4 secondes (c'est juste pour se faire la main). Example de lignes à
   1.338 +ajouter au script déstiné aux commandes locales&nbsp;:
   1.339 +</p>
   1.340 +<pre class="script">
   1.341 +echo "* Hacked SliTaz version booting..."
   1.342 +sleep 4
   1.343 +</pre>
   1.344 +<h4>Reconstruire l'image du système compressée</h4>
   1.345 +<p>
   1.346 +Une fois les modifications terminées, vous pouvez reconstruire une image
   1.347 +compressée de votre système modifié en utilisant <code>find</code> pour 
   1.348 +trouver les fichiers, <code>cpio</code> pour archiver, <code>lzma</code> ou
   1.349 +<code>gzip </code> pour compresser et des pipes <code>|</code> pour connecter
   1.350 +le tout. Cette commande doit être lancée depuis le répertoire racine du
   1.351 +système (<code>rootfs/</code>) et crée un fichier compressé 
   1.352 +<code>rootfs.gz</code> dans le répertoire précédant :
   1.353 +</p>
   1.354 +<pre>
   1.355 + # find . -print | cpio -o -H newc | lzma e -si -so &gt; ../rootfs.gz
   1.356 + Ou avec gzip :
   1.357 + # find . -print | cpio -o -H newc | gzip -9 &gt; ../rootfs.gz
   1.358 +</pre>
   1.359 +<p>
   1.360 +Pour finir il suffit de copier votre système compressé dans le répertoire
   1.361 +<code>boot/</code> de la racine du CD et de <a href="#gen-iso"
   1.362 +>générer une nouvelle image ISO bootable</a> avec isolinux. Pour copier le
   1.363 +<em>rootfs</em> en écrasant l'actuel, direction le répertoire de travail :
   1.364 +</p>
   1.365 +<pre>
   1.366 + # cd ../
   1.367 + # cp -a rootfs.gz rootcd/boot
   1.368 +</pre>
   1.369 +<a name="gen-iso"></a>
   1.370 +<h3><font color="#6c0023">Générer une image ISO bootable avec isolinux</font></h3>
   1.371 +<p>
   1.372 +La suite de commandes permettant de créer une image avec le 
   1.373 +<em>boot loader</em> <code>isolinux</code>, utilise l'application
   1.374 +<code>genisoimage</code> suivie de nombreuses options. Le nom de l'ISO est
   1.375 +spécifié au début, après l'option <code>-o</code> et le répertoire racine
   1.376 +(<code>rootcd/</code>) tout à la fin, après l'option
   1.377 +<code>-boot-info-table</code> :
   1.378 +</p>
   1.379 +<pre>
   1.380 + # genisoimage -R -o slitaz-hacked.iso -b boot/isolinux/isolinux.bin \
   1.381 +   -c boot/isolinux/boot.cat -no-emul-boot -boot-load-size 4 \
   1.382 +   -V "SliTaz-Hacked" -input-charset iso8859-1 -boot-info-table rootcd
   1.383 +</pre>
   1.384 +<p>
   1.385 +Si vous désirez vérifier le contenu de l'ISO avant gravage, il suffit
   1.386 +de monter l'image en <code>loop</code> et de lister les fichiers. Sur SliTaz
   1.387 +et la plupart des systèmes GNU/Linux, vous pouvez graver des images au
   1.388 +format ISO avec l'utilitaire <code>wodim</code> fournit par <a 
   1.389 +href="utilities.html#cdrkit">cdrkit</a>.
   1.390 +</p>
   1.391 +<h4>Générer de nouvelles ISO via un script</h4>
   1.392 +<p>
   1.393 +Si vous testez plusieurs possibilités et que vous êtes amené à souvent générer
   1.394 +des nouvelles images ISO, vous aurez peut être envie de semi-automatiser les
   1.395 +opérations via un simple petit script SHell. Ce petit script peut être créé
   1.396 +en ligne de commandes ou édité graphiquement, mais il ne faut oublier de le
   1.397 +rendre exécutable. Vous pouvez créer le script avec la commande 
   1.398 +<code>cat</code>, à noter que <code>EOF</code> signifie <em>End Of File</em>,
   1.399 +c'est la que le fichier se termine. Nous vous proposons de nommer le script
   1.400 +<code>gen_hacked_iso.sh</code> et d'utiliser deux variables permettant de 
   1.401 +rapidement changer le nom de l'image ISO et le chemin vers le répertoire
   1.402 +racine du cdrom :
   1.403 +</p>
   1.404 +<pre>
   1.405 + # cat &gt; gen_hacked_iso.sh &lt;&lt; "EOF"
   1.406 +</pre>
   1.407 +<pre class="script">
   1.408 +#!/bin/sh
   1.409 +# Gen a new hacked ISO image.
   1.410 +#
   1.411 +ISO_NAME="slitaz-hacked.iso"
   1.412 +ROOTCD="rootcd"
   1.413 +
   1.414 +genisoimage -R -o $ISO_NAME -b boot/isolinux/isolinux.bin \
   1.415 +   -c boot/isolinux/boot.cat -no-emul-boot -boot-load-size 4 \
   1.416 +   -V "SliTaz-Hacked" -input-charset iso8859-1 -boot-info-table $ROOTCD
   1.417 +
   1.418 +EOF
   1.419 +</pre>
   1.420 +<p>
   1.421 +Pour utiliser le script, il suffit de le rendre exécutable et de l'exécuter :
   1.422 +</p>
   1.423 +<pre>
   1.424 + # chmod +x gen_hacked_iso.sh
   1.425 + # ./gen_hacked_iso.sh
   1.426 +</pre>
   1.427 +
   1.428 +<!-- End of content -->
   1.429 +</div>
   1.430 +
   1.431 +<!-- Footer. -->
   1.432 +<div id="footer">
   1.433 +	<div class="footer-right"></div>
   1.434 +	<a href="#top">Haut de la page</a> | 
   1.435 +	<a href="index.html">Table des matières</a>
   1.436 +</div>
   1.437 +
   1.438 +<div id="copy">
   1.439 +    Copyright © 2007 <a href="http://www.slitaz.org/">SliTaz</a> -
   1.440 +    <a href="http://www.gnu.org/licenses/gpl.html">GNU General Public License</a>;<br />
   1.441 +    Documentation publiées sous
   1.442 +    <a href="http://www.gnu.org/copyleft/fdl.html">GNU Free Documentation License</a>
   1.443 +    et codée en <a href="http://validator.w3.org/">xHTML 1.0 valide</a>.
   1.444 +</div>
   1.445 +
   1.446 +</body>
   1.447 +</html>