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 : 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> : 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 : 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> : 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 : 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 : 1.185 +</p> 1.186 +<pre> 1.187 + # leafpad rootcd/boot/isolinux/isolinux.cfg & 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 : 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 : 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 : 1.242 +<code>mkdir -p /home/slitaz/src</code>) pour télécharger les sources et les 1.243 +désarchiver : 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 : 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 : 1.268 +</p> 1.269 +<pre> 1.270 + # cd /home/slitaz/hacked 1.271 + # leafpad rootcd/boot/isolinux/isolinux.cfg & 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 : 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 : 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) : 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>/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 : 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 : 1.331 +</p> 1.332 +<pre> 1.333 + # geany etc/init.d/local.sh & 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 : 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 > ../rootfs.gz 1.356 + Ou avec gzip : 1.357 + # find . -print | cpio -o -H newc | gzip -9 > ../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 > gen_hacked_iso.sh << "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>