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

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