website view fr/doc/scratchbook/base-apps.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 803de7c72d06
children
line source
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
4 <head>
5 <title>SliTaz Scratchbook - Base apps</title>
6 <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
7 <meta name="description" content="applications de base du système livecd slitaz" />
8 <meta name="expires" content="never" />
9 <meta name="modified" content="2007-12-24 12:30:00" />
10 <meta name="publisher" content="www.slitaz.org" />
11 <meta name="author" content="Christophe Lincoln"/>
12 <link rel="shortcut icon" href="favicon.ico" />
13 <link rel="stylesheet" type="text/css" href="book.css" />
14 </head>
15 <body bgcolor="#ffffff">
17 <!-- Header and quick navigation -->
18 <div id="header">
19 <div align="right" id="quicknav">
20 <a name="top"></a>
21 <a href="base-system.html">Base system</a> |
22 <a href="index.html">Table des matières</a> |
23 <a href="base-ncurses.html">Base ncurses</a>
24 </div>
25 <h1><font color="#3E1220">SliTaz Scratchbook</font></h1>
26 </div>
28 <!-- Content. -->
29 <div id="content">
30 <div class="content-right"></div>
33 <h2><font color="#DF8F06">Applications de base</font></h2>
34 <p>
35 Install et configuration des bibliothèques et des applications de base.
36 </p>
37 <ul>
38 <li><a href="base-apps.html#about">A propos de ce chapitre</a> - Description et variable
39 d'environnement ($fs)</li>
40 <li><a href="base-apps.html#bc">bc-1.06</a> - Calculatrice en mode texte.</li>
41 <li><a href="base-apps.html#zlib">zlib-1.2.3</a> - Bibliothèques de compression.</li>
42 <li><a href="base-apps.html#pcre">pcre-7.4</a> - Expressions régulières compatible
43 Perl.</li>
44 <li><a href="base-apps.html#e2fsprogs">e2fsprogs-1.39</a> - Utilitaires de gestion des
45 systèmes de fichiers.</li>
46 <li><a href="base-apps.html#dropbear">dropbear-0.50</a> - Client et serveur SSH
47 légé.</li>
48 <li><a href="base-apps.html#lighttpd">lighttpd-1.4.18</a> - Serveur web HTTP, léger et
49 sécurisé.</li>
50 <li><a href="base-apps.html#iptables">iptables-1.3.7</a> - Netfilter, pare-feu
51 Linux.</li>
52 <li><a href="base-apps.html#sqlite">sqlite-3.5.1</a> - Petit moteur de base de données
53 SQL.</li>
54 <li><a href="base-apps.html#cdrkit">cdrkit-1.1.5</a> - Outils de manipulation de cdrom
55 et images ISO.</li>
56 <li><a href="base-apps.html#cpio">cpio-2.8</a> - Archiveur utilisé en autre pour les
57 paquets SliTaz et l'initramfs.</li>
58 <li><a href="base-apps.html#microperl">microperl-5.8.8</a> - Un tout petit Perl.</li>
59 <li><a href="base-apps.html#module-init-tools">module-init-tools-3.2</a> - Outils de
60 manipulation des modules du noyau.</li>
61 <li><a href="base-apps.html#kernel-modules">Copie et compression des modules du
62 Kernel.</a></li>
63 <li><a href="base-apps.html#initramfs-iso">Génération de l'initramfs, et d'une
64 image ISO.</a></li>
65 </ul>
66 <a name="about"></a>
67 <h3><font color="#6c0023">A propos</font></h3>
68 <p>
69 Ce chapitre décrit l'installations des bibliothèque et des applications de
70 base en mode texte, fournies avec SliTaz.
71 </p>
72 <h4>Affecter une variable d'environnement ($fs)</h4>
73 <p>
74 Une variable d'environnement permet de ne pas spécifier tout le chemin vers le
75 répertoire, mais simplement $NomDeVariable. Nous allons afecter un variable '$fs'
76 pour indiquer le chemin vers le système de fichier racine 'rootfs'. Pour cela vous
77 pouvez vous placer dans le répertoire de travail de SliTaz, et tapez:
78 </p>
79 <pre>
80 # export fs=$PWD/rootfs
81 </pre>
82 <p>
83 Pour vérifier:
84 </p>
85 <pre>
86 # echo $fs
87 </pre>
88 <a name="bc"></a>
89 <h3><font color="#6c0023">bc-1.06 - Calculatrice en mode texte</font></h3>
90 <p>
91 L'application bc
92 (<a href="http://www.gnu.org/software/bc/">www.gnu.org/software/bc/</a>)
93 fourni une petite calculette, lors de la compilation l'utilitaire dc est
94 aussi construit mais SliTaz ne l'installe pas. A noter que dc est aussi
95 diponible avec Busybox. Pour la copie de dc, il faut supprimer le liens
96 de dc vers BusyBox si il existe. Nous utilison un répertoire _pkg (package)
97 pour l'installation. Un petit nettoyage des exécutables avec strip
98 et copie des utilitaires:
99 </p>
100 <pre>
101 # cd src
102 # wget http://ftp.gnu.org/pub/gnu/bc/bc-1.06.tar.gz
103 # tar xzfv bc-1.06.tar.gz
104 # cd bc-1.06
105 # ./configure --prefix=/usr --infodir=/usr/share/info \
106 --mandir=/usr/share/man
107 # make
108 # make DESTDIR=$PWD/_pkg install
109 # strip -vs _pkg/usr/bin/*
110 # cp -avi _pkg/usr/bin/bc $fs/usr/bin
111 </pre>
112 <h4>libs</h4>
113 <p>
114 Un petit ldd sur bc devrait donner:
115 </p>
116 <pre class="script">
117 libc.so.6 => /lib/libc.so.6 (0x40029000)
118 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
119 </pre>
120 <a name="zlib"></a>
121 <h3><font color="#6c0023">zlib-1.2.3 - Bibliothèques de compression</font></h3>
122 <p>
123 Le paquet zlib (<a href="http://www.zlib.net/">http://www.zlib.net/</a>)
124 fourni des fonctions de compression et de décompression, utilisées entre autre,
125 par le serveur SSH dropbear et le serveur X:
126 </p>
127 <pre>
128 # cd ..
129 # wget http://www.gzip.org/zlib/zlib-1.2.3.tar.bz2
130 # tar xjfv zlib-1.2.3.tar.bz2
131 # cd zlib-1.2.3
132 # ./configure --shared --prefix=/usr
133 # make
134 # strip -vs libz.so*
135 # cp -av libz.so* $fs/usr/lib
136 </pre>
137 <a name="pcre"></a>
138 <h3><font color="#6c0023">pcre-7.4 - Expressions régulières compatible perl</font></h3>
139 <p>
140 Le paquet pcre (<a href="http://www.pcre.org/">http://www.pcre.org/</a>)
141 fourni les bibliothèques des fonctions d'expressions régulières compatible
142 Perl PCRE, utilisées entre autre par le serveur web LightTPD:
143 </p>
144 <pre>
145 # cd ..
146 # wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-7.4.tar.gz
147 # tar xzfv pcre-7.4.tar.gz
148 # cd pcre-7.4
149 # ./configure --prefix=/usr
150 # make
151 # make DESTDIR=$PWD/_pkg install
152 # strip -vs _pkg/usr/bin/*
153 # strip -vs _pkg/usr/lib/*
154 # cp -av _pkg/usr/bin/* $fs/usr/bin
155 # cp -av _pkg/usr/lib/*.so* $fs/usr/lib
156 </pre>
157 <a name="e2fsprogs"></a>
158 <h3><font color="#6c0023">e2fsprogs-1.39 - Utilitaires de gestion des systèmes de fichiers</font></h3>
159 <p>
160 Le paquet e2fsprogs (<a href="http://e2fsprogs.sourceforge.net/"
161 >http://e2fsprogs.sourceforge.net/</a>) fournit les utilitaires pour la
162 manipulation des systèmes de fichiers ext3 et ext2. Nous n'allons pas tout
163 prendre, car cela nous fait gangner de la place. A noter que nous utilisons
164 fsck de Busybox:
165 </p>
166 <pre>
167 # cd ..
168 # wget http://puzzle.dl.sourceforge.net/sourceforge/e2fsprogs/e2fsprogs-1.39.tar.gz
169 # tar xzf e2fsprogs-1.39.tar.gz
170 # cd e2fsprogs-1.39
171 # ./configure --prefix=/usr --with-root-prefix="" \
172 --enable-elf-shlibs --disable-evms --sysconfdir=/etc \
173 --infodir=/usr/share/info --mandir=/usr/share/man
174 # make
175 # make DESTDIR=$PWD/_pkg install
176 # strip -vs _pkg/sbin/*
177 # strip -vs _pkg/lib/*
178 # strip -vs _pkg/usr/bin/*
179 # strip -vs _pkg/usr/sbin/*
180 # strip -vs _pkg/usr/lib/*
181 </pre>
182 <p>
183 Install des utilitaires, des fichiers de configuration, et des bibliothèques
184 dans le rootfs de SliTaz. Attention si vous avez décidé d'utiliser fsck,
185 il ne faut pas écraser un lien Busybox:
186 </p>
187 <pre>
188 # cp -i _pkg/sbin/{badblocks,blkid,dumpe2fs,e2fsck,e2image} $fs/sbin
189 # cp -i _pkg/sbin/{e2label,findfs,logsave,mke2fs,mkfs.*} $fs/sbin
190 # cp -i _pkg/sbin/{resize2fs,tune2fs} $fs/sbin
191 # cp -a _pkg/lib/* $fs/lib
192 # rm -rf $fs/lib/libss*
193 # cp -a _pkg/etc/* $fs/etc
194 # cp -a _pkg/usr/bin/* $fs/usr/bin
195 # cp -a _pkg/usr/sbin/* $fs/usr/sbin
196 # cp -ad _pkg/usr/lib/*.so $fs/usr/lib
197 # rm -rf $fs/usr/lib/libss*
198 </pre>
199 <p>
200 Vous pouvez aussi copier le fichier de la locale pour le français:
201 </p>
202 <pre>
203 # mkdir $fs/usr/share/locale
204 # cp -a _pkg/usr/share/locale/fr $fs/usr/share/locale
205 </pre>
206 <a name="dropbear"></a>
207 <h3><font color="#6c0023">dropbear-0.50 - Client et serveur SSH légé</font></h3>
208 <p>
209 Dropbear (<a href="http://matt.ucc.asn.au/dropbear/dropbear.html"
210 >http://matt.ucc.asn.au/dropbear/dropbear.html</a>) est un petit client et
211 serveur sécurisé, supportant le protocole SSH 2. Dropbear est compatible avec
212 openSSH, et utilise ~/.ssh/authorized_keys pour la gestion des clés public. Dropbear
213 fournit aussi une version de scp, qu'il faut compiler avec 'manke scp':
214 </p>
215 <pre>
216 # cd ..
217 # wget http://matt.ucc.asn.au/dropbear/releases/dropbear-0.50.tar.gz
218 # tar xzf dropbear-0.50.tar.gz
219 # cd dropbear-0.50
220 # ./configure --prefix=/usr
221 # make
222 # make scp
223 # make DESTDIR=$PWD/_pkg install
224 # strip -v scp
225 # strip -v _pkg/usr/bin/*
226 # strip -v _pkg/usr/sbin/*
227 </pre>
228 <p>
229 Install du client, et des outils associés dans /usr/bin, et install
230 du server dans /usr/sbin:
231 </p>
232 <pre>
233 # cp scp $fs/usr/bin
234 # cp -a _pkg/usr/bin/* $fs/usr/bin
235 # cp -a _pkg/usr/sbin/* $fs/usr/sbin
236 </pre>
237 <h4>libs</h4>
238 <pre class="script">
239 libutil.so.1 => /lib/libutil.so.1 (0x40025000)
240 libz.so.1 => /usr/lib/libz.so.1 (0x40028000)
241 libcrypt.so.1 => /lib/libcrypt.so.1 (0x4003b000)
242 libc.so.6 => /lib/libc.so.6 (0x40068000)
243 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
244 </pre>
245 <p>
246 Copie de la bibliothèque libutil.so.1 dans $fs/lib, si ce n'est pas déjà le cas.
247 Les autres bibliothèques devraient être présentes, suite à la construction du
248 système de base:
249 </p>
250 <pre>
251 # cp -a /lib/libutil* $fs/lib
252 </pre>
253 <h4>Configurer Dropbear</h4>
254 <p>
255 Les fichiers de configuration utilisateur sont dans ~/.ssh, contenant
256 authorized_keys et known_hosts. Les répertoire ~/.ssh et le fichier
257 known_hosts, sont créés automatiquement la première fois que l'utilisateur
258 lance dbclient. Les fichiers de configuration système du server Dropbear sont
259 par défaut dans /etc/dropbear:
260 </p>
261 <pre>
262 # mkdir $fs/etc/dropbear
263 </pre>
264 <p>
265 Pour que le serveur fonctionnent, il faut générer les clés sécurisées
266 avant de démarrer le serveur sur SliTaz. Vous pouvez utiliser dropbearkey
267 avec les commandes ci-dessous:
268 </p>
269 <pre>
270 # dropbearkey -t rsa -f /etc/dropbear/dropbear_rsa_host_key
271 # dropbearkey -t dss -f /etc/dropbear/dropbear_dss_host_key
272 </pre>
273 <p>
274 Sur SliTaz vous pouvez démarrer le serveur SSH avec la commande :
275 </p>
276 <pre>
277 # /etc/init.d/dropbear start
278 </pre>
279 <a name="lighttpd"></a>
280 <h3><font color="#6c0023">lighttpd-1.4.18 - Serveur web HTTP</font></h3>
281 <p>
282 LightTPD (<a href="http://www.lighttpd.net/">www.lighttpd.net</a>) est un
283 serveur web puissant, léger, et sécurisé. Le projet est très actif, et la
284 configuration du serveur et simple. Il supporte les hôtes virtuels, les scripts
285 CGI, et il permet une gestion intelligente de la charge CPU.
286 </p>
287 <pre>
288 # cd ..
289 # wget http://www.lighttpd.net/download/lighttpd-1.4.18.tar.gz
290 # tar xzf lighttpd-1.4.18.tar.gz
291 # cd lighttpd-1.4.18
292 # ./configure -enable-shared --disable-ipv6 --prefix=/usr \
293 --libdir=/usr/lib/lighttpd --mandir=/usr/share/man
294 # make
295 # make DESTDIR=$PWD/_pkg install
296 # strip -vs _pkg/usr/bin/*
297 # strip -vs _pkg/usr/sbin/*
298 # strip -vs _pkg/usr/lib/lighttpd/*
299 </pre>
300 <p>
301 Installation du serveur, et des bibliothèques générées. Nous allons ensuite
302 supprimer copier seulement quelques modules (9) :
303 </p>
304 <pre>
305 # cp _pkg/usr/bin/* $fs/usr/bin
306 # cp _pkg/usr/sbin/* $fs/usr/sbin
307 # mkdir $fs/usr/lib/lighttpd
308 Modules :
309 # cp _pkg/usr/lib/lighttpd/mod_access.so $fs/usr/lib/lighttpd
310 # cp _pkg/usr/lib/lighttpd/mod_accesslog.so $fs/usr/lib/lighttpd
311 # cp _pkg/usr/lib/lighttpd/mod_alias.so $fs/usr/lib/lighttpd
312 # cp _pkg/usr/lib/lighttpd/mod_auth.so $fs/usr/lib/lighttpd
313 # cp _pkg/usr/lib/lighttpd/mod_cgi.so $fs/usr/lib/lighttpd
314 # cp _pkg/usr/lib/lighttpd/mod_compress.so $fs/usr/lib/lighttpd
315 # cp _pkg/usr/lib/lighttpd/mod_rewrite.so $fs/usr/lib/lighttpd
316 # cp _pkg/usr/lib/lighttpd/mod_status.so $fs/usr/lib/lighttpd
317 # cp _pkg/usr/lib/lighttpd/mod_userdir.so $fs/usr/lib/lighttpd
318 </pre>
319 <h4>libs</h4>
320 <p>
321 Il ne devrait vous manquer que libdl.so.2, que nous allons copier:
322 </p>
323 <pre>
324 # cp -a /lib/libdl* $fs/lib
325 </pre>
326 <h4>/var/www - Racine des documents du serveur</h4>
327 <p>
328 Le répertoire /var/www est le répertoire racine des documents servis par
329 défaut. Vous y avez accès via l'url http://localhost/. Ce répertoire peut
330 contenir une page <code>index.html</code> s'affichant automatiquement lors
331 d'une requête. Nous allons créer le répertoire /var/www, à vous de vois ce
332 que vous vouleu y mettre :
333 </p>
334 <pre>
335 # mkdir -p $fs/var/www
336 </pre>
337 <h4>lighttpd.conf - Fichier de configuration de LightTPD</h4>
338 <p>
339 Le fichier de configuration principale de LightTPD se trouve dans /etc/lighttpd,
340 et se nomme lighttpd.conf. Le fichier de configuration fournit par SliTaz est auto
341 documenté, il suffit de le parcourir. Vous trouverez d'autres exemples sur le site
342 web de LightTPD. Vous trouverez aussi un exemple de configuration dans /doc
343 de l'archive de LightTPD:
344 </p>
345 <pre>
346 # cp -a ../slitaz-tools-1.1/etc/lighttpd $fs/etc
347 </pre>
348 <p>
349 Création du répertoire contenant les fichiers de log:
350 </p>
351 <pre>
352 # mkdir $fs/var/log/lighttpd
353 </pre>
354 <h4>Utilisateur et groupe www</h4>
355 <p>
356 Nous allons ajouter un utilisateur et un groupe pour le serveur web, cela ajoute
357 de la sécurité, et il n'y a aucune raison pour qu'il tourne sous root. L'utilisateur
358 par défaut sur SliTaz est 'www', mais vous pouvez changer cela dans le fichier de
359 configuration lighttpd.conf. L'application adduser de Busybox ayant des limitations
360 nous ajoutons l'utilisateur 'www' manuellement. Nous changeons aussi les permissions
361 sur le répertoire des logs du serveur web:
362 </p>
363 <pre>
364 # echo "www:x:80:80:www:/var/www:/bin/sh" >> $fs/etc/passwd
365 # echo "www:*:13509:0:99999:7:::" >> $fs/etc/shadow
366 # echo "www:*:13509:0:99999:7:::" >> $fs/etc/shadow-
367 # chroot $fs /bin/ash
368 /# addgroup -g 80 www
369 /# chown www.www /var/log/lighttpd
370 # exit
371 </pre>
372 <p>
373 Pour démarrer le serveur web vous pouvez utiliser le script /etc/init.d/lighttpd
374 fourni dans SliTaz tools, en tapant la commande <code>/etc/init.d/lighttpd start</code>.
375 Vous pouvez aussi automatiser son lancement au boot avec un lien de /etc/init.d/lighttpd
376 pointant vers /etc/rc.d/60lighttpd.
377 </p>
378 <a name="iptables"></a>
379 <h3><font color="#6c0023">iptables-1.3.7 - Netfilter, pare-feu Linux</font></h3>
380 <p>
381 Netfilter (<a href="http://www.netfilter.org/">www.netfilter.org</a>) est le module qui
382 fournit au noyau Linux les fonctions de pare-feu, de partage de connexions internet (NAT) et
383 d'historisation du trafic réseau. La commande iptables permet de configurer Netfilter,
384 iptables-restore et iptables-save permettent de sauvegarder/restaurer la configuration
385 Netfilter:
386 </p>
387 <pre>
388 # cd ..
389 # wget http://www.netfilter.org/projects/iptables/files/iptables-1.3.7.tar.bz2
390 # tar xjf iptables-1.3.7.tar.bz2
391 # cd iptables-1.3.7
392 # make KERNEL_DIR=../linux-2.6.20 BINDIR=/sbin \
393 LIBDIR=/lib MANDIR=/usr/share/man
394 # make KERNEL_DIR=../linux-2.6.20 BINDIR=/sbin \
395 LIBDIR=/lib MANDIR=/usr/share/man \
396 DESTDIR=$PWD/_pkg install
397 # strip _pkg/sbin/*
398 # strip _pkg/lib/iptables/*
399 </pre>
400 <p>
401 Installation des applications iptables*, et des bibliothèques suffisantes pour un firewall
402 basique:
403 </p>
404 <pre>
405 # cp -a _pkg/sbin/iptables* $fs/sbin
406 # mkdir $fs/lib/iptables
407 # cp -a _pkg/lib/iptables/{libipt_standard.so,libipt_conntrack.so} \
408 $fs/lib/iptables
409 # cp -a _pkg/lib/iptables/{libipt_tcp.so,libipt_udp.so} $fs/lib/iptables
410 </pre>
411 <p>
412 Pour satifaire les dépendances d'iptables, il faut copier la bibliothèque libnsl*:
413 </p>
414 <pre>
415 # cp -va /lib/libnsl* $fs/lib/tls
416 # strip $fs/lib/libnsl*
417 </pre>
418 <a name="sqlite"></a>
419 <h3><font color="#6c0023">sqlite-3.5.1 - Petit moteur de base de données SQL</font></h3>
420 <p>
421 Ce paquet fourni <code>sqlite3</code> et les bibliothèques <code>sqlite3.so*</code>
422 (<a href="http://www.sqlite.org/">www.sqlite.org</a>). SQLite est
423 intégré directement aux programmes en utilisant des fichiers de bases
424 de données, il est performant et rapide:
425 </p>
426 <pre>
427 # cd ..
428 # wget http://www.sqlite.org/sqlite-3.5.1.tar.gz
429 # tar xzf sqlite-3.5.1.tar.gz
430 # cd sqlite-3.5.1
431 # ./configure --prefix=/usr --disable-tcl
432 # make
433 # make DESTDIR=$PWD/_pkg install
434 # strip _pkg/usr/lib/*.so*
435 # strip _pkg/usr/bin/*
436 </pre>
437 <p>
438 Installation des bibliothèques et de l'utilitaire <code>sqlite3</code>
439 dans le rootfs de SliTaz:
440 </p>
441 <pre>
442 # cp -a _pkg/usr/lib/*.so* $fs/usr/lib
443 # cp -a _pkg/usr/bin/* $fs/usr/bin
444 </pre>
445 <a name="cdrkit"></a>
446 <h3><font color="#6c0023">cdrkit-1.1.5 - Outils de manipulation de cdrom et images ISO</font></h3>
447 <p>
448 cdrkit (<a href="http://www.cdrkit.org/">www.cdrkit.org</a>)
449 fournit des outils de manipulation de cdrom. SliTaz installe par défaut
450 wodim pour la gravure et genisoimage pour la création d'image ISO (c'est
451 le paquet cdrkit-base-1.1.5). La compilation est un peu particulière
452 (cmake), mais ne devrait pas poser trop de problèmes:
453 </p>
454 <pre>
455 # cd ..
456 # wget http://cdrkit.org/releases/cdrkit-1.1.5.tar.gz
457 # tar xzf cdrkit-1.1.5.tar.gz
458 # cd cdrkit-1.1.5
459 # make
460 # make install PREFIX=$PWD/_pkg/usr
461 # strip -v _pkg/usr/bin/*
462 # strip -v _pkg/usr/sbin/*
463 # cp _pkg/usr/bin/genisoimage $fs/usr/bin
464 # cp _pkg/usr/bin/wodim $fs/usr/bin
465 </pre>
466 <p>
467 Copie de la bibliothèque libcap.so.1 requise par wodim:
468 </p>
469 <pre>
470 # cp -a /lib/libcap.so* $fs/lib
471 </pre>
472 <a name="cpio"></a>
473 <h3><font color="#6c0023">cpio-2.8 - Archiveur</font></h3>
474 <p>
475 cpio (<a href="http://www.gnu.org/software/cpio/">http://www.gnu.org/software/cpio/</a>)
476 fournit des outils de manipulation de s archives au format cpio. Ce
477 format d'archive est utilisé pour les paquets SliTaz et l'image initramfs
478 du cdrom. A noter que Busybox fournit aussi une version de cpio qui
479 permet seulemnt de désarchiver:
480 </p>
481 <pre>
482 # cd ..
483 # wget ftp://sunsite.cnlab-switch.ch/mirror/gnu/cpio/cpio-2.8.tar.gz
484 # tar xzf cpio-2.8.tar.gz
485 # cd cpio-2.8
486 # ./configure --prefix=/usr --bindir=/bin \
487 --libexecdir=/usr/bin --mandir=/usr/share/man \
488 --infodir=/usr/share/info
489 # make
490 # make DESTDIR=$PWD/_pkg install
491 # strip -v _pkg/bin/*
492 # strip -v _pkg/usr/bin/*
493 </pre>
494 <p>
495 Installation de <code>cpio</code> dans /bin et de <code>rmt</code>
496 dans /usr/bin. Vous pouvez aussi installer les fichiers de
497 localisation pour le français:
498 </p>
499 <pre>
500 # cp -a _pkg/bin/* $fs/bin
501 # cp -a _pkg/usr/bin/* $fs/usr/bin
502 # cp -a _pkg/usr/share/locale/fr $fs/usr/share/locale
503 </pre>
504 <a name="microperl"></a>
505 <h3><font color="#6c0023">microperl-5.8.8 - Un tout petit Perl</font></h3>
506 <p>
507 Microperl est une micro implémentation de Perl permettant d'utiliser la plus
508 part des fonctions de base fournies par le puissant langage qu'est Perl. Vous
509 trouverez plus d'infos dans l'archine source et le fichier
510 <code>README.micro</code>. Nous applicaons un petit <code>sed</code> sur le
511 fichier de configuration, pour que microperl cherche les modules dans
512 <code>/usr/lib/perl5</code>. Nous créons aussi un lien pour que les scripts
513 <code>#/usr/bin/perl</code> fonctionnent :
514 </p>
515 <pre>
516 # wget http://ftp.funet.fi/pub/CPAN/src/perl-5.8.8.tar.gz
517 # tar xzf perl-5.8.8.tar.gz
518 # cd perl-5.8.8
519 # sed -i s/'usr\/local'/'usr'/ uconfig.sh
520 # sed -i s/'perl5\/5.9'/'perl5'/ uconfig.sh
521 # sed -i s/'unknown'/'i486-pc-linux-gnu'/ uconfig.sh
522 # make -f Makefile.micro regen_uconfig
523 # make -f Makefile.micro
524 # strip microperl
525 # cp microperl $fs/usr/bin
526 # chroot $fs /bin/ash
527 /# cd /usr/bin
528 /# ln -s microperl perl
529 /# exit
530 </pre>
531 <a name="module-init-tools"></a>
532 <h3><font color="#6c0023">module-init-tools-3.2 - Outils de manipulation des modules du noyau</font></h3>
533 <p>
534 Les <a href="http://ftp.kernel.org/pub/linux/utils/kernel/module-init-tools/"
535 >module-init-tools</a> de kernel.org, modprobe, insmod, rmmod, lsmod, que
536 BusyBox fournit aussi. Nous avons fait le choix de les utiliser car nous pouvons
537 compiler modutils/modprobe pour qu'il support les modules compressés (.gz),
538 afin de gagner de la place. Pour cela il faut utiliser l'option --enable-zlib. Ensuite
539 c'est le nettoyage, et la copie des binaires. Nous ne prenons pas tout ce qui a
540 créé, seulement ce dont nous avons besoin, depmod, insmod, modinfo, modprobe,
541 rmmod dans /sbin, et lsmod dans /bin.
542 </p>
543 <pre>
544 # cd ..
545 # wget http://ftp.kernel.org/pub/linux/utils/kernel/module-init-tools/module-init-tools-3.2.tar.bz2
546 # tar xjf module-init-tools-3.2.tar.bz2
547 # cd module-init-tools-3.2
548 # ./configure --enable-zlib --prefix=/usr --sbindir=/sbin --bindir=/bin \
549 --sysconfdir=/etc --infodir=/usr/share/info --mandir=/usr/share/man
550 # make
551 # make DESTDIR=$PWD/_pkg install
552 # strip -v _pkg/sbin/{depmod,insmod,modinfo,modprobe,rmmod}
553 # strip -v _pkg/bin/lsmod
554 # cp -i _pkg/sbin/{depmod,insmod,modinfo,modprobe,rmmod} $fs/sbin
555 # cp -i _pkg/bin/lsmod $fs/bin
556 # cd ..
557 </pre>
558 <a name="kernel-modules"></a>
559 <h3><font color="#6c0023">Copie des modules du kernel</font></h3>
560 <p>
561 Copie des fichier depuis linux-2.6.20/_pkg.
562 </p>
563 <pre>
564 # cp -a linux-2.6.20/_pkg/lib/* $fs/lib
565 </pre>
566 <h4>Compression des modules du kernel</h4>
567 <p>
568 Compression des modules, cette opération permet de ganger 50% de
569 place environ, nous commençons par nous déplacer dans le rootfs
570 , puis nous chercons tous les fichiers portant l'extension <code>.ko</code>
571 pour les compresser. Vous pouvez aussi faire cela avec le script 'gzmodtaz.sh'
572 contenu dans SliTaz tools:
573 </p>
574 <pre>
575 # cd $fs
576 </pre>
577 <p>
578 Avec 'gztazmod.sh':
579 </p>
580 <pre>
581 # cp -v ../src/slitaz-tools-1.1/utils/gztazmod.sh sbin
582 # ./sbin/gztazmod.sh lib/modules/2.6.20-slitaz
583 </pre>
584 <p>
585 Ou à la main:
586 </p>
587 <pre>
588 # cd lib/modules/2.6.20-slitaz
589 # find . -name "*.ko" -exec gzip '{}' \;
590 # sed 's/\.ko/.ko.gz/g' modules.dep > tmp.dep
591 # rm modules.dep
592 # mv tmp.dep modules.dep
593 </pre>
594 <a name="initramfs-iso"></a>
595 <h3><font color="#6c0023">Génération de l'initramfs, et d'une image ISO</font></h3>
596 <p>
597 Pour créer une nouvelle image ISO vous pouvez utiliser 'mktaziso'
598 contenu dans
599 <a href="http://www.slitaz.org/get/tools.html">SliTaz tools</a>.
600 Ou vous pouvez créer un nouvelle image initramfs, et la copier dans
601 /boot de la racine de cd-rom (rootcd), et pour finir créer un image
602 ISO avec genisoimage:
603 </p>
604 <pre>
605 # cd $fs
606 # find . -print | cpio -o -H newc | gzip -9 &gt; ../rootfs.gz
607 # cd ..
608 # cp rootfs.gz rootcd/boot
609 # genisoimage -R -o slitaz-test.iso -b boot/isolinux/isolinux.bin \
610 -c boot/isolinux/boot.cat -no-emul-boot -boot-load-size 4 \
611 -V "SliTaz" -input-charset iso8859-1 -boot-info-table rootcd
612 </pre>
613 <p>
614 Test iso image:
615 </p>
616 <pre>
617 # qemu -cdrom slitaz-test.iso
618 </pre>
619 <h4>Suite</h4>
620 <p>
621 Le prochain chapitre se nomme <a href="base-ncurses.html">Base ncurses.</a> Il
622 décrit l'installation et la configuration des bibliothèques et d'applications
623 ncurses.
624 </p>
627 <!-- End of content -->
628 </div>
630 <!-- Footer. -->
631 <div id="footer">
632 <div class="footer-right"></div>
633 <a href="base-apps.html#top">Haut de la page</a> |
634 <a href="index.html">Table des matières</a>
635 </div>
637 <div id="copy">
638 Copyright &copy; <span class="year"></span> <a href="http://www.slitaz.org/">SliTaz</a> -
639 <a href="http://www.gnu.org/licenses/gpl.html">GNU General Public License</a>;<br />
640 Documentation publiées sous
641 <a href="http://www.gnu.org/copyleft/fdl.html">GNU Free Documentation License</a>
642 et codée en <a href="http://validator.w3.org/">xHTML 1.0 valide</a>.
643 </div>
645 </body>
646 </html>