website diff doc/handbook-stable/chroot-env.html @ rev 347
fr/about: Add evnets.html page for events report
author | Christophe Lincoln <pankso@slitaz.org> |
---|---|
date | Sun Mar 29 16:43:48 2009 +0200 (2009-03-29) |
parents | |
children |
line diff
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/doc/handbook-stable/chroot-env.html Sun Mar 29 16:43:48 2009 +0200 1.3 @@ -0,0 +1,196 @@ 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 - Chroot env</title> 1.9 + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> 1.10 + <meta name="description" content="SliTaz chroot environnement chrooté développer tester" /> 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="hacking-livecd.html">Hacking 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">Chroot environment</font></h2> 1.35 + 1.36 +<p> 1.37 +Ce document décrit les étapes à réaliser pour créer un environnement chrooté, 1.38 +afin de changer la racine du système pour travailler. Cela permet de compiler, 1.39 +tester et développer SliTaz sans risques pour le système hôte depuis lequel 1.40 +on travaille. Ce système hôte peut être SliTaz installée en dur ou tout autre 1.41 +système GNU/Linux tel que Debian, Fedora, PCLinuxOS, etc. On peut aussi créer 1.42 +un environnement chrooté en mode LiveCD associé à un media USB. Les seuls 1.43 +prérequis sont d'avoir une image ISO de SliTaz à disposition et un peu de 1.44 +temps. A noter que toutes les opérations sont réalisées en tant 1.45 +qu'administrateur (<em>root</em>). 1.46 +</p> 1.47 +<h3><font color="#6c0023">Préparer l'environnement</font></h3> 1.48 +<p> 1.49 +Pour commencer, il faut extraire le contenu de l'image ISO dans le répertoire 1.50 +qui va servir au chroot. Le répertoire de chroot peut se créer à l'endroit que 1.51 +l'on veut, nous utilisons un répertoire <code>/home/slitaz/chroot-env</code>. 1.52 +Pour extraire le contenu d'une image ISO, il faut la monter en <em>loop</em> 1.53 +sur un répertoire, pour ensuite copier le système de fichiers racine 1.54 +compressé (<code>rootfs.gz</code>) dans le répertoire de chroot. En 1.55 +supposant que l'ISO est dans le répertoire courant : 1.56 +</p> 1.57 +<pre> 1.58 + # mkdir /tmp/loop 1.59 + # mount -o loop slitaz-cooking.iso /tmp/loop 1.60 + # mkdir -p /home/slitaz/chroot-env 1.61 + # cp /tmp/loop/boot/rootfs.gz \ 1.62 + /home/slitaz/chroot-env 1.63 + # umount /tmp/loop 1.64 +</pre> 1.65 +<p> 1.66 +Maintenant qu'on a une copie du système de fichiers compressé, il faut le 1.67 +décompresser et le désarchiver (c'est une archive <code>cpio</code> compressée 1.68 +avec lzma ou gzip). Pour finir cette étape de préparation et continuer, on 1.69 +peut retirer le <code>rootfs</code> qui n'est plus utilisé : 1.70 +</p> 1.71 +<pre> 1.72 + # cd /home/slitaz/chroot-env 1.73 + # (zcat rootfs.gz 2>/dev/null || lzma d rootfs.gz -so) | cpio -id 1.74 + # rm rootfs rootfs.gz 1.75 +</pre> 1.76 +<p> 1.77 +Si le désarchivage du rootfs compressé avec LZMA échoue en utilisant la 1.78 +première méthode vous pouvez utiliser: 1.79 +</p> 1.80 +<pre> 1.81 + # unlzma rootfs.gz -S .gz 1.82 + # cat rootfs | cpio -id 1.83 +</pre> 1.84 + 1.85 +<h3><font color="#6c0023">Utiliser l'environnement</font></h3> 1.86 +<p> 1.87 +Pour utiliser l'environnemnt chrooté, il suffit de monter quelques systèmes 1.88 +de fichier virtuels et d'utiliser la commande <code>chroot</code>. Pour se 1.89 +simplifier la vie on peut rapidement créer un petit script automatisant 1.90 +le chroot. Exemple en utilisant le répertoire de chroot 1.91 +<code>/home/slitaz/chroot-env</code> et en créant un script nommé 1.92 +<code>chroot_in_env.sh</code> dans <code>/home/slitaz</code>. A noter que 1.93 +le contenu du script n'a pas besoin d'être tapé mais simplement copié/coller 1.94 +dans le terminal et que sur un autre système que SliTaz vous pouvez 1.95 +décommenter les lignes montant/démontant <code>/dev</code> et 1.96 +<code>/tmp</code> : 1.97 +</p> 1.98 +<pre> 1.99 + # cat > /home/slitaz/chroot_in_env.sh << "EOF" 1.100 +</pre> 1.101 +<pre class="script"> 1.102 +#!/bin/sh 1.103 +# Chroot in SliTaz to hack. 1.104 +# 1.105 +ROOTFS="/home/slitaz/chroot-env" 1.106 + 1.107 +# Mount virtual Kernel file systems and chroot. 1.108 +# 1.109 +#mount --bind /dev $ROOTFS/dev 1.110 +#mount --bind /tmp $ROOTFS/tmp 1.111 +mount -t proc proc $ROOTFS/proc 1.112 +mount -t sysfs sysfs $ROOTFS/sys 1.113 +mount -t devpts devpts $ROOTFS/dev/pts 1.114 +mount -t tmpfs shm $ROOTFS/dev/shm 1.115 + 1.116 +echo "Chrooting in $ROOTFS... " 1.117 +chroot $ROOTFS /bin/sh --login 1.118 + 1.119 +# Unmount virtual Kernel file systems on exit. 1.120 +# 1.121 +umount $ROOTFS/dev/shm 1.122 +umount $ROOTFS/dev/pts 1.123 +umount $ROOTFS/sys 1.124 +umount $ROOTFS/proc 1.125 +#umount $ROOTFS/tmp 1.126 +#umount $ROOTFS/dev 1.127 + 1.128 +echo "Exiting of $ROOTFS chroot environment... " 1.129 + 1.130 +EOF 1.131 +</pre> 1.132 +<p> 1.133 +Pour finir et tester l'environnement, il suffit de rendre le script exécutable 1.134 +et le lancer : 1.135 +</p> 1.136 +<pre> 1.137 + # chmod +x /home/slitaz/chroot_in_env.sh 1.138 + # sh /home/slitaz/chroot_in_env.sh 1.139 +</pre> 1.140 +<h4>Activer le réseau</h4> 1.141 +<p> 1.142 +Pour avoir le réseau afin de télécharger, naviguer en mode texte et installer 1.143 +des paquets de développement, il suffit de lancer le client DHCP sur la bonne 1.144 +interface, exemple avec <code>eth1</code> : 1.145 +</p> 1.146 +<pre> 1.147 + /# udhcpc -i eth1 1.148 +</pre> 1.149 +<h4>Installer des paquets</h4> 1.150 +<p> 1.151 +Si le réseau est fonctionnel, il suffit de recharger la liste des paquets et 1.152 +utiliser <code>tazpkg get-install</code> pour installer de nouveaux paquets. 1.153 +Si la connexion n'est pas possible, on peut télécharger les paquets du miroir 1.154 +depuis un autre système, les copier dans l'environnement chrooté et les 1.155 +installer via la commande <code>tazpkg install</code>. Pour installer la base 1.156 +des outils de compilation : 1.157 +</p> 1.158 +<pre> 1.159 + /# tazpkg recharge 1.160 + /# tazpkg get-install slitaz-toolchain 1.161 +</pre> 1.162 +<p> 1.163 +Une fois l'environnement configuré, on peut complier des applications 1.164 +depuis les sources pour en créer des paquets, tester des scripts et autre. 1.165 +Le chapitre <a href="development.html">développement</a> du Handbook et le 1.166 +<a href="http://www.slitaz.org/doc/cookbook/">Cookbook</a> devraient aider à 1.167 +aller plus loin. 1.168 +</p> 1.169 +<h4>Sortir de l'environnement</h4> 1.170 +<p> 1.171 +Pour sortir de l'environnement chrooté il suffit de taper <code>exit</code>, 1.172 +le script <code>chroot_in_env.sh</code> va finir son rôle en démontant 1.173 +le systèmes de fichiers virtuels propre au Kernel Linux : 1.174 +</p> 1.175 +<pre> 1.176 + /# exit 1.177 + # 1.178 +</pre> 1.179 + 1.180 +<!-- End of content --> 1.181 +</div> 1.182 + 1.183 +<!-- Footer. --> 1.184 +<div id="footer"> 1.185 + <div class="footer-right"></div> 1.186 + <a href="#top">Haut de la page</a> | 1.187 + <a href="index.html">Table des matières</a> 1.188 +</div> 1.189 + 1.190 +<div id="copy"> 1.191 + Copyright © 2007 <a href="http://www.slitaz.org/">SliTaz</a> - 1.192 + <a href="http://www.gnu.org/licenses/gpl.html">GNU General Public License</a>;<br /> 1.193 + Documentation publiées sous 1.194 + <a href="http://www.gnu.org/copyleft/fdl.html">GNU Free Documentation License</a> 1.195 + et codée en <a href="http://validator.w3.org/">xHTML 1.0 valide</a>. 1.196 +</div> 1.197 + 1.198 +</body> 1.199 +</html>