website annotate doc/handbook/hacking-livecd.html @ rev 313

fr/handbook: Update copyright date
author Christophe Lincoln <pankso@slitaz.org>
date Sun Mar 22 16:24:50 2009 +0100 (2009-03-22)
parents 820d0069a6a3
children
rev   line source
pankso@4 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
pankso@4 2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
pankso@4 3 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
pankso@4 4 <head>
pankso@4 5 <title>SliTaz Handbook - Hacking LiveCD</title>
pankso@4 6 <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
pankso@4 7 <meta name="description" content="modifier generer le livecd manuellement ligne de commande" />
pankso@4 8 <meta name="expires" content="never" />
pankso@4 9 <meta name="modified" content="2007-12-03 12:30:00" />
pankso@4 10 <meta name="publisher" content="www.slitaz.org" />
pankso@4 11 <meta name="author" content="Christophe Lincoln"/>
pankso@4 12 <link rel="shortcut icon" href="favicon.ico" />
pankso@4 13 <link rel="stylesheet" type="text/css" href="book.css" />
pankso@4 14 </head>
pankso@4 15 <body bgcolor="#ffffff">
pankso@4 16
pankso@4 17 <!-- Header and quick navigation -->
pankso@4 18 <div id="header">
pankso@4 19 <div align="right" id="quicknav">
pankso@4 20 <a name="top"></a>
pankso@4 21 <a href="gen-livecd.html">Générer un LiveCD</a> |
pankso@4 22 <a href="index.html">Table des matières</a>
pankso@4 23 </div>
pankso@4 24 <h1><font color="#3E1220">SliTaz Handbook</font></h1>
pankso@4 25 </div>
pankso@4 26
pankso@4 27 <!-- Content. -->
pankso@4 28 <div id="content">
pankso@4 29 <div class="content-right"></div>
pankso@4 30
pankso@4 31 <h2><font color="#DF8F06">Hacking SliTaz LiveCD</font></h2>
pankso@4 32
pankso@4 33 <ul>
pankso@4 34 <li><a href="#intro">Introduction.</a></li>
pankso@4 35 <li><a href="#pre">Organisation et préparation.</a></li>
pankso@4 36 <li><a href="#add-files">Ajouter des fichiers dans l'ISO.</a></li>
pankso@4 37 <li><a href="#isolinux">Modifier la configuration d'isolinux.</a></li>
pankso@4 38 <li><a href="#memtest">Installer et utiliser Memtest86.</a></li>
pankso@4 39 <li><a href="#rootfs">Manipuler la racine du système Live.</a></li>
pankso@4 40 <li><a href="#gen-iso">Générer une image ISO bootable avec isolinux.</a></li>
pankso@4 41 </ul>
pankso@4 42
pankso@4 43 <a name="intro"></a>
pankso@4 44 <h3><font color="#6c0023">Introduction</font></h3>
pankso@4 45 <p>
pankso@4 46 <em>Hacking SliTaz LiveCD</em> ou comment s'amuser avec l'image ISO du LiveCD,
pankso@4 47 la modifier, la personnaliser et la reconstruire à la main. A noter que vous
pankso@4 48 avez aussi la possibilité de
pankso@4 49 <a href="gen-livecd.html">créer une saveur avec Tazlito</a> et cela de. Créer
pankso@4 50 sa propre image ISO bootable ne demande que peut de temps, les étapes à suivre
pankso@4 51 sont soigneusement décrites dans ce document et sont faciles à réaliser. La
pankso@4 52 manipulation de l'images ISO permet d'ajouter des nouveaux fichiers ou de
pankso@4 53 modifier les fichiers existants sur le cdrom. L'image ISO de SliTaz fait moins
pankso@4 54 de 30 Mb et un CD-R ou CD-RW classique fournit 700 Mb, il reste donc pas mal
pankso@4 55 de place, pour mettre par exemple, vos photos afin de les montrer en
pankso@4 56 <em>live</em> via SliTaz et un diaporama propulsé par le gestionnaire
pankso@4 57 d'images GQview. Le <em>hacking</em> de l'image ISO permet de modifier les
pankso@4 58 fichiers de configuration du chargeur de démarrage (<em>boot loader</em>) et
pankso@4 59 son image <em>splash</em> ou d'en utiliser un autre tel que GRUB. Vous pouvez
pankso@4 60 aussi facilement et directement ajouter des utilitaire tel que Memtest86 (outil
pankso@4 61 servant à tester la RAM d'une machine). En utilisant les mêmes techniques, il
pankso@4 62 est également possible de modifier le contenu du système en soit, cela demande
pankso@4 63 quelques manipulations supplémentaires et un peu plus de temps... libre.
pankso@4 64 </p>
pankso@4 65 <a name="pre"></a>
pankso@4 66 <h3><font color="#6c0023">Organisation et préparation</font></h3>
pankso@4 67 <p>
pankso@4 68 Pour commencer il faut définir l'endroit ou l'on va travailler, créer un
pankso@4 69 répertoire de travail et plusieurs sous-répertoires destinés à accueillir les
pankso@4 70 différents fichiers. Le <em>hacking</em> de l'ISO peut se faire depuis un
pankso@4 71 système SliTaz ou tous autres système GNU/Linux tels que Debian, Fedora,
pankso@4 72 PCLinuxOS, Slackware, etc. Si vous utilisez SliTaz en mode LiveCD (vous pouvez
pankso@4 73 retirer le cdrom une fois SliTaz lancée en RAM et graver votre nouvelle ISO),
pankso@4 74 nous vous conseillons d'utiliser un media USB pour conserver le travail, sinon
pankso@4 75 il sera perdu à l'arrêt du système. Pour travailler nous vous proposons
pankso@4 76 d'utiliser un répertoire <code>hacked/</code> que vous pouvez créer dans
pankso@4 77 un répertoire <code>/home/slitaz</code>, à la racine de votre espace
pankso@4 78 utilisateur, ou ailleurs si vous le désirez. Utiliser un répertoire
pankso@4 79 <code>/home/slitaz</code> vous permet de stocker une image ISO originale et
pankso@4 80 de créer en options un répertoire <code>src/</code> pour télécharger
pankso@4 81 d'éventuelles paquets sources. Toutes les étapes de <em>hacking</em> peuvent
pankso@4 82 se faire en lignes de commandes via un termial X tel que XTerm ou en mode
pankso@4 83 texte et un terminal Linux. A noter que nous vous conseillons de faire les
pankso@4 84 opérations en tant que <em>root</em> afin d'éviter tous problèmes de
pankso@4 85 permissions. Pour devenir administrateur (<em>root</em>), créer le
pankso@4 86 répertoire de travail dans <code>/home/slitaz/hacked</code> et se placer
pankso@4 87 dedans&nbsp;:
pankso@4 88 </p>
pankso@4 89 <pre>
pankso@4 90 $ su
pankso@4 91 # mkdir -p /home/slitaz/hacked
pankso@4 92 (# mkdir -p /home/slitaz/src)
pankso@4 93 # cd /home/slitaz/hacked
pankso@4 94 </pre>
pankso@4 95 <h4>Récupérer les fichiers contenus sur l'ISO</h4>
pankso@4 96 <p>
pankso@4 97 Maintenant que vous êtes dans le répertoire de travail, il faut créer la
pankso@4 98 racine de votre cdrom modifié et récupérer les fichiers contenu dans l'ISO
pankso@4 99 original du LiveCD. C'est à dire le noyau Linux (<code>bzImage</code>), le
pankso@4 100 système de fichiers compressé (<code>rootfs.gz</code>) et les fichiers du
pankso@4 101 chargeur de démarrage Isolinux. Pour récupérer ces fichiers vous avez deux
pankso@4 102 solutions, soit les prendre depuis un cdrom gravé, soit directement depuis
pankso@4 103 une image ISO local. Pour créer la racine de votre CD (<code>rootcd</code>)
pankso@4 104 et copier les fichiers depuis un périphérique cdrom reconnu comme
pankso@4 105 <code>/dev/cdrom</code> et monté sur <code>/media/cdrom</code>&nbsp;:
pankso@4 106 </p>
pankso@4 107 <pre>
pankso@4 108 # mount -t iso9660 /dev/cdrom /media/cdrom
pankso@4 109 # mkdir rootcd
pankso@4 110 # cp -a /media/cdrom/* rootcd
pankso@4 111 </pre>
pankso@4 112 <p>
pankso@4 113 Pour monter une image ISO en <em>loop</em> sur le répertoire temporaire
pankso@4 114 nommé <code>/tmp/loop</code> (avec l'image ISO <code>slitaz-cooking.iso</code>
pankso@4 115 préalablement téléchargée ou copiée), créer la racine du CD, copier les
pankso@4 116 fichiers et démonter l'image ISO&nbsp;:
pankso@4 117 </p>
pankso@4 118 <pre>
pankso@4 119 # mkdir /tmp/loop
pankso@4 120 # mount -o loop slitaz-cooking.iso /tmp/loop
pankso@4 121 # mkdir rootcd
pankso@4 122 # cp -a /tmp/loop/* rootcd
pankso@4 123 # umount /tmp/loop
pankso@4 124 </pre>
pankso@4 125 <p>
pankso@4 126 Voilà, tous les fichiers nécessaires devraient être présents dans le répertoire
pankso@4 127 <code>rootcd/</code>, pour vous en assurer, vous pouvez pouver lister
pankso@4 128 récursivement les fichiers via la commande <code>ls</code>&nbsp;:
pankso@4 129 </p>
pankso@4 130 <pre>
pankso@4 131 # ls -R rootcd
pankso@4 132 </pre>
pankso@4 133 <a name="add-files"></a>
pankso@4 134 <h3><font color="#6c0023">Ajouter des fichiers dans l'ISO</font></h3>
pankso@4 135 <p>
pankso@4 136 L'ajout de divers fichiers et répertoires dans l'image ISO consiste
pankso@4 137 simplement à copier des données à la racine du cdrom (<code>rootcd/</code>)
pankso@4 138 et à générer une nouvelle image. Les données ajoutées peuvent être classées
pankso@4 139 dans un ou des répertoires préalablement créés à la racine du CD. Une fois
pankso@4 140 l'image ISO gravée sur un CD-R/CD-RW vous pourrez utiliser SliTaz comme
pankso@4 141 avant, monter le cdrom sur <code>/media/cdrom</code> et naviguer dans vos
pankso@4 142 données graphiquement avec emelFM2, dans un terminal avec Clex ou en ligne de
pankso@4 143 commandes. Vos données seront aussi lisibles depuis tous les systèmes GNU/Linux,
pankso@4 144 BSD, et même... Windows.
pankso@4 145 </p>
pankso@4 146 <h4>Créer un ou des répertoires et copier des données</h4>
pankso@4 147 <p>
pankso@4 148 Pour créer et copier des fichiers vous pouvez commencer par utiliser la
pankso@4 149 ligne de commande et continuer graphiquement en tant que simple utilisateur.
pankso@4 150 Nous allons créer un répertoires <code>images/</code> en tant que <em>root</em>
pankso@4 151 et changer les permissions pour que tous les utilisateurs puissent écrire
pankso@4 152 dedans&nbsp;:
pankso@4 153 </p>
pankso@4 154 <pre>
pankso@4 155 # mkdir rootcd/images
pankso@4 156 # chmod 777 rootcd/images
pankso@4 157 </pre>
pankso@4 158 <p>
pankso@4 159 Maintenant qu'un nouveau répertoire existe en écriture pour tous, il faut le
pankso@4 160 remplir. Une fois que vous avez fini de copier vos données, il suffit de
pankso@4 161 <a href="#gen-iso">générer une nouvelle image ISO bootable</a>.
pankso@4 162 </p>
pankso@4 163 <a name="isolinux"></a>
pankso@4 164 <h3><font color="#6c0023">Modifier la configuration d'isolinux</font></h3>
pankso@4 165 <p>
pankso@4 166 Modifier la configuration d'isolinux vous permet de créer des entrées
pankso@4 167 personnalisées avec des options de <em>boot</em> prédéfinies, vous pouvez par
pankso@4 168 exemple ajouter un <code>label</code> lançant SliTaz avec les options
pankso@4 169 <code>lang=fr</code> et <code>kmap=fr_CH</code>. Au niveau graphisme, vous
pankso@4 170 pouvez facilement changer l'image <em>splash</em> s'affichant au démarrage.
pankso@4 171 L'application <code>isolinux</code> est le chargeur de démarrage
pankso@4 172 (<em>boot loader</em>) du LiveCD, il est fournit par le paquet Syslinux.
pankso@4 173 L'archive source de Syslinux fournit diverses applications dont le rôle est
pankso@4 174 de démarrer un système GNU/Linux. La version binaire <code>isolinux.bin</code>
pankso@4 175 est déstinée aux image ISO, ce chargeur de démarrage est simple, rapide et
pankso@4 176 facilement configurable via un fichier de configuration principale, éditable
pankso@4 177 graphiquement ou dans un terminal avec votre éditeur de texte préféré.
pankso@4 178 La syntaxe du fichier de configuration <code>isolinux.cfg</code> est facile
pankso@4 179 à comprendre, pour ajouter de nouvelles entrées il suffit de copier/coller
pankso@4 180 en utilisant le fichier original. Pour éditer graphiquement le fichier
pankso@4 181 <code>isolinux.cfg</code> avec Leafpad&nbsp;:
pankso@4 182 </p>
pankso@4 183 <pre>
pankso@4 184 # leafpad rootcd/boot/isolinux/isolinux.cfg &amp;
pankso@4 185 </pre>
pankso@4 186 <h4>Fichier de configuration isolinux.cfg</h4>
pankso@4 187 <p>
pankso@4 188 Le fichier <code>isolinux.cfg</code>, fourni en standard sur le LiveCD de
pankso@4 189 SliTaz, commence par la valeur <code>display</code>, cette valeur permet
pankso@4 190 d'afficher tel quel un fichier texte ou d'afficher un fichier
pankso@4 191 (<code>isolinux.msg</code>) utilisant des caractères ASCII 24 et permettant
pankso@4 192 d'afficher du texte avec une image <em>splash</em>. La valeur
pankso@4 193 <code>default</code> défini le nom du <code>label</code> à démarrer par
pankso@4 194 défaut après le temps d'attente (<code>timeout</code>). <em>Timeout</em>
pankso@4 195 correspond au nombre de secondes à attendre avant de booter, vous pouvez le
pankso@4 196 mettre à 0, hôter la ligne pour démarrer instantanément ou choisir un temps
pankso@4 197 d'attente plus long tel que 80 s. Pour finir, le <code>prompt</code> peut
pankso@4 198 être désactivé via la valeur <code>0</code>, les valeurs F1, F2, F3
pankso@4 199 affichent des fichiers d'aides et F4 est un display au format texte&nbsp;:
pankso@4 200 </p>
pankso@4 201 <pre class="script">
pankso@4 202 display isolinux.msg
pankso@4 203 default slitaz
pankso@4 204 label slitaz
pankso@4 205 kernel /boot/bzImage
pankso@4 206 append initrd=/boot/rootfs.gz rw root=/dev/null vga=788
pankso@4 207 implicit 0
pankso@4 208 prompt 1
pankso@4 209 timeout 80
pankso@4 210 F1 help.txt
pankso@4 211 F2 options.txt
pankso@4 212 F3 isolinux.msg
pankso@4 213 F4 display.txt
pankso@4 214 </pre>
pankso@4 215 <p>
pankso@4 216 Exemple d'un label <code>slitazfr</code> que vous pouvez ajouter à l'orginal,
pankso@4 217 pour configurer directement la langue du système en français et avoir le
pankso@4 218 clavier Belge&nbsp;:
pankso@4 219 </p>
pankso@4 220 <pre class="script">
pankso@4 221 label slitazfr
pankso@4 222 kernel /boot/bzImage
pankso@4 223 append initrd=/boot/rootfs.gz rw root=/dev/null lang=fr kmap=be
pankso@4 224 </pre>
pankso@4 225 <p>
pankso@4 226 Une fois que vous avez fini de modifier le fichier de configuration, il ne
pankso@4 227 faut pas oublier d'enregistrer vos changements avant de
pankso@4 228 <a href="#gen-iso">générer une nouvelle image ISO bootable</a> avec isolinux.
pankso@4 229 </p>
pankso@4 230 <a name="memtest"></a>
pankso@4 231 <h3><font color="#6c0023">Installer et utiliser Memtest86</font></h3>
pankso@4 232 <p>
pankso@4 233 L'application memtest86 (92 ko) est un outil autonome de test de mémoire vive
pankso@4 234 (RAM). Memetes86 permet de tester en profondeur l'état des barrettes de RAM et
pankso@4 235 de déceler une quelconque défaillance. L'outil s'installe dans le répertoire
pankso@4 236 <code>boot/</code> de la racine du cdrom et se lance directement au démarrage
pankso@4 237 de la machine en tapant simplement <code>memtest</code> au prompt d'isolinux.
pankso@4 238 Direction <code>/home/slitaz/src</code> (si le répertoire n'existe pas&nbsp;:
pankso@4 239 <code>mkdir -p /home/slitaz/src</code>) pour télécharger les sources et les
pankso@4 240 désarchiver&nbsp;:
pankso@4 241 </p>
pankso@4 242 <pre>
pankso@4 243 # cd /home/slitaz/src
pankso@4 244 # wget http://www.memtest86.com/memtest86-3.3.tar.gz
pankso@4 245 # tar xzf memtest86-3.3.tar.gz
pankso@4 246 </pre>
pankso@4 247 <p>
pankso@4 248 Le paquet source de Memtest86 étant désarchivé (vous y trouverez un fichier
pankso@4 249 <code>README</code> en anglais donnant des informations sur l'outil), vous
pankso@4 250 allez pouvoir l'installer dans le <em>root CD</em> de votre ISO hackée. En
pankso@4 251 partant du principe que vous utilisez un répertoire de travail
pankso@4 252 <code>/home/slitaz/hacked</code>, nous allons copier le binaire précompilé
pankso@4 253 dans le répertoire <code>boot/</code> de la racine du CD&nbsp;:
pankso@4 254 </p>
pankso@4 255 <pre>
pankso@4 256 # cp memtest86-3.3/precomp.bin \
pankso@4 257 /home/slitaz/hacked/rootcd/boot/memtest
pankso@4 258 </pre>
pankso@4 259 <p>
pankso@4 260 Maintenant que le binaire est installé dans le <em>root CD</em>, il suffit
pankso@4 261 d'ajouter une entrée pour Memtest86 dans le fichier de configuration d'isolinux
pankso@4 262 et de <a href="#gen-iso">générer une nouvelle image ISO bootable</a>.
pankso@4 263 Direction <code>/home/slitaz/hacked</code> pour éditer le fichier
pankso@4 264 <code>isolinux.cfg</code> avec LeafPad par exemple&nbsp;:
pankso@4 265 </p>
pankso@4 266 <pre>
pankso@4 267 # cd /home/slitaz/hacked
pankso@4 268 # leafpad rootcd/boot/isolinux/isolinux.cfg &amp;
pankso@4 269 </pre>
pankso@4 270 <pre class="script">
pankso@4 271 label memtest
pankso@4 272 kernel /boot/memtest
pankso@4 273 </pre>
pankso@4 274 <p>
pankso@4 275 Site web officiel de Memtest86&nbsp;:
pankso@4 276 <a href="http://www.memtest86.com/">http://www.memtest86.com/</a>
pankso@4 277 </p>
pankso@4 278 <a name="rootfs"></a>
pankso@4 279 <h3><font color="#6c0023">Manipuler la racine du système Live</font></h3>
pankso@4 280 <p>
pankso@4 281 La modification du système Live vous permet par exemple d'ajouter rapidement
pankso@4 282 un nouvel utilisateur avec mot de passe, de personnaliser le graphisme ou
pankso@4 283 d'ajouter des commandes exécutées automatiquement au démarrage du LiveCD. Les
pankso@4 284 opérations nécessaires à la modification du système de fichier racine (
pankso@4 285 <em>root file system</em>) sont&nbsp;: extraire le système du fichier compresé
pankso@4 286 <code>rootfs.gz</code>, modfier, reconstruire l'image du système compressé
pankso@4 287 et générer une nouvelle ISO. En partant du principe que vous avez déjà
pankso@4 288 <a href="#pre">préparé votre répertoire de travail</a>, il faut commencer
pankso@4 289 par créer un répertoire destiné à contenir les fichiers du système modifiable.
pankso@4 290 Le système racine compressé étant nommé <code>rootfs.gz</code>, nous vous
pankso@4 291 proposons d'utiliser un répertoire <code>rootfs/</code> pour l'extraire.
pankso@4 292 Direction le répertoire de travail <code>hacked/</code>, création du
pankso@4 293 répertoire racine et copie du système compressé depuis le répertoire
pankso@4 294 <code>rootcd/boot/</code> (la racine du cdrom)&nbsp;:
pankso@4 295 </p>
pankso@4 296 <pre>
pankso@4 297 # cd /home/slitaz/hacked
pankso@4 298 # mkdir rootfs
pankso@4 299 # cp rootcd/boot/rootfs.gz rootfs
pankso@4 300 </pre>
pankso@4 301 <p>
pankso@4 302 Maintenant que vous avez une copie du système compressé, il suffit de le
pankso@4 303 décompresser et de le désarchiver avec <code>cpio</code>. Techniquement : Le
pankso@4 304 fichier <code>rootfs.gz</code> est une archive Cpio compressé avec LZMA ou
pankso@4 305 Gzip, elle est reconnue comme une image <code>initramfs</code> par le noyau
pankso@4 306 Linux. Lors du démarrage de la machine, le noyau se charge en mémoire et
pankso@4 307 décompresse l'image du système en mémoire vive pour finir par exécuter les
pankso@4 308 scripts d'initialisation. Pour extraire le système dans le répertoire
pankso@4 309 <code>rootfs/</code> et supprimer la copie désarchivée (Rappel : vous pouvez
pankso@4 310 copier/coller les commandes) :
pankso@4 311 </p>
pankso@4 312 <pre>
pankso@4 313 # cd rootfs
pankso@4 314 # (zcat rootfs.gz 2&gt;/dev/null || lzma d rootfs.gz -so) | cpio -id
pankso@4 315 # rm rootfs rootfs.gz
pankso@4 316 </pre>
pankso@4 317 <p>
pankso@4 318 Le système est prêt à être modifié, vous pouvez lister les fichiers contenus
pankso@4 319 à la racine de votre système hackable en utilisant la commande <code>ls</code>.
pankso@4 320 </p>
pankso@4 321 <h4>Modifier un fichier</h4>
pankso@4 322 <p>
pankso@4 323 Pour faire simple et vous aider comprendre le principe, nous allons modifier
pankso@4 324 un fichier script dans le but d'ajouter deux commandes exécutées
pankso@4 325 automatiquement à chaque démarrage du LiveCD. La cible est&nbsp;:
pankso@4 326 <code>etc/init.d/local.sh</code>, il suffit de l'ouvrir avec votre éditeur de
pankso@4 327 texte préféré tel que Geany&nbsp;:
pankso@4 328 </p>
pankso@4 329 <pre>
pankso@4 330 # geany etc/init.d/local.sh &amp;
pankso@4 331 </pre>
pankso@4 332 <p>
pankso@4 333 Nous allons ajouter une commande affichant un message et faisant dormir le
pankso@4 334 système 4 secondes (c'est juste pour se faire la main). Example de lignes à
pankso@4 335 ajouter au script déstiné aux commandes locales&nbsp;:
pankso@4 336 </p>
pankso@4 337 <pre class="script">
pankso@4 338 echo "* Hacked SliTaz version booting..."
pankso@4 339 sleep 4
pankso@4 340 </pre>
pankso@4 341 <h4>Reconstruire l'image du système compressée</h4>
pankso@4 342 <p>
pankso@4 343 Une fois les modifications terminées, vous pouvez reconstruire une image
pankso@4 344 compressée de votre système modifié en utilisant <code>find</code> pour
pankso@4 345 trouver les fichiers, <code>cpio</code> pour archiver, <code>lzma</code> ou
pankso@4 346 <code>gzip </code> pour compresser et des pipes <code>|</code> pour connecter
pankso@4 347 le tout. Cette commande doit être lancée depuis le répertoire racine du
pankso@4 348 système (<code>rootfs/</code>) et crée un fichier compressé
pankso@4 349 <code>rootfs.gz</code> dans le répertoire précédant :
pankso@4 350 </p>
pankso@4 351 <pre>
pankso@4 352 # find . -print | cpio -o -H newc | lzma e -si -so &gt; ../rootfs.gz
pankso@4 353 Ou avec gzip :
pankso@4 354 # find . -print | cpio -o -H newc | gzip -9 &gt; ../rootfs.gz
pankso@4 355 </pre>
pankso@4 356 <p>
pankso@4 357 Pour finir il suffit de copier votre système compressé dans le répertoire
pankso@4 358 <code>boot/</code> de la racine du CD et de <a href="#gen-iso"
pankso@4 359 >générer une nouvelle image ISO bootable</a> avec isolinux. Pour copier le
pankso@4 360 <em>rootfs</em> en écrasant l'actuel, direction le répertoire de travail :
pankso@4 361 </p>
pankso@4 362 <pre>
pankso@4 363 # cd ../
pankso@4 364 # cp -a rootfs.gz rootcd/boot
pankso@4 365 </pre>
pankso@4 366 <a name="gen-iso"></a>
pankso@4 367 <h3><font color="#6c0023">Générer une image ISO bootable avec isolinux</font></h3>
pankso@4 368 <p>
pankso@4 369 La suite de commandes permettant de créer une image avec le
pankso@4 370 <em>boot loader</em> <code>isolinux</code>, utilise l'application
pankso@4 371 <code>genisoimage</code> suivie de nombreuses options. Le nom de l'ISO est
pankso@4 372 spécifié au début, après l'option <code>-o</code> et le répertoire racine
pankso@4 373 (<code>rootcd/</code>) tout à la fin, après l'option
pankso@4 374 <code>-boot-info-table</code> :
pankso@4 375 </p>
pankso@4 376 <pre>
pankso@4 377 # genisoimage -R -o slitaz-hacked.iso -b boot/isolinux/isolinux.bin \
pankso@4 378 -c boot/isolinux/boot.cat -no-emul-boot -boot-load-size 4 \
pankso@4 379 -V "SliTaz-Hacked" -input-charset iso8859-1 -boot-info-table rootcd
pankso@4 380 </pre>
pankso@4 381 <p>
pankso@4 382 Si vous désirez vérifier le contenu de l'ISO avant gravage, il suffit
pankso@4 383 de monter l'image en <code>loop</code> et de lister les fichiers. Sur SliTaz
pankso@4 384 et la plupart des systèmes GNU/Linux, vous pouvez graver des images au
pankso@4 385 format ISO avec l'utilitaire <code>wodim</code> fournit par <a
pankso@4 386 href="utilities.html#cdrkit">cdrkit</a>.
pankso@4 387 </p>
pankso@4 388 <h4>Générer de nouvelles ISO via un script</h4>
pankso@4 389 <p>
pankso@4 390 Si vous testez plusieurs possibilités et que vous êtes amené à souvent générer
pankso@4 391 des nouvelles images ISO, vous aurez peut être envie de semi-automatiser les
pankso@4 392 opérations via un simple petit script SHell. Ce petit script peut être créé
pankso@4 393 en ligne de commandes ou édité graphiquement, mais il ne faut oublier de le
pankso@4 394 rendre exécutable. Vous pouvez créer le script avec la commande
pankso@4 395 <code>cat</code>, à noter que <code>EOF</code> signifie <em>End Of File</em>,
pankso@4 396 c'est la que le fichier se termine. Nous vous proposons de nommer le script
pankso@4 397 <code>gen_hacked_iso.sh</code> et d'utiliser deux variables permettant de
pankso@4 398 rapidement changer le nom de l'image ISO et le chemin vers le répertoire
pankso@4 399 racine du cdrom :
pankso@4 400 </p>
pankso@4 401 <pre>
pankso@4 402 # cat &gt; gen_hacked_iso.sh &lt;&lt; "EOF"
pankso@4 403 </pre>
pankso@4 404 <pre class="script">
pankso@4 405 #!/bin/sh
pankso@4 406 # Gen a new hacked ISO image.
pankso@4 407 #
pankso@4 408 ISO_NAME="slitaz-hacked.iso"
pankso@4 409 ROOTCD="rootcd"
pankso@4 410
pankso@4 411 genisoimage -R -o $ISO_NAME -b boot/isolinux/isolinux.bin \
pankso@4 412 -c boot/isolinux/boot.cat -no-emul-boot -boot-load-size 4 \
pankso@4 413 -V "SliTaz-Hacked" -input-charset iso8859-1 -boot-info-table $ROOTCD
pankso@4 414
pankso@4 415 EOF
pankso@4 416 </pre>
pankso@4 417 <p>
pankso@4 418 Pour utiliser le script, il suffit de le rendre exécutable et de l'exécuter :
pankso@4 419 </p>
pankso@4 420 <pre>
pankso@4 421 # chmod +x gen_hacked_iso.sh
pankso@4 422 # ./gen_hacked_iso.sh
pankso@4 423 </pre>
pankso@4 424
pankso@4 425 <!-- End of content -->
pankso@4 426 </div>
pankso@4 427
pankso@4 428 <!-- Footer. -->
pankso@4 429 <div id="footer">
pankso@4 430 <div class="footer-right"></div>
pankso@4 431 <a href="#top">Haut de la page</a> |
pankso@4 432 <a href="index.html">Table des matières</a>
pankso@4 433 </div>
pankso@4 434
pankso@4 435 <div id="copy">
pankso@313 436 Copyright &copy; 2009 <a href="http://www.slitaz.org/">SliTaz</a> -
pankso@4 437 <a href="http://www.gnu.org/licenses/gpl.html">GNU General Public License</a>;<br />
pankso@4 438 Documentation publiées sous
pankso@4 439 <a href="http://www.gnu.org/copyleft/fdl.html">GNU Free Documentation License</a>
pankso@4 440 et codée en <a href="http://validator.w3.org/">xHTML 1.0 valide</a>.
pankso@4 441 </div>
pankso@4 442
pankso@4 443 </body>
pankso@4 444 </html>