                Guide pratique des disquettes d'amorage

  Version franaise du Bootdisk HOWTO

  Tom Fawcett

   <fawcett CHEZ croftj POINT net>

   Adaptation franaise: Mathieu Decore

   <mdecore CHEZ linux TIRET france POINT org>

   Adaptation franaise (version 3.5): Frank Pavageau

   <pavageau CHEZ imaginet POINT fr>

   Relecture de la version franaise: Guillaume Hatt

   <ghatt CHEZ netcourrier POINT com>

   Prparation de la publication: Jean-Philippe Gurard

   <jean TIRET philippe POINT guerard CHEZ laposte POINT net>

   Version 4.5.fr.1.0

   20 juin 2003

   +----------------------------------------------------------------+
   | Historique des versions                                        |
   |----------------------------------------------------------------|
   | Version 4.5.fr.1.0       | 2003-06-20        | MD, GH, JPG     |
   |----------------------------------------------------------------|
   | Mise  jour de la version franaise. Conversion en XML (MD).   |
   |----------------------------------------------------------------|
   | Version 4.5              | Janvier 2002      | TF              |
   |--------------------------+-------------------+-----------------|
   | Version 4.0              | 2000-04-01        | TF              |
   |--------------------------+-------------------+-----------------|
   | Version 3.5.fr.1.0       | Juillet 1999      | FP              |
   |--------------------------+-------------------+-----------------|
   | Version 3.5              | Juillet 1999      | TF              |
   +----------------------------------------------------------------+

   Rsum

   Ce document explique comment concevoir et crer ses propres
   disquettes d'amorage et disquettes racines pour Linux. Ces
   disquettes peuvent tre utilises comme disques de secours, ou
   pour l'essai de nouveaux composants systme. Avant de tenter de
   crer une disquette d'amorage, il est recommand d'avoir un
   comprhension raisonnable de l'administration d'un systme Linux.
   Si vous souhaitez juste crer des disquettes de secours, lisez la
   Section 1,  Disques d'amorce prfabriqus .

   -------------------------------------------------------------------

   Table des matires

   1. Prface

                1.1. Notes

                1.2.  faire

                1.3. Retours et remerciements

                1.4. Politique de distribution

                1.5. Notes du traducteur

   2. Introduction

   3. Disques d'amorce et dmarrage

                3.1. Dmarrage

                3.2. Types de disques

   4. Construire un systme racine

                4.1. Aperu

                4.2. Cration du systme de fichiers

                4.3. Remplissage du systme de fichiers

                4.4. Utilisation de PAM et NSS

                4.5. Modules

                4.6. Quelques ultimes dtails

                4.7. C'est dans la poche

   5. Choisir un noyau

   6. Assemblage et fabrication de la ou des disquettes

                6.1. Transfert du noyau avec LILO

                6.2. Transfert du noyau sans LILO

                6.3. Mise en place du mot disque mmoire

                6.4. Transfert du systme racine

   7. En cas de problme, ou l'agonie de la dfaite

   8. Rduire la taille du systme racine

                8.1. Augmentez la densit du disque

                8.2. Remplacer les utilitaires indispensables par
                BusyBox

                8.3. Changez de shell

                8.4. Nettoyez les bibliothques et binaires

                8.5. Dplacez les fichiers non essentiels vers un
                disque utilitaire

   9. Sujets divers

                9.1. Systme racine sans disque mmoire

                9.2. Construire un disque utilitaire

   10. La mthode des pros

   11. Crer des CD-ROM amorables

                11.1. Qu'est-ce que El Torito ?

                11.2. Comment a marche

                11.3. Comment le faire marcher

                11.4. Crer des CD-ROM Win9x amorables

   12. Foire Aux Questions (FAQ)

   A. Ressources et pointeurs

                1. Disques d'amorce prfabriqus

                2. Paquetages de secours

                3. LILO : le chargeur Linux

                4. Utilisation du disque mmoire

                5. Le processus de dmarrage de Linux

   B. Codes d'erreur du dmarrage de LILO

   C. Exemple de contenu de rpertoires sur un disque racine

   D. Exemple de contenu des rpertoires d'un disque utilitaire

1. Prface

[1][Note] Ce document peut tre obsolte.                 
          Si la date sur la page de titre a plus de six mois, vrifiez la
          page du Projet de documentation Linux (LDP)     
          http://www.ibiblio.org/LDP/HOWTO/Bootdisk-HOWTO.html
          [http://www.ibiblio.org/LDP/HOWTO/Bootdisk-HOWTO.html] (et sa
          traduction franaise                            
          http://www.traduc.org/docs/howto/lecture/Bootdisk-HOWTO.html
          [http://www.traduc.org/docs/howto/lecture/Bootdisk-HOWTO.html])
          au cas o une version plus rcente s'y trouverait.

   Bien que ce document soit lisible dans sa forme texte, il a bien
   meilleure allure en PostScript, PDF ou HTML en raison de la
   typographie utilise.

  1.1. Notes

   Graham Chapman (<grahamc CHEZ zeta POINT org POINT au>) a crit le
   premier Bootdisk-HOWTO et en a assur la maintenance jusqu' la
   version 3.1. Tom Fawcett (<fawcett CHEZ croftj POINT net>) a
   ajout beaucoup d'informations pour le support du noyau 2.0, et
   effectue dsormais la maintenance du document, depuis la version
   3.2 qui contient toujours une bonne partie crite par Chapman.
   Chapman a disparu de la communaut Linux et personne ne sait
   actuellement o il se trouve.

   Les informations contenues dans ce document concernent Linux sur
   plate-forme Intel(TM). Bien des lments doivent pouvoir tre
   appliqus  Linux sur d'autres processeurs, mais nous n'en avons
   pas personnellement l'exprience, ni ne possdons d'informations
   de ce type. Si quelqu'un a expriment les disques d'amorce sur
   d'autres plates-formes, qu'il nous contacte.

  1.2.  faire

    1. User-mode-linux (http://user-mode-linux.sourceforge.net/
       [http://user-mode-linux.sourceforge.net/]) semble tre un bon
       moyen de tester les disquettes d'amorce sans avoir 
       redmarrer la machine sans arrt. Je ne l'ai pas test. Si
       quelqu'un l'a fait fonctionner de manire significative pour
       fabriquer ses propres disquettes d'amorce, merci de me le
       faire savoir.

    2. R-analyser la distribution de la disquettes d'amorce et
       mettre  jour la section  La mthode des pros 

    3. Trouver jusqu'o la squence init-getty-login peut tre
       simplifie, et la remplacer. Quelque personnes m'ont dit que
       init peut tre un lien vers /bin/sh ; si c'est le cas, et que
       cela n'impose pas de grandes modifications, changer les
       instructions pour le faire. Cela permettrait d'liminer
       l'utilisation de getty, login, gettydefs, et sans doute tout
       ce qui concerne PAM et NSS.

    4. Aller  nouveau dans le code source du noyau 2.4 et crire une
       explication dtaille sur la procdure de dmarrage et de
       chargement du disque mmoire (seulement si je le comprends
       mieux). Il y a des fonctionnalits  propos de initrd et les
       limitations concernant les priphriques de dmarrage (comme
       les cartes flash) que je ne comprends pas encore.

    5. Supprimer la section qui dcrit comment mettre  jour une
       disquettes d'amorce. C'est la plupart du temps source de trop
       de tracas.

    6. Remplacer la commande rdev par les mots-clefs LILO.

  1.3. Retours et remerciements

   Tout retour, bon ou mauvais, sur le contenu de ce document est le
   bienvenu. Nous avons fait de notre mieux pour vrifier que les
   instructions et informations ici prsentes sont prcises et
   fiables. Merci de nous signaler toute erreur ou omission.

   Nous remercions les nombreuses personnes nous ayant fourni des
   corrections et suggestions. Leurs contributions ont permis
   d'amliorer ce document bien au del de ce que nous aurions pu
   raliser seuls.

   Envoyez vos commentaires, corrections et questions en anglais 
   l'auteur  l'adresse ci-dessus (ou au traducteur pour des
   problmes dans la version franaise). Cela ne me drange pas
   d'essayer de rpondre  vos questions, mais merci de lire la
   Section 7,  En cas de problme, ou l'agonie de la dfaite 
   d'abord.

  1.4. Politique de distribution

   Copyright  1995,1996,1997,1998,1999 by Tom Fawcett and Graham
   Chapman. This document may be distributed under the terms set
   forth in the Linux Documentation Project License at
   http://www.ibiblio.org/LDP/COPYRIGHT.html
   [http://www.ibiblio.org/LDP/COPYRIGHT.html]. Please contact the
   authors if you are unable to get the license.

   Copyright  1999,2003 by Frank Pavageau and copyright  2003 by
   Mathieu Decore and Guillaume Hatt for the French translation. This
   document may be distributed under the terms of the Linux
   Documentation Project License, which is hereby included by
   reference http://www.ibiblio.org/LDP/COPYRIGHT.html
   [http://www.ibiblio.org/LDP/COPYRIGHT.html].

   This is free documentation. It is distributed in the hope that it
   will be useful, but without any warranty; without even the implied
   warranty of merchantability or fitness for a particular purpose.

   Copyright  1995,1996,1997,1998,1999 Tom Fawcett et Graham
   Chapman. Ce document peut tre distribu sous les termes de la
   Licence du Linux Documentation Project lisible 
   http://www.ibiblio.org/LDP/COPYRIGHT.html
   [http://www.ibiblio.org/LDP/COPYRIGHT.html]. Merci de contacter
   les auteurs si vous n'arrivez pas  rcuprer la licence.

   Copyright  1999 Frank Pavageau et copyright  2003 Mathieu Decore
   et Guillaume Hatt pour la version franaise. Ce document est
   distribu sous les termes de la licence du Projet de documentation
   Linux (LDP). Cette licence est ci-incluse par rfrence :
   http://www.ibiblio.org/LDP/COPYRIGHT.html
   [http://www.ibiblio.org/LDP/COPYRIGHT.html].

   Cette documentation est libre. Elle est distribue dans l'espoir
   d'tre utile, mais sans aucune garantie ; sans mme la garantie
   implicite de valeur marchande ou de correspondre  un but
   particulier.

   Vous utilisez les informations contenues dans ce document  vos
   propres risques. Nous dclinons toute responsabilit quant  son
   contenu. L'utilisation des concepts, des exemples ou de tout autre
   contenu se fait entirement  vos propres risques.

   Tous les droits sont dtenus par leurs propritaires respectifs,
   sauf mention contraire explicite. L'utilisation d'un terme dans ce
   document ne constitue pas une limitation  sa validit en tant que
   marque.

   Le fait de citer un produit ou une marque particulire ne
   constitue pas un endossement.

   Il est fortement conseill d'effectuer une sauvegarde de votre
   systme avant une installation importante ainsi qu' intervalles
   rguliers.

  1.5. Notes du traducteur

   Correspondances anglais/franais utilises dans la traduction :

     o I/O : E/S, entres/sorties.

     o backup : archive.

     o boot loader : chargeur, lanceur.

     o boot : amorce, amorcer, dmarrage, dmarrer.

     o boot/root disk : disquette d'amorce/racine.

     o dynamic library : bibliothque partage.

     o filesystem : systme de fichiers, systme.

     o inode : i-nud.

     o library : bibliothque.

     o loopback device : priphrique de boucle.

     o package : paquetage.

     o path : chemin.

     o ramdisk : disque virtuel en mmoire, disque mmoire.

     o root device : priphrique racine.

     o root : racine.

     o runlevel : niveau d'excution.

     o swap : pagination.

2. Introduction

   Les disques d'amorce Linux sont utiles dans nombre de situations,
   telles que :

     o Tester un nouveau noyau ;

     o Redmarrer aprs un problme de disque : tout depuis la perte
       d'un secteur d'amorce  l'atterrissage d'une tte de lecture
       sur le disque ;

     o Rparer un systme endommag. Une petite erreur en tant que
       root peut rendre le systme inutilisable, et il peut alors
       tre ncessaire de dmarrer depuis une disquette pour corriger
       le problme ;

     o Mettre  jour des fichiers critiques du systme, tels que
       libc.so.

   Les disques d'amorce peuvent tre obtenus de diffrentes
   manires :

     o Utiliser ceux d'une distribution telle que la Slackware. Cela
       vous permettra au moins de dmarrer ;

     o Utiliser un paquetage de cration de disques de secours,
       prvus pour les cas d'urgence ;

     o Apprendre ce que ncessite le fonctionnement de chaque type de
       disque, puis crer les vtres.

   Certaines personnes choisissent la dernire solution afin de tout
   faire eux-mmes. Ainsi, si quelque chose ne marche plus, ils
   peuvent se dbrouiller pour corriger le problme. Et c'est un
   excellent moyen pour apprendre le fonctionnement d'un systme
   Linux.

   Ce document suppose une certaine familiarit avec les concepts
   d'administration d'un systme Linux. Par exemple, vous devez
   connatre les rpertoires, les systmes de fichiers, les
   disquettes. Vous devez savoir utiliser mount et df,  quoi servent
   les fichiers /etc/passwd et fstab et quelle tte ils ont. Enfin,
   vous devez savoir que la plupart des commandes dans ce howto
   doivent tre excutes en tant que root.

   Crer vos propres disquettes d'amorce  partir de zro peut tre
   compliqu. Si vous n'avez pas lu la FAQ Linux et autres documents
   du mme genre, tels que le howto d'installation Linux et le Guide
   d'installation de Linux, vous ne devriez pas essayer de crer des
   disques d'amorce. Si vous souhaitez juste crer des disques pour
   prvenir les cas urgents, il est bien plus simple d'en rcuprer
   des prfabriqus. Lisez l'appendice Section 1,  Disques d'amorce
   prfabriqus  ci-dessous pour savoir o en trouver.

3. Disques d'amorce et dmarrage

   Un disque d'amorce est essentiellement un systme Linux miniature
   et auto-suffisant contenu sur une disquette. Il doit pouvoir
   effectuer nombre d'oprations possibles sur un systme Linux de
   taille normale. Avant d'essayer d'en crer un, vous devez
   comprendre les bases du dmarrage de Linux. Nous en faisons ici
   une prsentation qui devrait suffire  la comprhension de la
   suite du document. Bien des dtails ou des possibilits ont t
   omis.

  3.1. Dmarrage

   Tous les PC dmarrent en excutant du code situ en mmoire morte
   ( savoir, le BIOS) afin de charger le secteur situ au secteur 0,
   cylindre 0 du disque d'amorce. Celui-ci est habituellement le
   premier lecteur de disquette (appel A: sous DOS et /dev/fd0 sous
   Linux). Le BIOS essaye alors d'excuter ce secteur. Sur la plupart
   des disques d'amorce, le secteur 0, cylindre 0 contient :

     o soit le code d'un chargeur tel que LILO, qui trouve le noyau,
       le charge et l'excute pour raliser le dmarrage proprement
       dit,

     o soit le dbut du noyau d'un systme d'exploitation, tel que
       Linux.

   Si un noyau Linux a t copi directement sur une disquette, le
   premier secteur du disque sera le premier secteur du noyau Linux
   lui-mme. Ce premier secteur continuera le dmarrage en chargeant
   le reste du noyau depuis le priphrique d'amorce.

   Une fois que le noyau est compltement charg, il effectue
   certaines initialisations de priphriques ainsi que de ses
   donnes internes. Une fois qu'il est compltement initialis, il
   consulte un endroit particulier dans son image appel le mot
   disque mmoire. Ce mot prcise comment et o trouver le systme de
   fichiers racine. Un systme de fichiers racine est simplement
   celui qui est mont en tant que  / . Il faut dire au noyau o
   trouver ce systme racine ; s'il ne peut trouver d'image 
   charger, il s'arrte.

   Dans certains cas au dmarrage (souvent lors du dmarrage depuis
   une disquette), le systme de fichiers racine est charg dans un
   disque mmoire, auquel le systme accde ensuite en mmoire comme
   s'il s'agissait d'un vrai disque. Il y a deux raisons  un tel
   chargement en mmoire. Premirement, la mmoire vive est de
   plusieurs ordres de magnitude plus rapide qu'une disquette, et le
   systme est donc rapide ; deuximement, le noyau peut charger un
   systme de fichiers compress depuis la disquette et le
   dcompresser en mmoire, permettant ainsi de stocker plus de
   fichiers sur la disquette.

   Une fois le systme de fichiers racine charg et mont, vous voyez
   un message tel que :

 VFS: Mounted root (ext2 filesystem) readonly.

    ce moment, le systme trouve le programme init dans le systme
   racine (dans /bin ou /sbin) et l'excute. init lit sa
   configuration dans /etc/inittab, cherche une ligne nomme sysinit,
   et excute le script indiqu. Le script sysinit est en gnral un
   fichier du genre /etc/rc ou /etc/init.d/boot. Le script est un
   ensemble de commandes shell qui mettent en place les services de
   base du systme, tels que :

     o Lancer fsck sur tous les disques ;

     o Charger les modules ncessaires du noyau ;

     o Lancer la pagination ;

     o Initialiser le rseau ;

     o Monter les disques indiqus dans fstab.

   Ce script appelle lui-mme souvent nombre d'autres scripts pour
   raliser une initialisation modulaire. Par exemple, dans la
   structure SysVinit habituelle, le rpertoire /etc/rc.d/ contient
   une structure complexe de sous-rpertoires dont les fichiers
   indiquent comment lancer et arrter la plupart des services du
   systme. En revanche, sur un disque d'amorce, le script sysinit
   est souvent trs simple.

   Quand le script sysinit se termine, le contrle revient  init,
   qui entre alors dans le niveau d'excution par dfaut, spcifi
   dans inittab par le mot cl initdefault. La ligne du niveau
   d'excution indique en gnral un programme tel que getty,
   responsable de la gestion des communications par la console ou les
   tty. C'est le programme getty qui affiche l'invite habituelle
   login:. Lui-mme excute  son tour le programme login pour grer
   la validation du login et mettre en place la session de
   l'utilisateur.

  3.2. Types de disques

   Aprs avoir revu les bases du dmarrage, nous pouvons dfinir les
   diffrents types de disques mis en jeu. Ces disques sont classs
   en quatre catgories. a et l dans le document, on emploie le
   terme disque pour dsigner une disquette, sauf prcision
   contraire, bien que la majeure partie de la discussion puisse
   galement s'appliquer  des disques durs.

   Amorce

           Un disque contenant un noyau pouvant tre amorc. Il peut
           tre utilis pour dmarrer le noyau, qui pourra alors
           charger un systme racine depuis un autre disque. Il est
           en gnral ncessaire d'indiquer au noyau o se trouve ce
           systme racine.

           Souvent un disque d'amorce charge le systme racine depuis
           une autre disquette, mais il est possible de lui indiquer
           un disque dur d'o il chargera le systme racine  la
           place. Souvent, c'est dans le but de tester un nouveau
           noyau (d'ailleurs, make zdisk cre un tel disque d'amorce
           automatiquement  partir du code source du noyau).

   Racine

           Un disque avec un systme de fichiers contenant les
           fichiers ncessaires au fonctionnement d'un systme Linux.
           Un tel disque ne contient pas forcment un noyau ou un
           chargeur.

           Un disque racine peut tre utilis pour faire tourner le
           systme indpendamment de tout autre disque, une fois le
           noyau amorc. En gnral le disque racine est copi
           automatiquement vers un disque mmoire. Cela permet un
           accs au disque racine bien plus rapide, et libre le
           lecteur pour une disquette d'utilitaires.

   Amorce/racine

           Un disque contenant  la fois un noyau et un systme de
           fichiers racine. Autrement dit, il contient tout ce qui
           est ncessaire au dmarrage et au fonctionnement d'un
           systme Linux sans disque dur. L'avantage de ce type de
           disque est sa compacit : tout ce dont on a besoin est sur
           un seul disque. Nanmoins, la taille toujours plus
           importante des programmes implique une difficult
           croissante pour tout faire tenir sur une seule disquette,
           mme avec de la compression.

   Utilitaire

           Un disque contenant un systme de fichier non destin 
           tre mont en tant que racine. Il s'agit d'un disque de
           donnes supplmentaires. Vous pouvez utiliser ce genre de
           disque pour rajouter des utilitaires, quand vous en avez
           trop pour un seul disque amorce.

   En gnral, lorsque l'on parle de  construire un disque
   d'amorce , c'est de la cration des parties amorce (noyau) et
   racine (fichiers) qu'il est question, soit en un seul morceau (un
   seul disque amorce/racine), soit sparment (un disque amorce et
   un racine). L'approche la plus flexible pour des disquettes de
   secours est d'utiliser des disquettes amorce et racine spares,
   et une ou plusieurs disquettes utilitaires pour supporter le
   trop-plein.

4. Construire un systme racine

   Pour crer un systme racine, il faut slectionner les fichiers
   ncessaires au systme pour fonctionner. Dans cette section nous
   dcrivons comment crer un systme racine compress. Une option
   moins courante est de crer un systme non compress sur une
   disquette que l'on monte directement ; cette alternative est
   dcrite dans la Section 9.1,  Systme racine sans disque
   mmoire .

  4.1. Aperu

   Un systme racine doit contenir tout ce qui est ncessaire au bon
   fonctionnement d'un systme Linux complet. Pour cela, le disque
   doit contenir un systme Linux minimum :

     o La structure de base des fichiers ;

     o Un ensemble minimum de rpertoires : /dev, /proc, /bin, /etc,
       /lib, /usr, /tmp ;

     o Un ensemble d'utilitaires de base : sh, ls, cp, mv, et
       ctera ;

     o Un ensemble minimum de fichiers de configuration : rc,
       inittab, fstab, et ctera ;

     o Des priphriques : /dev/hd*, /dev/tty*, /dev/fd0, et ctera ;

     o Des bibliothques d'excution fournissant les fonctions de
       base ncessaires aux utilitaires.

   Bien sr, n'importe quel systme devient utile ds que l'on peut
   faire tourner quelque chose dessus, et une disquette racine ne
   devient en gnral utilisable que lorsque vous pouvez faire
   quelque chose du genre :

     o Contrler un systme de fichiers sur un autre disque ; par
       exemple, pour contrler le systme racine de votre disque dur,
       vous devez pouvoir dmarrer Linux depuis un autre disque,
       telle qu'une disquette racine. Vous pouvez alors lancer fsck
       sur votre disque racine habituel tant qu'il n'est pas mont ;

     o Rcuprer tout ou partie de votre disque racine initial 
       partir d'une sauvegarde en utilisant des utilitaires
       d'archivage et de compression tels que cpio, tar, gzip et
       ftape.

   Nous dcrirons comment construire un systme compress, ainsi
   appel car il est compress sur disque et qu'une fois dmarr, le
   noyau le dcompresse dans un disque mmoire. Avec un systme
   compress vous pouvez faire tenir beaucoup de fichiers ( peu prs
   six mga-octets) sur une disquette standard de 1440 ko. Puisque le
   systme de fichiers est bien plus gros que la disquette, il ne
   peut tre construit directement sur la disquette. Il nous faut le
   construire ailleurs et le compresser avant de le copier sur la
   disquette.

  4.2. Cration du systme de fichiers

   Pour crer un tel systme racine, il vous faut un autre
   priphrique capable de stocker tous les fichiers avant leur
   compression. Ce priphrique doit pouvoir contenir  peu prs
   quatre mga-octets. Plusieurs solutions s'offrent  vous :

     o Utiliser un disque mmoire (PRIPHRIQUE = /dev/ram0). Dans ce
       cas, la mmoire est utilise pour simuler un disque physique.
       Le disque mmoire doit tre suffisamment grand pour contenir
       un systme de fichiers de la bonne taille. Si vous utilisez
       LILO, cherchez dans votre fichier de configuration
       (/etc/lilo.conf) une ligne du type :

 RAMDISK_SIZE = nnn

       qui dtermine combien de mmoire peut tre au plus alloue 
       un disque mmoire. La valeur par dfaut est de 4096 ko, ce qui
       devrait suffire. Il ne sert probablement  rien de crer un
       tel disque mmoire sur une machine possdant moins de 8 Mo de
       RAM.

       Vrifiez que vous avez un priphrique tel que /dev/ram0,
       /dev/ram ou /dev/ramdisk. Si ce n'est pas le cas, crez
       /dev/ram0 avec mknod (numro majeur 1, numro mineur 0).

     o Une partition de disque dur inutilise et assez grande
       (plusieurs mga-octets) est aussi une bonne solution.

     o Utiliser un priphrique de boucle (loopback), qui permet
       d'utiliser un fichier comme s'il s'agissait d'un priphrique
       normal. Avec un priphrique de boucle, vous pouvez crer un
       fichier de 3 mga-octets sur votre disque dur et construire le
       systme de fichiers dedans.

       Tapez man losetup pour savoir comment utiliser un priphrique
       de boucle. Si vous n'avez pas losetup, vous pouvez le
       rcuprer, ainsi que des versions compatibles de mount et
       umount, dans le paquetage util-linux disponible dans le
       rpertoire
       [2]ftp://ftp.win.tue.nl/pub/linux-local/utils/util-linux/.

       Si vous n'avez pas de priphrique de boucle (/dev/loop0,
       /dev/loop1, et ctera) sur votre systme, vous devez en crer
       un avec mknod /dev/loop0 b 7 0. Une fois les excutables mount
       et umount spciaux installs, crez un fichier temporaire sur
       le disque dur suffisamment grand (par exemple, /tmp/fsfile).
       Vous pouvez utiliser une commande du type :

 dd if=/dev/zero of=/tmp/fsfile bs=1k count=nnn

       pour crer un fichier de nnn blocs.

       Utilisez le nom du fichier  la place de PRIPHRIQUE
       ci-dessous. Quand vous excutez une commande mount, vous devez
       inclure l'option -o loop pour dire au programme d'utiliser un
       priphrique de boucle. Par exemple :

 mount -o loop -t ext2 /tmp/fsfile /mnt

       va monter /tmp/fsfile (par priphrique de boucle) sur le
       point de montage /mnt. Un coup de df le confirmera.

   Aprs avoir choisi une de ces options, prparez le PRIPHRIQUE
   avec :

 dd if=/dev/zero of=PRIPHRIQUE bs=1k count=4096

   Cette commande initialise  zro le priphrique. Cette tape est
   importante pour la compression ultrieure du systme de fichiers,
   afin que toutes les portions inutilises soient remplies de zros
   pour une compression maximum. Gardez cela  l'esprit si vous
   dplacez ou effacez des fichiers sur le systme de fichiers. Le
   systme de fichiers va dsallouer correctement les blocs, mais ne
   va pas les initialiser  zro  nouveau . Si vous effectuez
   beaucoup d'effacements et de copies, votre systme de fichiers
   compress risque d'tre bien plus grand que ncessaire.

   Ensuite, crez le systme de fichiers. Le noyau Linux sait charger
   automatiquement deux types de systme de fichiers dans un disque
   mmoire : minix et ext2, avec une prfrence pour ext2. Si vous le
   choisissez, vous voudrez peut-tre utiliser l'option -i afin de
   crer plus d'i-nuds que par dfaut ; -i 2000 est une bonne valeur
   qui vous vitera de tomber  court d'i-nuds. Vous pouvez sinon
   conomiser des i-nuds en supprimant pas mal de fichiers /dev/
   inutiles. mke2fs cre par dfaut 360 i-nuds sur une disquette de
   1,44 Mo. Je trouve 120 i-nuds largement suffisants pour ma
   disquette racine de secours, mais si vous conservez tous les
   priphriques dans le rpertoire /dev vous dpasserez facilement
   les 360. L'utilisation d'un systme racine compress permet de
   crer un systme de fichiers plus grand, contenant donc plus
   d'i-nuds par dfaut, mais vous pourrez quand mme vouloir rduire
   le nombre de fichiers ou augmenter le nombre d'i-nuds.

   Vous allez donc taper une commande du genre :

 mke2fs -m 0 -i 2000 PRIPHRIQUE

   (Si vous utilisez un priphrique de boucle, le fichier que vous
   utilisez doit tre indiqu  la place de ce PRIPHRIQUE. mke2fs
   vous demandera alors si vous voulez vraiment faire cela ; rpondez
   oui.)

   La commande mke2fs dtectera automatiquement l'espace disponible
   et se configurera selon ce dernier. Le paramtre -m 0 permet de ne
   pas rserver d'espace pour root, et laisse donc plus d'espace
   disponible sur le disque.

   Ensuite, montez le priphrique :

 mount -t ext2 PRIPHRIQUE /mnt

   (Vous devez crer un point de montage /mnt s'il n'existe pas
   encore.) Dans les sections suivantes, tous les rpertoires
   destination sont supposs relatifs  /mnt.

  4.3. Remplissage du systme de fichiers

   Voici un minimum raisonnable de rpertoires  crer sur votre
   systme racine ^[1] :

     o /dev : Priphriques, ncessaires aux E/S ;

     o /proc : Rpertoire de base ncessaire au systme de fichiers
       proc ;

     o /etc : Fichiers de configuration du systme ;

     o /sbin : Excutables systmes critiques ;

     o /bin : Excutables de base considrs comme partie intgrante
       du systme ;

     o /lib : Bibliothques partages ncessaires  l'excution des
       programmes ;

     o /mnt : Un point de montage pour la maintenance des autres
       disques ;

     o /usr : Utilitaires et applications supplmentaires.

   Trois de ces rpertoires resteront vides sur les systmes racine,
   il suffit donc de les crer avec mkdir. Le rpertoire /proc n'est
   qu'une base sous laquelle le systme proc est plac. /mnt et /usr
   ne sont que des points de montage utiliss une fois que le systme
   amorce/racine tourne. Encore une fois, il suffit de crer ces
   rpertoires.

   Les quatre autres rpertoires sont dcrits dans les sections
   suivantes.

    4.3.1. /dev

   Tous les systmes Linux ont besoin d'un rpertoire /dev contenant
   un fichier spcial par priphrique accessible au systme. Le
   rpertoire en lui-mme est normal, et peut tre cr avec mkdir de
   la manire habituelle. Les fichiers spciaux de priphrique
   doivent par contre tre crs diffremment,  l'aide de la
   commande mknod.

   Il y a un raccourci par contre : copiez le contenu de votre
   rpertoire /dev existant, puis supprimez ceux dont vous n'avez pas
   besoin. Il suffit juste de copier les fichiers spciaux avec
   l'option -R. Cela copie le rpertoire sans tenter de copier le
   contenu des fichiers. Attention  bien utiliser un R en
   majuscule ! Si vous utilisez l'option en minuscule -r, vous allez
   vous retrouver en train de copier le contenu complet de votre
   disque dur -- ou au moins tout ce que pourra en contenir une
   disquette ! Prenez donc vos prcautions, et utilisez par exemple
   les commandes :

 cp -dpR /dev/fd[01]* /mnt/dev
 cp -dpR /dev/tty[0-6] /mnt/dev

   en supposant que la disquette est monte sur /mnt. Les options dp
   demandent la copie des liens symboliques en tant que lien, plutt
   que celle du fichier qui se trouve au bout de celui-ci, et la
   conservation des attributs originaux des fichiers, pour garder les
   bons propritaires.

   Si vous voulez le faire vous-mmes, utilisez ls -l pour afficher
   les numros majeurs et mineurs des priphriques qui vous
   intressent, et crez-les sur la disquette en utilisant mknod.

   Quelle que soit la manire retenue pour copier les priphriques,
   il faut vrifier que tous les priphriques dont vous aurez besoin
   sont bien prsents sur la disquette de secours. Par exemple, ftape
   utilise les priphriques de bande, qu'il vous faudra donc tous
   copier si vous comptez utiliser votre lecteur de bande depuis le
   disque amorce.

    noter qu'un i-nud est ncessaire pour chaque fichier de
   priphrique, et que les i-nuds sont parfois une ressource rare,
   spcialement sur les systmes de fichiers sur disquette. Il n'est
   donc pas idiot d'enlever du rpertoire /dev de la disquette tous
   les fichiers de priphrique dont vous n'avez pas besoin. Bien des
   priphriques ne sont clairement pas ncessaires sur des systmes
   spcifiques. Par exemple, si vous n'avez pas de disques SCSI vous
   pouvez tranquillement enlever tous les fichiers commenant par sd.
   De mme, si vous ne comptez pas utiliser de port srie vous pouvez
   supprimer tous les fichiers commenant par ttyS.

   Si, en construisant le systme de fichiers, vous obtenez l'erreur
   :

 No space left on device

   et que la commande df indique qu'il reste de l'espace disponible,
   c'est sans doutes qu'il n'y a plus d'i-nud disponible. Un df -i
   affichera l'utilisation des i-nuds.

   N'oubliez pas d'inclure les fichiers suivants dans le rpertoire :
   console, kmem, mem, null, ram0, tty1.

    4.3.2. /etc

   Ce rpertoire doit contenir un certain nombre de fichiers de
   configuration. Ce qu'il devrait contenir dpend des programmes que
   vous avez l'intention d'excuter. Sur la plupart des systmes, on
   peut les rpartir en trois groupes :

    1. Ncessaires  tout moment, par exemple rc, fstab, passwd ;

    2. Peut-tre ncessaires, mais on n'en est pas sr ;

    3. Du bazar oubli l.

   Les fichiers non essentiels peuvent tre identifis avec la
   commande :

 ls -ltru

   Les fichiers sont classs dans l'ordre inverse de dernire date
   d'accs, donc tout fichier qui n'est jamais lu peut tre exclu
   d'une disquette racine.

   Sur mes disquettes racine, je n'ai que 15 fichiers de
   configuration. Mon travail se rduit alors  grer trois groupes
   de fichiers :

    1. Ceux que je dois configurer pour un systme d'amorce et racine
       :

         a. rc.d/* : scripts de dmarrage du systme et de changement
            de niveau d'excution ;

         b. fstab : liste des systmes de fichiers  monter ;

         c. inittab : paramtres pour le processus init, le premier 
            tre lanc au dmarrage.

         d. gettydefs : paramtres pour le processus init, le premier
             tre lanc au dmarrage.

    2. Ceux que je dois nettoyer pour un systme d'amorce et racine :

         a. passwd : liste des utilisateurs, des rpertoires
            utilisateurs, et ctera ;

         b. group : groupes d'utilisateurs ;

         c. shadow : mots de passe cachs des utilisateurs. Il se
            peut que vous n'ayez pas ce fichier ;

         d. termcap : la base de donnes de fonctionnalits des
            terminaux.

       Si la scurit est importante, passwd et shadow doivent tre
       nettoys pour ne pas copier de mots de passe d'utilisateurs
       hors du systme et pour qu'en cas de dmarrage sur disquette,
       les logins indsirables soient rejets.

       Assurez-vous que passwd contienne au moins root. Si vous
       comptez donner accs  d'autres utilisateurs, vrifiez
       l'existence de leurs rpertoires utilisateurs et de leurs
       shells.

       termcap, la base de donnes de terminaux, fait en gnral
       plusieurs centaines de kilo-octets. Vous devrez faire du
       mnage dans la version de votre disquette d'amorce/racine pour
       ne conserver que le ou les terminaux que vous utilisez, ce qui
       se rduit en gnral  l'entre linux ou linux-console.

    3. Le reste. Ils fonctionnent trs bien tels quel, je ne les
       modifie donc pas.

   Parmi tout cela, je n'ai en ralit que deux fichiers 
   configurer, et ils ne doivent contenir qu'tonnamment peu de
   choses.

     o rc doit contenir :

 #!/bin/sh
 /bin/mount -av
 /bin/hostname Kangaroo

       Vrifiez qu'il est excutable, qu'il contient bien une ligne
       #!/bin/sh au dbut et que ce sont les bons rpertoires. Il
       n'est pas rellement ncessaire de lancer hostname, mais cela
       donne juste une meilleure allure.

     o fstab doit au moins contenir :

 /dev/ram0       /       ext2    defaults
 /dev/fd0        /       ext2    defaults
 /proc           /proc   proc    defaults

       Vous pouvez copier des lignes de votre vrai fstab, mais vous
       ne devriez pas monter automatiquement de partitions de votre
       disque dur ; utilisez le mot cl noauto pour celles-l. Votre
       disque peut tre endommag ou mort quand vous utilisez le
       disque d'amorce.

   Votre inittab doit tre modifi pour que la ligne sysinit lance rc
   ou quelque autre script basique d'amorce. De plus, si vous ne
   souhaitez pas que les utilisateurs se loguent sur les ports srie,
   commentez toutes les entres getty qui font rfrence  des
   priphriques ttys ou ttyS  la fin de la ligne. Laissez les ports
   tty pour pouvoir vous connecter sur la console.

   Un fichier inittab minimal contient ce qui suit :

 id:2:initdefault
 si::sysinit:/etc/rc
 1:2345:respawn:/sbin/getty 9600 tty1
 2:23:respawn:/sbin/getty 9600 tty2

   Le fichier inittab dcrit ce que va lancer le systme dans divers
   tats, dont le dmarrage, le passage en mode multi utilisateurs,
   et ctera. Attention aux noms de fichiers rfrencs dans inittab
   ; si init ne peut trouver le programme, le disque d'amorce
   s'arrtera, et vous n'aurez peut-tre mme pas de message
   d'erreur.

   Notez que certains programmes ne peuvent tre dplacs en raison
   d'autres programmes qui rfrencent en dur leur position. Par
   exemple sur mon systme, /etc/shutdown rfrence en dur
   /etc/reboot. Si je dplace reboot vers /bin/reboot, et que je
   lance une commande shutdown, elle va chouer en ne trouvant pas le
   fichier reboot.

   Pour le reste, copiez juste tous les fichiers texte de votre
   rpertoire /etc, ainsi que tous les excutables prsents dans /etc
   dont vous n'tes pas sr de pouvoir vous passer. Basez-vous sur
   l'exemple de l'Annexe C, Exemple de contenu de rpertoires sur un
   disque racine. Il vous suffira probablement de copier ces
   fichiers, mais les systmes pouvant tre trs diffrents, il n'est
   pas certain que le mme ensemble de fichiers sur votre systme
   soit quivalent aux fichiers lists. La seule mthode sre est de
   partir d'inittab et d'en dduire ce qui est ncessaire.

   La plupart des systmes utilisent maintenant un rpertoire
   /etc/rc.d/ contenant des scripts shell pour les diffrents niveaux
   d'excution. Il faut au minimum avoir un script rc unique, mais il
   peut tre plus simple de carrment copier inittab et le rpertoire
   /etc/rc.d depuis votre systme puis de nettoyer les scripts shell
   dans le rpertoire rc.d pour enlever tous les traitements inutiles
   pour un systme sur disquette.

    4.3.3. /bin et /sbin

   Le rpertoire /bin est un endroit pratique pour tous les
   utilitaires ncessaires aux oprations de base, tels que ls, mv,
   cat et dd. Voir l'Annexe C, Exemple de contenu de rpertoires sur
   un disque racine pour un exemple d'ensemble de fichiers pouvant
   aller dans les rpertoires /bin et /sbin. Il ne contient aucun des
   utilitaires ncessaires  la rcupration d'une sauvegarde, tels
   que cpio, tar et gzip. C'est parce que je place ceux-ci sur une
   disquette utilitaire spare, pour conserver de la place sur la
   disquette d'amorce et racine. Une fois la disquette
   d'amorce/racine dmarre, elle est copie sur le disque mmoire,
   laissant ainsi le lecteur de disquette libre pour en monter une
   autre, la disquette utilitaire. En gnral je la monte sur /usr.

   La cration d'une disquette utilitaire est dcrite ci-dessous dans
   la Section 9.2,  Construire un disque utilitaire  . Il est
   probablement souhaitable d'y maintenir une copie des mmes
   versions d'utilitaires de sauvegarde que ceux utiliss pour crire
   les sauvegardes, histoire de ne pas perdre de temps en essayant
   d'installer des versions qui ne peuvent pas lire vos bandes de
   sauvegarde.

   Vrifiez que vous y mettez les programmes suivants : init, getty
   ou un quivalent, login, mount, un shell capable de faire tourner
   votre script rc, un lien de sh vers le shell en question.

    4.3.4. /lib

   Vous mettez dans /lib les bibliothques partages et les chargeurs
   ncessaires. Si les bibliothques ncessaires ne sont pas trouves
   dans /lib, le systme ne pourra pas dmarrer. Avec de la chance,
   un message vous expliquera pourquoi.

   Pratiquement tous les programmes ont au moins besoin de la
   bibliothque libc, libc.so.N, N tant le numro de version
   courant. Vrifiez votre rpertoire /lib, libc.so.N est en gnral
   un lien symbolique vers un fichier avec un numro de version
   complet :

 % ls -l /lib/libc.so*
 -rwxr-xr-x   1 root     root      4016683 Apr 16 18:48 libc-2.1.1.so*
 lrwxrwxrwx   1 root     root           13 Apr 10 12:25 libc.so.6 -> libc-2.1.1.so*

   Dans le cas prsent, il vous faut libc-2.1.1.so. Pour trouver les
   autres bibliothques ncessaires, il faut lancer la commande ldd
   sur tous les excutables que vous prvoyez de mettre sur la
   disquette. Par exemple :

 % ldd /sbin/mke2fs
 libext2fs.so.2 => /lib/libext2fs.so.2 (0x40014000)
 libcom_err.so.2 => /lib/libcom_err.so.2 (0x40026000)
 libuuid.so.1 => /lib/libuuid.so.1 (0x40028000)
 libc.so.6 => /lib/libc.so.6 (0x4002c000)
 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)

   Tous les fichiers  droite sont ncessaires. Le fichier peut en
   ralit tre un lien symbolique.

   Notez que certaines bibliothques sont assez grosses et ne
   tiendront pas facilement sur votre systme racine. Par exemple, la
   libc.so cite prcdemment fait environ 4 mga-octets. Vous devrez
   probablement nettoyer les bibliothques avant de les copier sur
   votre systme racine. Reportez-vous  la Section 8,  Rduire la
   taille du systme racine  pour plus d'informations.

   Il faut galement inclure dans /lib un chargeur pour les
   bibliothques. Il s'agira soit de ld.so (pour les bibliothques
   a.out), soit de ld-linux.so (pour les bibliothques ELF). Les
   versions rcentes de ldd vous indiquent de quel chargeur vous avez
   besoin, comme dans l'exemple ci-dessus, mais de plus anciennes
   versions ne le font pas forcment. Si vous ne savez pas duquel
   vous avez besoin, utilisez la commande file sur la bibliothque.
   Par exemple :

 % file/lib/libc.so.4.7.2 /lib/libc.so.5.4.33 /lib/libc-2.1.1.so
 /lib/libc.so.4.7.2: Linux/i386 demand-paged executable (QMAGIC), stripped
 /lib/libc.so.5.4.33: ELF 32-bit LSB shared object, Intel 80386, version 1, stripped
 /lib/libc-2.1.1.so: ELF 32-bit LSB shared object, Intel 80386, version 1, not stripped

   Le mot QMAGIC indique que 4.7.2 est pour les bibliothques a.out,
   et ELF que 5.4.33 et 2.1.1 sont pour les ELF.

   Copiez le ou les chargeurs dont vous avez besoin sur le systme
   racine que vous tes en train de construire. Les bibliothques et
   chargeurs doivent tre tests attentivement avec les excutables
   inclus. Si le noyau ne peut charger une bibliothque ncessaire,
   il s'arrtera en gnral brutalement, sans message d'erreur.

  4.4. Utilisation de PAM et NSS

   Votre systme peut utiliser des bibliothques charges
   dynamiquement mais invisibles pour ldd. Si vous ne les incluez
   pas, vous risquez de ne pas pouvoir vous connecter ou utiliser
   votre disquette d'amorce.

    4.4.1. PAM (Pluggable Authentication Modules)

   Si votre systme utilise PAM (Pluggable Authentication Modules,
   soit Modules Externes d'authentification), tenez-en compte dans la
   construction de votre disque d'amorce, sans quoi vous ne pourrez
   pas vous connecter. En quelques mots, PAM est une mthode
   modulaire sophistique pour authentifier les utilisateurs et
   contrler leur accs aux services. Pour dterminer simplement si
   votre systme utilise PAM, cherchez dans le rpertoire /etc de
   votre disque dur un fichier pam.conf ou un rpertoire pam.d ; si
   l'un des deux existe, vous devez prvoir un minimum de support
   pour PAM. (Vous pouvez aussi lancer ldd sur votre excutable login
   ; si la sortie contient libpam.so, vous avez besoin de PAM.)

   Heureusement, la scurit est rarement un problme avec les
   disques d'amorce tant donn que quiconque avec un accs physique
    la machine peut en gnral faire tout ce qu'il veut dessus. Vous
   pouvez donc compltement dsactiver PAM en crant un fichier
   /etc/pam.conf simple sur votre systme racine contenant :

 OTHER   auth       optional     /lib/security/pam_permit.so
 OTHER   account    optional     /lib/security/pam_permit.so
 OTHER   password   optional     /lib/security/pam_permit.so
 OTHER   session    optional     /lib/security/pam_permit.so

   Copiez galement le fichier /lib/security/pam_permit.so sur votre
   systme racine. Cette bibliothque ne fait qu'environ 8 ko et ne
   cote donc pas grand chose.

   Notez bien que cette configuration donne  tous un accs complet
   aux fichiers et services de votre machine. Si vous avez des
   impratifs de scurit sur votre disque d'amorce pour une raison
   ou une autre, vous devrez copier une partie, voire l'ensemble de
   la configuration PAM de votre disque dur vers le systme racine.
   Lisez bien attentivement la documentation de PAM, et copiez toutes
   les bibliothques ncessaires depuis /lib/security vers votre
   systme racine.

   Vous devez aussi inclure /lib/libpam.so sur le disque racine. Mais
   vous le saviez dj puisque vous avez lanc ldd sur /bin/login qui
   vous a montr cette dpendance.

    4.4.2. NSS (Name Service Switch)

   Si vous utilisez glibc (appele aussi libc6), vous devez tenir
   compte des services de noms sans quoi vous ne pourrez pas vous
   connecter. Le fichier /etc/nsswitch.conf contrle les recherches
   dans les bases de donnes pour divers services. Si vous ne comptez
   pas accder  des services du rseau (tels que des recherches DNS
   ou NIS), un simple fichier nsswitch.conf comme suit suffit :

 passwd:     files
 shadow:     files
 group:      files
 hosts:      files
 services:   files
 networks:   files
 protocols:  files
 rpc:        files
 ethers:     files
 netmasks:   files
 bootparams: files
 automount:  files
 aliases:    files
 netgroup:   files
 publickey:  files

   Ce fichier spcifie que tous les services ne sont fournis que par
   des fichiers locaux de la machine. Vous devez aussi inclure le
   fichier /lib/libnss_files.so.X, o X vaut 1 pour une glibc 2.0 et
   2 pour une glibc 2.1. Cette bibliothque est charge dynamiquement
   pour grer les recherches dans les fichiers.

   Si vous comptez accder au rseau depuis votre disque d'amorce,
   vous pouvez crer un fichier nsswitch.conf plus complet. Voir la
   page de manuel de nsswitch pour plus de dtails. N'oubliez pas
   d'inclure un fichier /lib/libnss_service.so.1 pour chaque service
   que vous ajoutez.

  4.5. Modules

   Si votre noyau est modulaire, vous devez savoir quels modules vous
   voudrez charger depuis votre disque d'amorce une fois le systme
   dmarr. Il vous faudra inclure les modules ftape et zftape si vos
   sauvegardes sont sur bandes, les modules pour priphriques SCSI
   si vous en avez, et ventuellement ceux pour le support PPP ou
   SLIP si vous souhaitez accder au rseau en cas d'urgence.

   Ces modules doivent tre placs dans /lib/modules. Vous devez
   aussi inclure insmod, rmmod et lsmod. Si vous souhaitez charger
   les modules automatiquement, prenez modprobe, depmod et swapout.
   Et si vous utilisez kerneld, prenez le avec son fichier de
   configuration /etc/conf.modules.

   Nanmoins, le principal avantage d'utiliser les modules est que
   vous pouvez dplacer les modules non essentiels sur un disque
   utilitaire et ne les charger que lorsque c'est ncessaire, ce qui
   prend alors moins de place sur le disque racine. Si vous devez
   grer beaucoup de priphriques, il vaut mieux procder de cette
   manire plutt que de construire un seul gros noyau contenant tous
   les gestionnaires.

   Attention, pour dmarrer avec un systme de fichiers ext2
   compress, vous devez avoir inclus le support pour disque mmoire
   et ext2. Ils ne peuvent tre installs par des modules.

  4.6. Quelques ultimes dtails

   Certains programmes, tels que login, se plaignent si le fichier
   /var/run/utmp et le rpertoire /var/log n'existent pas.

   Donc :

 mkdir -p /mnt/var/{log,run}
 touch /mnt/var/run/utmp

   Enfin, aprs avoir install toutes les bibliothques dont vous
   avez besoin, lancez ldconfig pour refabriquer /etc/ld.so.cache sur
   le systme racine. Le cache indique au loader o trouver les
   bibliothques. Pour refabriquer ld.so.cache, lancez la commande
   suivante :

 ldconfig -r /mnt

  4.7. C'est dans la poche

   Une fois le systme racine construit, dmontez-le, copiez-le dans
   un fichier et compressez-le :

 umount /mnt
 dd if=PRIPHRIQUE bs=1k | gzip -v9 > rootfs.gz

   Une fois cette tape effectue, vous obtenez un fichier rootfs.gz
   contenant votre systme racine compress. Vrifiez sa taille pour
   tre sr qu'il tient sur une disquette. Si a n'est pas le cas
   vous devrez y retourner pour supprimer certains fichiers. La
   Section 8,  Rduire la taille du systme racine  vous donnera
   des astuces pour y arriver.

5. Choisir un noyau

   Vous avez maintenant un systme de fichiers racine complet et
   compress. La prochaine tape consiste  construire ou choisir un
   noyau. Dans la plupart des cas, vous pouvez copier votre noyau
   courant et dmarrer la disquette avec. Cependant dans certains
   cas, vous voudrez peut-tre construire un noyau diffrent.

   La taille peut jouer. Si vous faites une disquette d'amorce/racine
   unique, le noyau va tre un des plus gros fichiers de la disquette
   et il vaut donc mieux essayer d'en rduire la taille au maximum.
   Pour ce faire, construisez-le avec le minimum de fonctionnalits
   ncessaires au bon fonctionnement du systme cible. Cela implique
   de retirer tout ce dont vous n'avez pas besoin. Le support rseau
   est un bon candidat, tout comme le support pour tout type de
   disque et de priphrique dont vous n'avez pas l'usage sur un
   systme lanc par disquette. Comme indiqu prcdemment, votre
   noyau doit contenir le support pour disque mmoire et ext2.

   Une fois les fonctionnalits ncessaires dtermines, vous devez
   trouver ce qu'il faut rajouter. L'utilisation la plus courante
   d'une disquette d'amorce/racine est l'examen et la rcupration
   d'un systme racine endommag, ce qui peut ncessiter le support
   de certaines fonctionnalits supplmentaires dans le noyau. Par
   exemple, si vos sauvegardes sont stockes sur bande avec ftape
   pour grer l'accs au lecteur de bande et que vous perdez votre
   disque racine ainsi que ceux contenant ftape, vous ne pourrez plus
   rcuprer vos sauvegardes depuis les bandes. Vous devrez
   rinstaller Linux, rapatrier et rinstaller ftape, puis essayer de
   lire vos sauvegardes.

   Ce que je veux dire, c'est que quelle que soit la mthode d'E/S
   que vous utilisez au niveau du noyau pour les sauvegardes, elle
   doit se trouver aussi sur votre noyau d'amorce.

   La procdure de construction d'un noyau est dcrite dans la
   documentation fournie avec celui-ci. C'est assez simple  suivre,
   vous pouvez donc commencer par faire un tour dans /usr/src/linux.
   Si vous avez des problmes pour construire un noyau, vous ne
   devriez probablement pas essayer de faire de disquette
   d'amorce/racine de toute manire. Pensez  compresser le noyau
   avec make zImage.

6. Assemblage et fabrication de la ou des disquettes

   Vous avez maintenant un noyau et un systme de fichiers compress.
   Si vous construisez un disque d'amorce/racine unique, vrifiez que
   leur taille ne dpasse pas celle du disque. Si vous avez un
   dcoupage sur deux disquettes, vrifiez que la taille du systme
   racine ne dpasse pas celle de la disquette.

   Il vous faut choisir entre l'utilisation de LILO pour dmarrer le
   noyau du disque d'amorce et la copie du noyau directement sur la
   disquette d'amorce, sans LILO. L'avantage de LILO est la
   possibilit de passer des paramtres au noyau, ce qui peut tre
   ncessaire pour initialiser votre matriel (Regardez le fichier
   /etc/lilo.conf sur votre machine. S'il existe et contient une
   ligne du type append=..., vous avez besoin de passer des
   paramtres). Son inconvnient est une complexit accrue dans la
   construction du disque d'amorce, ainsi qu'une place occupe sur la
   disquette lgrement plus importante. Vous devrez configurer un
   petit systme de fichier spar que nous appellerons le systme
   noyau, o vous transfrerez le noyau ainsi que quelques autres
   fichiers ncessaires  LILO.

   Si vous dcidez d'utiliser LILO, continuez la lecture ; si par
   contre vous voulez copier le noyau directement sur la disquette,
   passez directement  la Section 6.2,  Transfert du noyau sans
   LILO .

  6.1. Transfert du noyau avec LILO

   La premire chose  faire est de vrifier que vous avez une
   version rcente de LILO. Ensuite, il faut crer un petit fichier
   de configuration pour LILO. Il doit ressembler  :

 boot      =/dev/fd0
 install   =/boot/boot.b
 map       =/boot/map
 read-write
 backup    =/dev/null
 compact
 image     = NOYAU
 label     = Bootdisk
 root      =/dev/fd0

   Pour la signification de ces paramtres, voir la documentation
   utilisateur de LILO. Il vous faudra probablement aussi rajouter
   une ligne append=...  ce fichier, comme dans le fichier
   /etc/lilo.conf de votre disque dur.

   Sauvez-le en tant que bdlilo.conf.

   Vous devez maintenant crer un petit systme de fichier, que nous
   appellerons systme noyau, pour le diffrencier du systme racine.

   Tout d'abord, calculez la taille que celui-ci doit faire. Prenez
   la taille de votre noyau en blocs (la taille donne par ls -s
   NOYAU et ajoutez 50. Cinquante blocs sont en gros la taille
   ncessaire aux i-nuds ainsi qu'aux autres fichiers. Vous pouvez
   calculer le nombre exact si vous voulez, ou simplement utiliser
   50. Si vous crez un ensemble avec deux disques, vous pouvez
   carrment surestimer l'espace ncessaire puisque le disque n'est
   utilis que par le noyau de toute manire. Appelez ce nombre
   BLOCS_NOYAU.

   Mettez une disquette dans le lecteur (pour simplifier, supposons
   qu'il s'agit de /dev/fd0) et crez le systme noyau ext2 dessus :

 mke2fs -N 24 -m 0 /dev/fd0 BLOCS_NOYAU

   L'option -N 24 indique que l'on souhaite 24 i-nuds, ce qui est
   largement suffisant pour ce systme de fichiers. Ensuite, montez
   le systme, supprimez le rpertoire lost+found et crez des
   rpertoire dev et boot pour LILO :

 mount /dev/fd0 /mnt
 rm -rf /mnt/lost+found
 mkdir /mnt/{boot,dev}

   Ensuite, crez les priphriques /dev/null et /dev/fd0. Au lieu de
   chercher leurs numros de priphriques, vous pouvez simplement
   les copier depuis votre disque dur avec l'option -R :

 cp -R /dev/{null,fd0} /mnt/dev

   LILO a besoin d'une copie de son chargeur d'amorce, boot.b, que
   vous pouvez trouver sur votre disque dur. Il est d'habitude dans
   le rpertoire /boot.

 cp /boot/boot.b /mnt/boot

   Enfin, copiez le fichier de configuration de LILO que vous avez
   cr prcdemment avec votre noyau. Les deux peuvent tre placs
   dans le rpertoire racine :

 cp bdlilo.conf NOYAU /mnt

   Tout ce dont LILO a besoin est maintenant sur le systme noyau,
   vous pouvez donc le lancer. Le paramtre -r de LILO est utilis
   pour installer le chargeur sur une autre racine que la courante :

 lilo -v -C bdlilo.conf -r /mnt

   LILO doit s'excuter sans erreur, aprs quoi le systme noyau
   devrait ressembler  :

 total 361
   1 -rw-r--r--   1 root     root          176 Jan 10 07:22 bdlilo.conf
   1 drwxr-xr-x   2 root     root         1024 Jan 10 07:23 boot/
   1 drwxr-xr-x   2 root     root         1024 Jan 10 07:22 dev/
 358 -rw-r--r--   1 root     root       362707 Jan 10 07:23 vmlinuz
 boot:
 total 8
   4 -rw-r--r--   1 root     root         3708 Jan 10 07:22 boot.b
   4 -rw-------   1 root     root         3584 Jan 10 07:23 map
 dev:
 total 0
   0 brw-r-----   1 root     root       2,   0 Jan 10 07:22 fd0
   0 crw-r--r--   1 root     root       1,   3 Jan 10 07:22 null

   Ne vous inquitez pas si la taille des fichiers n'est pas
   exactement la mme que la votre.

   Laissez maintenant le disque dans le lecteur et allez  la Section
   6.3,  Mise en place du mot disque mmoire .

  6.2. Transfert du noyau sans LILO

   Si vous n'utilisez pas LILO, transfrez le noyau sur le disque
   d'amorce avec la commande dd :

 % dd if=NOYAU of=/dev/fd0 bs=1k
 353+1 records in
 353+1 records out

   Dans ce exemple, dd a crit 353 enregistrements complets, plus 1
   partiel, ce qui signifie que le noyau occupe les 354 premiers
   blocs de la disquette. Appelez ce nombre BLOCS_NOYAU et pensez 
   l'utiliser dans la section suivante.

   Enfin, indiquez que le priphrique racine doit tre la disquette
   elle-mme, et que le noyau doit tre charg en lecture/criture.

         rdev /dev/fd0 /dev/fd0
         rdev -R /dev/fd0 0

   Attention  bien utiliser un -R majuscule dans la seconde commande
   rdev.

  6.3. Mise en place du mot disque mmoire

   Le mot disque mmoire situ dans l'image du noyau permet de
   spcifier o se trouve le systme racine, ainsi que d'autres
   options. Le mot peut tre lu et modifi avec la commande rdev, et
   sa valeur s'interprte de la manire suivante :

 bits  0-10 :    Dcalage jusqu'au dbut du disque mmoire, en blocs
                 de 1024 octets
 bits 11-13 :    Inutilis
 bit     14 :    Drapeau indiquant s'il faut charger un disque mmoire
 bit     15 :    Drapeau pour faire une pause avant de charger le
                 systme racine

   Si le bit 15 est mis  1, le noyau vous demandera au moment du
   dmarrage de changer la disquette dans le lecteur. C'est
   ncessaire si vous utilisez un ensemble de deux disques. Il y a
   deux cas, suivant que vous crez une disquette d'amorce/racine
   unique ou un ensemble  amorce+racine  spar.

    1. Si vous crez un disque unique, le systme racine compress
       sera plac juste aprs le noyau, et donc le dcalage sera le
       premier bloc libre (qui doit tre au mme endroit que
       BLOCS_NOYAU). Le bit 14 sera mis  1, et le bit 15  0.

       Supposons par exemple que vous construisiez un disque unique
       dont le systme racine doit commencer au bloc 253 (valeur
       dcimale). Le mot disque mmoire devrait valoir 253 (toujours
       en dcimal) avec le bit 14  1 et le bit 15  0. Pour calculer
       sa valeur vous pouvez simplement additionner les valeurs
       dcimales. 253 + (2^14) = 253 + 16384 = 16637. Si vous ne
       comprenez pas d'o sort ce nombre, entrez-le dans une
       calculatrice scientifique et convertissez-le en binaire.

    2. Si vous crez par contre un ensemble de deux disques, le
       systme racine sera au bloc zro du second disque, et le
       dcalage sera donc zro. Le bit 14 sera mis  1 tout comme le
       bit 15. La valeur dcimale sera donc de 2^14 + 2^15 = 49152
       dans ce cas.

   Aprs avoir bien calcul la valeur du mot disque mmoire,
   crivez-le avec rdev -r. Attention  utiliser la valeur dcimale.
   Si vous utilisez LILO, l'argument de rdev doit tre le chemin
   d'accs au noyau mont, c'est  dire /mnt/vmlinuz ; si vous avez
   copi le noyau avec dd, utilisez  la place le nom du priphrique
   du lecteur de disquette (c'est  dire /dev/fd0).

 rdev -r NOYAU_OU_LECTEUR_DE_DISQUETTE VALEUR

   Si vous avez utilis LILO, dmontez maintenant la disquette.

   Ne croyez pas ce que dit la page de manuel de rdev/ramsize 
   propos de la taille du disque mmoire. Cette page est obsolte. 
   partir du noyau 2.0, le mot disque mmoire ne dtermine plus la
   taille du disque mmoire ; au lieu de cela, ce mot est dtermin 
   partir du tableau donn au dbut de cette section. Pour une
   explication dtaille, voir le fichier de documentation
   ramdisk.txt ou http://www.tamacom.com/tour/linux/S/9075.html
   [http://www.tamacom.com/tour/linux/S/9075.html].

  6.4. Transfert du systme racine

   La dernire tape concerne le transfert du systme racine.

     o Si le systme racine doit tre plac sur le mme disque que le
       noyau, transfrez-le avec dd et son option seek, qui indique
       combien de blocs il faut sauter :

 dd if=rootfs.gz of=/dev/fd0 bs=1k seek=BLOCS_NOYAU

     o Si le systme racine doit tre plac sur un second disque,
       sortez la premire disquette, mettez la seconde dans le
       disque, puis transfrez-y le systme racine :

 dd if=rootfs.gz of=/dev/fd0 bs=1k

   Bravo, vous avez fini ! Vous devriez toujours tester un disque
   d'amorce avant de le ranger jusqu' la prochaine urgence ! S'il
   n'arrive pas  dmarrer, continuez  lire.

7. En cas de problme, ou l'agonie de la dfaite

   Lorsque l'on cre des disques d'amorce, les premiers essais
   n'amorcent souvent pas la machine. En gnral, la mthode utilise
   consiste  construire le disque racine  partir de composants de
   votre systme actuel pour essayer d'obtenir que le systme de la
   disquette commence  afficher des messages sur la console. Une
   fois qu'il a commenc  vous parler, la bataille est presque
   gagne puisque vous pouvez voir de quoi il se plaint et corriger
   les problmes un  un jusqu' ce que le systme fonctionne
   normalement. Si le systme s'arrte brutalement sans explication,
   il peut tre difficile d'en trouver la cause. Pour que le systme
   en arrive au point o il commence  afficher ses messages, un
   certain nombre de composants doivent tre prsents et bien
   configurs. La procdure  suivre pour dterminer les raisons du
   silence de votre systme est la suivante :

     o Si vous voyez un message du genre :

 Kernel panic: VFS: Unable to mount root fs on XX:YY

       C'est un problme courant qui ne peut avoir que quelques
       causes. Tout d'abord, cherchez le priphrique XX:YY dans la
       liste de codes des priphriques dans le fichier
       /usr/src/linux/Documentation/devices.txt ; s'agit-il du bon
       priphrique racine ? Si ce n'est pas le bon, vous n'avez sans
       doute pas lanc rdev -R, ou alors sur la mauvaise image. Si le
       code du priphrique est correct, vrifiez attentivement quels
       gestionnaires de priphriques ont t compils dans le noyau.
       Assurez-vous que le support pour le lecteur de disquettes, les
       disques mmoires et le systme de fichiers ext2 sont bien
       inclus ;

     o Si vous voyez plusieurs erreurs du genre :

 end_request: I/O error, dev 01:00 (ramdisk), sector NNN

       Il s'agit d'une erreur d'E/S du priphrique disque mmoire,
       la plupart du temps  cause du noyau qui tente d'crire
       au-del de la fin du priphrique. Le disque mmoire est trop
       petit pour supporter la totalit du systme de fichiers.
       Vrifiez les message d'initialisation du noyau pour trouver
       une ligne du type :

 Ramdisk driver initialized : 16 ramdisks of 4096K size

       Vrifiez la taille du systme de fichiers compress. Si le
       disque mmoire n'est pas assez grand, il faut l'agrandir.

     o Vrifiez que le disque racine contient bien les rpertoires
       que vous croyez. Il est facile de se tromper de niveau
       d'arborescence et de se retrouver avec quelque chose du genre
       /racine/bin au lieu de /bin sur votre disquette racine ;

     o Vrifiez qu'il y a un /lib/libc.so avec le mme lien que celui
       prsent dans le rpertoire /lib de votre disque dur ;

     o Vrifiez que tous les liens symboliques du rpertoire /dev de
       votre systme actuel existent galement sur le systme racine,
       quand ces liens pointent vers des priphriques inclus sur la
       disquette racine. Notamment, les liens vers /dev/console sont
       souvent essentiels ;

     o Vrifiez que vous avez inclus les fichiers /dev/tty1,
       /dev/null, /dev/zero, /dev/mem, /dev/ram et /dev/kmem ;

     o Vrifiez la configuration de votre noyau : le support pour
       toutes les ressources ncessaires jusqu' l'invite de
       connexion doit tre directement inclus et non pas sous forme
       de modules. Le support des disques mmoires et de ext2 doivent
       donc tre prsents dans le noyau ;

     o Vrifiez que le priphrique racine et le disque mmoire sont
       correctement configurs dans le noyau.

   Une fois ces points gnraux vrifis, vous pouvez vous pencher
   sur ces points plus prcis :

    1. Vrifiez qu'init est prsent en tant que /sbin/init ou
       /bin/init, et qu'il est excutable ;

    2. Lancez ldd init pour vrifier les bibliothques d'init. Il n'y
       a normalement que libc.so, mais sait-on jamais... Vrifiez que
       vous avez bien inclus les bibliothques et leurs chargeurs ;

    3. Vrifiez que vous avez le bon chargeur pour vos
       bibliothques : ld.so pour a.out et ld-linux.so pour ELF ;

    4. Vrifiez le contenu de /etc/inittab sur la disquette d'amorce
       et ses ventuels appels  getty (ou tout autre programme du
       genre, tel que agetty, mgetty ou getty_ps).

       Comparez-le plusieurs fois avec l'inittab de votre disque dur.
       Vrifiez les pages de manuel du programme que vous utilisez
       pour tre sr de sa cohrence. inittab peut tre le morceau le
       plus difficile en raison de sa syntaxe et du contenu qui
       dpendent de la version d'init utilise et de la nature du
       systme. La seule manire de s'en dbarrasser, c'est de lire
       les pages de manuel d'init et inittab afin de comprendre
       exactement ce que fait le systme lorsqu'il dmarre. Vrifiez
       que /etc/inittab contient bien une entre concernant
       l'initialisation du systme. Elle doit contenir une commande
       lanant le script d'initialisation du systme, qui doit lui
       aussi exister ;

    5. Comme pour init, lancez ldd sur votre getty pour voir ses
       besoins, et vrifiez que les bibliothques et chargeurs
       ncessaires sont prsents sur le systme racine ;

    6. Assurez-vous d'avoir inclus un excutable de shell (par
       exemple bash ou ash) capable de faire tourner tous vos scripts
       rc ;

    7. Si vous avez un fichier /etc/ld.so.cache sur le disque de
       secours, refabriquez-le (le fichier, pas le disque).

   Si init dmarre et que vous obtenez un message du type :

 Id xxx respawning too fast: disabled for 5 minutes

   cela provient d'init et indique gnralement que getty ou login
   meurt aussitt aprs son lancement.

   Vrifiez les excutables de getty et login, et les bibliothques
   dont ils dpendent. Vrifiez que les appels depuis /etc/inittab
   sont corrects. Si vous obtenez d'tranges messages de getty, cela
   peut signifier que les arguments dans /etc/inittab sont faux. Les
   options des programmes getty sont variables ; on signale que les
   arguments sont parfois incompatibles entre deux versions d'agetty.

   Si vous obtenez une invite de login et qu'aprs avoir entr un nom
   de login valide, le systme vous en demande un autre aussitt, le
   problme peut venir de PAM ou NSS. Lisez la Section 4.4, 
   Utilisation de PAM et NSS . Le problme peut aussi venir du fait
   que vous utilisez les mots de passe cachs et que vous n'avez pas
   copi le fichier /etc/shadow sur votre disque d'amorce.

   Si vous essayez de lancer un excutable tel que df prsent sur
   votre disque de secours, mais n'obtenez qu'un message du type :
   df: not found, vrifiez deux chose : (1) que le rpertoire
   contenant le binaire est bien dans votre PATH, et (2) que vous
   avez les bibliothques (et chargeurs) ncessaires au programme.

8. Rduire la taille du systme racine

   Parfois un systme racine est trop gros pour tenir sur une
   disquette, mme aprs compression. Voici quelques techniques pour
   rduire sa taille, cites par ordre dcroissant d'efficacit :

  8.1. Augmentez la densit du disque

   Par dfaut, les disquettes sont formates  1440 ko, mais des
   formats plus denses existent. fdformat peut formater des disques
   avec les tailles suivantes : 1600, 1680, 1722, 1743, 1760, 1840 et
   1920. Lisez la page de manuel de fdformat ainsi que
   /usr/src/linux/Documentation/devices.txt.

   Mais quelles densits/gomtries votre machine peut-elle
   supporter ? Voici des rponses (lgrement modifies) de Alain
   Knaff, l'auteur de fdutils.

     C'est plus le problme du BIOS que du format physique des        
     disquettes. Si le BIOS dcide que tous les numros de secteurs   
     suprieurs  18 sont non valides, alors on ne peut pas y faire   
     grand chose. En effet,  moins de dsassembler le BIOS, le       
     seul moyen de trouver la bonne valeur est en ttonnant.          
     Quoiqu'il en soit, si le BIOS supporte les disques ED (grande    
     densit : 36 secteurs/piste et 2,88 Mo), il y a des chances      
     pour que les disquettes de 1722 ko soient galement              
     supportes.                                                      
                                                                      
     Les disquettes super-formates avec plus de 21 secteurs par      
     piste ne sont vraisemblablement pas amorables : en fait,        
     celles qui utilisent des secteurs de tailles non standard        
     (1024 octets par secteur au lieu de 512, par exemple) ne sont    
     vraisemblablement pas dmarrables. Il devrait tre malgr tout   
     possible d'crire un programme de dmarrage du secteur pour      
     contourner cela. Si je me souviens bien, le programme DOS 2m     
     en est capable, ainsi que les programmes XDF de OS/2.            
                                                                      
     Certains BIOS clament artificiellement que tout secteur          
     suprieur  18 est certainement dfectueux. Comme les            
     disquettes de 1722 ko utilisent des secteurs suprieurs  21,    
     elles ne devraient pas tre amorables. Le meilleur moyen de     
     tester serait de formater une disquette DOS ou syslinux en       
     1722 ko et de la rendre amorable. Si vous utilisez LILO,        
     n'utilisez pas l'option linear (sans quoi LILO penserait que     
     le format par dfaut de la disquette est de 18 secteurs par      
     piste, et la disquette ne dmarrera pas mme si le BIOS la       
     supporte).                                                       
                                                      --Alain Knaff   

  8.2. Remplacer les utilitaires indispensables par BusyBox

   La plupart de l'espace disque d'un systme de fichiers est
   consomm par des utilitaires indispensables tels que cat, chmod,
   cp, dd, df, et ctera. Le projet BusyBox permet de fournir un
   remplacement  ces utilitaires indispensables. BusyBox fournit un
   seul fichier monolithique excutable, /bin/busybox, d'environ
   150 ko, qui implmente les fonctions de ces utilitaires. Vous
   pouvez crer des liens symboliques  partir de diffrents
   programmes vers cet excutable ; busybox voit comment il a t
   appel et invoque le code correcte. BusyBox inclut mme un shell
   basique. BusyBox est disponible sous forme de paquetage binaire
   pour plusieurs distributions, et le code source est disponible sur
   le site de BusyBox.

  8.3. Changez de shell

   Certains shells populaires sous Linux, tels que bash et tcsh, sont
   gros et ncessitent de nombreuses bibliothques. Si vous
   n'utilisez pas le shell de BusyBox, vous devriez quand mme songer
    remplacer le shell. D'autres options plus lgres existent,
   telles que ash, lsh, kiss et smash, bien plus petites et
   ncessitant peu (ou pas) de bibliothques. La plupart de ces
   shells de remplacement sont disponibles sur
   http://www.ibiblio.org/pub/Linux/system/shells/
   [http://www.ibiblio.org/pub/Linux/system/shells/]. Vrifiez que le
   shell que vous utilisez sait faire tourner les commandes de tous
   les scripts rc que vous incluez sur le disque d'amorce.

  8.4. Nettoyez les bibliothques et binaires

   De nombreux binaires et bibliothques restent non nettoys (ils
   contiennent les informations pour le dboguage). Si vous lancez
   file sur ces fichiers, il vous indiquera not stripped si c'est le
   cas. Lorsque vous copiez des binaires sur votre systme racine,
   une bonne habitude  prendre est d'utiliser :

 objcopy --strip-all ORIGINE DESTINATION

   Et lorsque vous copiez des bibliothques :

 objcopy --strip-debug ORIGINE DESTINATION

  8.5. Dplacez les fichiers non essentiels vers un disque utilitaire

   Si certains binaires ne sont pas immdiatement ncessaires au
   dmarrage ou au login, vous pouvez les dplacer sur un disque
   utilitaire. Lisez la Section 9.2,  Construire un disque
   utilitaire  pour les dtails. Vous pouvez aussi dplacer les
   modules vers un disque utilitaire.

9. Sujets divers

  9.1. Systme racine sans disque mmoire

   La Section 4,  Construire un systme racine  explique comment
   construire un systme racine compress charg en mmoire lors du
   dmarrage du systme. Cette mthode qui prsente beaucoup
   d'avantages est souvent utilise. Nanmoins, certains systmes
   possdant peu de mmoire ne peuvent se permettre d'utiliser de la
   RAM pour un disque mmoire, et doivent donc utiliser un systme
   racine mont directement depuis la disquette.

   De tels systmes sont en ralit plus faciles  construire que les
   systmes racines compresss car on peut les crer directement sur
   disquette plutt que de passer par un autre priphrique
   intermdiaire, et ne ncessitent pas de compression. Nous
   indiquerons les diffrences de procdure par rapports aux
   instructions prcdentes. Si vous choisissez cette mthode,
   rappelez-vous bien que vous aurez beaucoup moins d'espace disque
   disponible.

    1. Calculez la taille disponible pour les fichiers racines.

       Si vous construisez un systme d'amorce/racine unique, vous
       devez arriver  faire tenir tous les blocs du noyau ainsi que
       tous les blocs du systme racine sur un seul disque.

    2.  l'aide de mke2fs, crez un systme racine de la bonne taille
       sur une disquette.

    3. Remplissez le systme comme dcrit prcdemment.

    4. Aprs cela, dmontez le systme et transfrez-le vers un
       fichier sur le disque, mais sans le compresser.

    5. Transfrez le noyau sur une disquette comme dcrit
       prcdemment. Lorsque vous calculerez le mot disque mmoire,
       mettez le bit 14  0 pour indiquer que le systme racine ne
       doit pas tre charg en mmoire. Lancez la commande rdev
       indique.

    6. Transfrez le systme racine comme prcdemment.

   Vous pouvez prendre quelques raccourcis. Si vous construisez un
   systme avec deux disques, vous pouvez construire le systme de
   fichiers racine directement sur le second disque au lieu de le
   transfrer sur le disque dur puis  nouveau sur la disquette. De
   mme, si vous construisez un disque d'amorce/racine unique et si
   vous utilisez LILO, vous pouvez crer un systme de fichiers
   unique sur toute la disquette contenant le noyau, les fichiers de
   LILO et les fichiers racine, avant de simplement lancer LILO comme
   dernire tape.

  9.2. Construire un disque utilitaire

   Construire un disque utilitaire est assez facile : crez
   simplement un systme de fichiers sur une disquette formate et
   copiez les fichiers dessus. Pour l'utiliser depuis un disque
   d'amorce, montez-le manuellement une fois le systme dmarr.

   Les instructions prcdentes indiquent qu'un disque utilitaire
   peut tre mont en tant que /usr. Dans ce cas, les binaires
   doivent tre placs dans un rpertoire /bin du disque utilitaire,
   afin d'tre rfrencs si vous mettez /usr/bin dans votre chemin.
   Les bibliothques supplmentaires ncessaires aux binaires sont 
   placer dans /lib sur le disque utilitaire.

   Il faut penser  plusieurs choses lorsque l'on cre un disque
   utilitaire :

    1. Ne placez pas de binaires ou de bibliothques essentiels pour
       le systme sur le disque utilitaire, puisqu'il ne sera
       montable qu'une fois le systme dmarr ;

    2. Vous ne pouvez pas utiliser de lecteur de disquette et de
       lecteur de bande sur port disquette en mme temps. Ce qui veut
       dire que si votre lecteur de bande est sur un port disquette,
       vous ne pourrez pas y accder tant que votre disque utilitaire
       sera mont ;

    3. L'accs aux fichiers du disque utilitaire sera lent.

   L' Annexe D, Exemple de contenu des rpertoires d'un disque
   utilitaire montre ce que peut contenir un tel disque. Voici
   quelques ides de fichiers qui peuvent vous tre utiles :
   programmes de diagnostic et de manipulation de disques (format,
   fdisk) et systmes de fichiers (mke2fs, fsck, debugfs, isofs.o),
   un diteur de texte lger (elvis, jove), des utilitaires de
   compression et archivage (gzip, tar, cpio, afio), de gestion de
   bande (mt, ftmt, tob, taper), de communication (ppp.o, slip.o,
   minicom) et de gestion de priphriques (setserial, mknod).

10. La mthode des pros

   Vous avez peut-tre remarqu comme les disques d'amorce utiliss
   par les principales distributions comme Slackware, RedHat ou
   Debian paraissent plus sophistiqus que ce que dcrit ce document.
   Les disques d'amorce de distribution professionnelles se basent
   sur les mmes principes que ceux dcrits ici, mais utilisent
   diverses astuces pour satisfaire aux besoins supplmentaires de
   leurs disques d'amorce. Tout d'abord, ils doivent pouvoir
   fonctionner sur une grande varit de matriel et doivent donc
   pouvoir interagir avec l'utilisateur et charger divers
   gestionnaires de priphriques. Ensuite, ils doivent pouvoir
   travailler avec beaucoup d'options d'installation diffrentes, de
   manire plus ou moins automatique. Enfin, les disques d'amorce des
   distributions combinent en gnral la possibilit d'installer le
   systme avec celle de le rparer.

   Certains disques d'amorce utilisent une fonctionnalit appele
   initrd (initial ramdisk, ou disque mmoire initial). Cette
   fonctionnalit est apparue aux alentours de la version 2.0.x et
   permet au noyau de dmarrer en deux tapes. Quand le noyau
   commence son dmarrage, il charge une premire image de disque
   mmoire depuis le disque d'amorce. Ce disque mmoire initial est
   un systme racine contenant un programme  excuter avant le
   chargement du vrai systme racine. Ce programme inspecte en
   gnral l'environnement et/ou demande  l'utilisateur de
   slectionner diverses options de dmarrage, telles que le
   priphrique sur lequel on va trouver le vrai disque racine. En
   gnral, il charge des modules supplmentaires ne faisant pas
   partie du noyau. Quand ce programme initial se termine, le noyau
   charge la vraie image racine et continue son dmarrage
   normalement. Pour plus d'information sur initrd, lisez
   /usr/src/linux/Documentation/initrd.txt et
   [3]ftp://elserv.ffm.fgan.de/pub/linux/loadlin-1.6/initrd-example.tgz.

   Vous trouverez ci-dessous des rsums sur la manire dont les
   disques d'installation de chaque distribution semblent marcher,
   aprs tude de leurs systmes de fichiers et/ou code source. Nous
   ne garantissons pas l'exactitude des informations, ni qu'elles
   n'ont pas chang depuis les versions indiques.

   Slackware (v.3.1) utilise un dmarrage direct avec LILO semblable
    la description de la Section 6.1,  Transfert du noyau avec
   LILO . Le disque d'amorce de la Slackware affiche un message de
   dmarrage (Welcome to the Slackware Linux bootkernel disk!) en
   utilisant le paramtre message de LILO. Ce message indique 
   l'utilisateur d'entrer une ligne de paramtres de dmarrage si
   ncessaire. Aprs le dmarrage, un systme racine est charg
   depuis une seconde disquette. L'utilisateur lance un script de
   configuration (setup) qui dmarre l'installation. Au lieu
   d'utiliser un noyau modulaire, Slackware fournit un certain nombre
   de noyaux diffrents, et c'est  l'utilisateur de fournir celui
   qui correspond  sa configuration matrielle.

   RedHat (v.4.0) utilise aussi un dmarrage avec LILO. Il charge un
   disque mmoire compress sur le premier disque, qui fait tourner
   une version personnalise d'init. Ce programme demande quels
   gestionnaires utiliser puis charge des fichiers supplmentaires
   depuis un autre disque si ncessaire.

   Debian (v.1.3) possde probablement le groupe de disques
   d'installation le plus sophistiqu. Il utilise le chargeur
   SYSLINUX pour choisir diffrentes options de chargement, puis
   utilise une image initrd pour guider l'utilisateur dans
   l'installation. Il semble utiliser  la fois des versions
   personnalises d'init et du shell.

11. Crer des CD-ROM amorables

   Cette section a t crite avec la contribution de Rizwan Mohammed
   Darwe (rizwan CHEZ clovertechnologies POINT com).

   Cette section suppose que vous tes familier avec la procdure et
   le fonctionnement de l'criture de CD sous Linux. Considrez ceci
   comme une rfrence rapide pour inclure la possibilit de dmarrer
    partir du CD que vous allez graver. La CD-Writing-HOWTO devrait
   vous donner plus de dtails.

  11.1. Qu'est-ce que El Torito ?

    partir des plates-formes x86, plusieurs BIOS ont commenc 
   accepter les CD amorables. Les rustines pour mkisofs sont bass
   sur le standard appel  El Torito . En deux mots, El Torito est
   une spcification qui indique le format qu'un CD doit respecter,
   afin de pouvoir dmarrer directement sur celui-ci.

   La spcification  El Torito  dit que tout lecteur de CD-ROM
   devrait fonctionner (SCSI ou EIDE) si le BIOS est compatible El
   Torito. Sauf que cela n'a t test qu'avec des lecteurs EIDE, car
   aucun contrleur SCSI test ne semble supporter El Torito. La
   carte mre doit imprativement tre compatible El Torito. Comment
   savoir si votre carte mre est compatible El Torito ? Eh bien les
   cartes mres compatibles offrent le choix de dmarrer  partir du
   disque dur, de la disquette, du rseau ou du CD-ROM.

  11.2. Comment a marche

   Le standard El Torito fonctionne en faisant apparatre le lecteur
   de CD,  travers les appels BIOS, comme un lecteur de disquettes
   normal. De cette faon vous mettez simplement n'importe quelle
   image de la taille d'une disquette (exactement 1440 ko pour une
   disquette de 1,44 Mo) quelque part sur le systme de fichiers ISO.
   Dans l'en-tte du systme de fichiers ISO vous placez un pointeur
   vers cette image. Le BIOS va alors rcuprer cette image  partir
   du CD et agit comme si il dmarrait  partir du lecteur de
   disquettes. Cela permet  une disquette de dmarrage LILO, par
   exemple, d'tre utilise simplement comme si c'tait une vraie
   disquette.

   En gnral, les 1,44 (ou 2,88 si supports) premiers Mo du CD-ROM
   contiennent une image de la disquette cre par vous. Cette image
   est traite comme une disquette par le BIOS et dmarre par
   celui-ci. (Avec comme consquence, lors du dmarrage  partir de
   la disquette virtuelle, que votre lecteur original A: (/dev/fd0)
   ne sera plus accessible, mais vous pouvez toujours essayer
   /dev/fd1).

  11.3. Comment le faire marcher

   D'abord, il faut crer un fichier, disons boot.img, qui est
   l'image exacte de la disquette que vous voulez dmarrer via le
   CD-ROM. Ce doit tre une disquette de dmarrage 1,44 Mo. La
   commande suivante permet de la crer :

 dd if=/dev/fd0 of=boot.img bs=10k count=144

   en supposant que la disquette se trouve dans le lecteur A:.

   Placez cette image quelque part dans la hirarchie qui sera la
   source du systme de fichiers iso9660. C'est une bonne ide de
   mettre tous les fichiers relatifs au dmarrage dans leur propre
   rpertoire (boot/ sous la racine du systme de fichiers iso9660,
   par exemple).

   Avertissement : Votre disquette de dmarrage doit charger un
   initial ramdisk via LILO, et pas le disque mmoire du noyau ! Ceci
   est du au fait que lorsque le noyau dmarre, l'mulation BIOS du
   CD comme disquette est limite et va chouer. LILO va charger le
   disque mmoire en utilisant les appels disques BIOS, et
   l'mulation fonctionne normalement.

   La spcification El Torito requiert galement la cration d'un
   catalogue de dmarrage. Il s'agit d'un fichier de 2048 octets qui
   n'a pas grand intrt  part qu'il est ncessaire. La correction
   ralise par l'auteur de mkisofs permet la cration automatique de
   ce catalogue de dmarrage, mais vous devez spcifier o ce
   catalogue doit se trouver dans la hirarchie du systme de
   fichiers iso9660. En gnral c'est une bonne ide de le mettre au
   mme endroit que l'image de dmarrage, et de l'appeler
   boot.catalog. La commande pour crer le systme de fichiers
   iso9660 dans le fichier bootcd.iso est alors :

 mkisofs -r -b boot/boot.img -c boot/boot.catalog -o bootcd.iso .

   L'option -b prcise l'image de dmarrage  utiliser (notez que le
   chemin est relatif  la racine du disque iso9660), et l'option -c
   est pour le fichier catalogue de dmarrage. L'option -r va mettre
   les propritaires et droits des fichiers appropris (voir la page
   de manuel de mkisofs). Le  .   la fin dit de prendre comme
   source le rpertoire courant.

   Maintenant gravez le CD avec la commande habituelle et le voil
   prt  dmarrer.

  11.4. Crer des CD-ROM Win9x amorables

   La premire chose  faire est de rcuprer une image amorable
   utilise par le CD source. Mais vous ne pouvez pas vous contenter
   de monter le CD sous Linux et d'utiliser dd pour copier les 1440
   premiers kilo-octets vers une disquette ou un fichier boot.img. Au
   lieu de cela, vous devez simplement amorcer votre systme  partir
   du CD-ROM source.

   Lorsque vous dmarrez le CD Win98 vous vous retrouvez  l'invite
   A:, qui est en fait le disque mmoire. Et D: ou Z: o se trouvent
   tous les fichiers d'installation. En utilisant la commande DOS
   diskcopy, copiez l'image A: dans le vrai lecteur de disquettes,
   qui est maintenant B:. La commande suivante permet de le faire :

 diskcopy A: B:

   Cela fonctionne exactement comme dd. Vous pouvez essayer de
   dmarrer  partir de ce disque frachement cr pour tester si le
   processus de dmarrage est similaire  celui du CD source. Ensuite
   faites le dd habituel de cette disquette vers un fichier comme
   boot.img et le reste sera comme d'habitude.

12. Foire Aux Questions (FAQ)

   Q : Je dmarre depuis mes disques d'amorce/racine et rien ne se
   passe. Que faire ?

   Q : Comment fonctionne le disque d'amorce
   Slackware/Debian/RedHat ?

   Q : Comment utiliser des disquettes de haute densit (> 1440 ko) ?
   Comment savoir quelles densits fonctionneront avec mon lecteur de
   disquette ?

   Q : Comment augmenter la taille de mes disques mmoire ?

   Q : Comment faire des CD-ROM amorables ?

   Q : Comment faire des disquettes LS-120 amorables ?

   Q : Comment faire un disque d'amorce avec un gestionnaire pour
   XYZ ?

   Q : Comment mettre  jour le noyau de ma disquette d'amorce ?

   Q : Comment mettre  jour ma disquette racine avec de nouveaux
   fichiers ?

   Q : Comment retirer LILO pour pouvoir redmarrer DOS ?

   Q : Comment puis-je dmarrer si j'ai perdu mon noyau et mon disque
   d'amorce ?

   Q : Comment faire des copies supplmentaires des disquettes
   d'amorce/racine ?

   Q : Comment puis-je dmarrer sans avoir  taper
    ahaxxxx=nn,nn,nn   chaque fois ?

   Q : Au dmarrage, j'obtiens l'erreur  A: cannot execute B .
   Pourquoi ?

   Q : Mon noyau gre les disques mmoires, mais les initialise 
   0 ko

 Q : Je dmarre depuis mes disques d'amorce/racine et rien ne se passe.  
     Que faire ?                                                         
 R : Voir la section prcdente Section 7,  En cas de problme, ou      
     l'agonie de la dfaite .                                           
 Q : Comment fonctionne le disque d'amorce Slackware/Debian/RedHat ?     
 R : Voir la section prcdente Section 10,  La mthode des pros .     
 Q : Comment utiliser des disquettes de haute densit (> 1440 ko) ?      
     Comment savoir quelles densits fonctionneront avec mon lecteur de  
     disquette ?                                                         
 R : Voir dans la section prcdente Section 8.1,  Augmentez la densit 
     du disque  les commentaires de Alain Knaff  ce sujet. C'est la    
     rponse la plus crdible que je connaisse.                          
 Q : Comment augmenter la taille de mes disques mmoire ?                
 R : Cela devrait tre mieux expliqu dans le texte, mais je met une     
     rponse ici pour l'instant.                                         
                                                                         
     D'abord, n'essayez pas d'utiliser rdev ou ramsize pour faire cela,  
     quoi qu'en disent leurs documentations. Le mot disque mmoire ne    
     dtermine plus la taille des disques mmoires.                      
                                                                         
     Ensuite, gardez  l'esprit que les disques mmoires sont            
     actuellement dynamiques ; lorsque vous dfinissez la taille d'un    
     disque mmoire vous n'allouez pas de mmoire, vous prcisez juste   
     de combien il peut grandir. N'ayez pas peur de choisir une taille   
     inutilement trop grande (par exemple 8 ou mme 16 Mo). L'espace RAM 
     n'est pas utilis tant que vous n'en n'avez pas besoin. Vous pouvez 
     dfinir ces limites de plusieurs faons diffrentes :               
                                                                         
      1. Utilisez le paramtre ramdisk_size=NNN en ligne de commande.    
         Vous pouvez soit le rentrer  la main soit utiliser une         
         commande comme append="ramdisk_size=NNN" avec LILO ;            
                                                                         
      2. Si vous utilisez LILO, vous pouvez utiliser une option du noyau 
         comme ramdisk=8192K dans le fichier lilo.conf ;                 
                                                                         
      3. Changez l'option de configuration du noyau                      
         CONFIG_BLK_DEV_RAM_SIZE et recompilez votre noyau.              
 Q : Comment faire des CD-ROM amorables ?                               
 R : Voir la section prcdente Section 11,  Crer des CD-ROM           
     amorables .                                                       
 Q : Comment faire des disquettes LS-120 amorables ?                    
 R : Comme je n'ai pas de lecteur de disquettes LS-120, les informations 
     qui suivent sont un rsum fourni par David Cinege du Linux Router  
     Project.                                                            
                                                                         
     Le LS-120 est un lecteur de disquettes IDE. Il est compatible  la  
     fois avec les disquettes 3,5  et les nouvelles disquettes de       
     120 Mo. Depuis Linux 2.0.31, celles-ci sont compltement            
     supportes. Pour tre capable de dmarrer  partir de ces           
     disquettes, vous devez avoir un BIOS qui autorise le LS-120  tre  
     trait comme lecteur 0 (alors que les lecteurs IDE commencent       
     normalement  80). Si vous n'avez pas le support du BIOS, vous      
     pouvez acheter une petite carte IDE FloppyMAX de Promise            
     Technologies pour combler ce manque.                                
                                                                         
     Le chargeur du noyau n'aime pas le LS-120, et meurt instantanment. 
     Les disques 2m non plus ne l'aiment pas et ne dmarreront pas. Les  
     disquettes de 1,44  1,74 Mo fonctionnent bien. SYSLINUX fonctionne 
     avec les disquettes de 120 Mo  partir de la version 1.32. Vous     
     auriez intrt  partitionner la disquette et utiliser ext2 ou      
     minix, au lieu de SYSLINUX, sauf si vous avez besoin d'une          
     compatibilit MS-DOS.                                               
                                                                         
     LILO fonctionne bien avec des disquettes de 120 Mo. Voici un        
     lilo.conf simple :                                                  
                                                                         
              boot=/dev/hda                                              
              compact                                                    
              disk=/dev/hda bios=0                                       
              install=/floppy/boot.b                                     
              map=/floppy/map                                            
              image=/floppy/linux                                        
              label=Linux                                                
              append="load_ramdisk=1"                                    
              initrd=/floppy/root.bin                                    
              ramdisk=8192                                               
                                                                         
     La ligne disk=/dev/hda bios=0 est la ruse pour dmarrer  partir du 
     LS-120.                                                             
 Q : Comment faire un disque d'amorce avec un gestionnaire pour XYZ ?    
 R : Le plus simple est d'obtenir un noyau Slackware depuis le site      
     miroir de Slackware le plus proche. Les noyaux Slackware sont des   
     noyaux gnriques contenant le plus de gestionnaires pour le plus   
     de priphriques diffrents possibles. Si vous avez un contrleur   
     SCSI ou IDE, vous avez de bonnes chances de trouver un gestionnaire 
     correspondant dans le noyau Slackware.                              
                                                                         
     Allez dans le rpertoire a1 et slectionnez un noyau SCSI ou IDE    
     suivant votre type de contrleur. Vrifiez dans le fichier          
     xxxxkern.cfg correspondant au noyau choisi qu'il contient bien les  
     gestionnaires que vous voulez. Si c'est le cas, le noyau            
     correspondant devrait pouvoir dmarrer votre ordinateur. Rcuprez  
     le fichier xxxxkern.tgz et copiez-le sur votre disquette d'amorce   
     comme indiqu dans la section sur la fabrication des disques        
     d'amorce.                                                           
                                                                         
     Vous devez ensuite vrifier le priphrique racine indiqu dans le  
     noyau, en utilisant la commande :                                   
                                                                         
     rdev zImage                                                         
                                                                         
     rdev vous montrera alors le priphrique actuellement configur     
     dans le noyau. Si ce n'est pas celui que vous voulez, utilisez rdev 
     pour le changer. Par exemple, le noyau que j'ai essay pointait sur 
     /dev/sda2, mais ma partition racine SCSI est sur /dev/sda8. Pour    
     utiliser une disquette racine, vous devrez lancer la commande :     
                                                                         
     rdev zImage /dev/fd0                                                
                                                                         
     Si vous voulez aussi savoir comment configurer un disque racine     
     Slackware, cela dpasse le cadre de ce HOWTO, et je vous suggre    
     donc de consulter le Guide d'installation de Linux ou de rcuprer  
     la distribution Slackware. Voir l'Annexe A, Ressources et pointeurs 
     de ce HOWTO.                                                        
 Q : Comment mettre  jour le noyau de ma disquette d'amorce ?           
 R : Copiez simplement le noyau sur votre disquette d'amorce  l'aide de 
     la commande dd s'il s'agit d'une disquette d'amorce sans systme de 
     fichier, ou par la commande cp pour un disque d'amorce/racine.      
     Reportez-vous  la Section 3.1,  Dmarrage  de ce HOWTO pour les  
     dtails de cration d'un disque d'amorce. Le processus dcrit       
     s'applique aussi bien  la mise  jour d'un noyau sur le disque     
     d'amorce.                                                           
 Q : Comment mettre  jour ma disquette racine avec de nouveaux          
     fichiers ?                                                          
 R : Le plus simple est de recopier le systme de fichiers depuis le     
     disque racine vers le PRIPHRIQUE que vous avez utilis (comme     
     dans la section prcdente Section 4.2,  Cration du systme de    
     fichiers  ). Montez ensuite le systme de fichiers et modifiez-le. 
     Vous devez vous souvenir d'o partait votre systme racine et du    
     nombre de blocs qu'il occupait :                                    
                                                                         
     dd if=/dev/fd0 bs=1k skip=DEBUTRACINE count=BLOCS | \               
             gunzip > PRIPHRIQUE                                       
     mount -t ext2 PRIPHRIQUE /mnt                                     
                                                                         
     Une fois les modifications effectues, recommencez comme            
     prcdemment (dans la Section 4.7,  C'est dans la poche ) et      
     retransfrez le systme racine sur le disque. Vous ne devriez pas   
     avoir  retransfrer le noyau ou  recalculer le mot disque mmoire 
     si vous ne changez pas la position de dpart du nouveau systme de  
     fichiers.                                                           
 Q : Comment retirer LILO pour pouvoir redmarrer DOS ?                  
 R : Ce n'est pas rellement un problme de disque d'amorce, mais il est 
     souvent pos. Sous Linux, vous pouvez lancer :                      
                                                                         
     /sbin/lilo -u                                                       
                                                                         
     Vous pouvez aussi utiliser la commande dd pour copier la sauvegarde 
     effectue par LILO sur le secteur d'amorce. Reportez-vous  la      
     documentation de LILO si vous voulez essayer.                       
                                                                         
     Sous DOS et Windows vous pouvez utiliser la commande DOS :          
                                                                         
     FDISK /MBR                                                          
                                                                         
     MBR signifie Master Boot Record (Enregistrement d'amorce Matre),   
     et il remplace le secteur de dmarrage avec une version propre du   
     DOS, sans modifier la table de partitions. Certains puristes        
     n'apprcient pas cette mthode, mais mme l'auteur de LILO, Werner  
     Almesberger, le suggre. C'est facile et a marche.                 
 Q : Comment puis-je dmarrer si j'ai perdu mon noyau et mon disque      
     d'amorce ?                                                          
 R : Si vous n'avez pas de disque d'amorce sous la main, le plus simple  
     est d'obtenir un noyau Slackware pour votre type de contrleur de   
     disque (IDE ou SCSI) comme dcrit prcdemment dans  Comment faire 
     un disque d'amorce avec un gestionnaire pour XYZ ? . Vous pouvez   
     alors dmarrer votre ordinateur avec ce noyau, puis rparer les     
     dommages ventuels.                                                 
                                                                         
     Le noyau que vous rcuprerez peut ne pas avoir comme priphrique  
     racine ce que vous souhaitez comme disque et partition. Par         
     exemple, le noyau gnrique SCSI de Slackware utilise /dev/sda2     
     comme priphrique racine, alors que ma partition racine Linux se   
     trouve tre /dev/sda8. Dans ce cas il faut changer le priphrique  
     racine.                                                             
                                                                         
     Vous pouvez changer les paramtres de priphrique racine et disque 
     mmoire du noyau mme si vous n'avez que le noyau, et un autre      
     systme d'exploitation tel que DOS.                                 
                                                                         
     rdev modifie les paramtres du noyau en changeant les valeurs  un  
     dcalage fix dans le fichier du noyau, et vous pouvez donc faire   
     de mme si vous avez un diteur hexadcimal disponible sous quelque 
     systme d'exploitation fonctionnant encore -- par exemple, Norton   
     Utilities Disk Editor sous DOS. Vous devez alors vrifier puis      
     ventuellement modifier les valeurs dans le noyau, aux dcalages    
     suivants :                                                          
                                                                         
     HEX     DEC  DESCRIPTION                                            
     0x01F8  504  Octet de poids faible du mot disque mmoire            
     0x01F9  505  Octet de poids fort du mot disque mmoire              
     0x01FC  508  Numro mineur du priphrique racine : voir ci-dessous 
     0X01FD  509  Numro majeur du priphrique racine : voir ci-dessous 
                                                                         
     L'interprtation du mot disque mmoire tait dcrite dans la        
     prcdente Section 6.3,  Mise en place du mot disque mmoire .    
                                                                         
     Les numros majeurs et mineurs de priphrique doivent correspondre 
     au priphrique  partir duquel le systme racine sera mont.       
     Certaines valeurs utiles parmi lesquelles vous pouvez choisir sont  
     :                                                                   
                                                                         
     DEVICE        MAJEUR MINEUR                                         
     /dev/fd0           2      0   1er lecteur de disquette              
     /dev/hda1          3      1   partition 1 sur le 1er disque IDE     
     /dev/sda1          8      1   partition 1 sur le 1er disque SCSI    
     /dev/sda8          8      8   partition 8 sur le 1er disque SCSI    
                                                                         
     Une fois ces valeurs mises en place, vous pouvez crire le fichier  
     sur une disquette en utilisant soit Norton Utilities Disk Editor,   
     soit un programme appel rawrite.exe. Ce programme est inclus dans  
     toutes les distributions. C'est un programme DOS qui crit          
     directement un fichier sur le disque, en commenant  partir du     
     secteur d'amorce, au lieu de l'crire dans le systme de fichiers.  
     Si vous utilisez Norton Utilities, vous devez crire le fichier sur 
     un disque physique en commenant au dbut du disque.                
 Q : Comment faire des copies supplmentaires des disquettes             
     d'amorce/racine ?                                                   
 R : Les supports magntiques se dtriorant avec le temps, vous devriez 
     conserver plusieurs copies de votre disque de secours, au cas o    
     l'original ne serait plus lisible.                                  
                                                                         
     Le plus simple pour copier une disquette quelle qu'elle soit, y     
     compris une disquette d'amorce ou utilitaire, est d'utiliser la     
     commande dd pour copier le contenu de la disquette originale vers   
     un fichier de votre disque dur, puis de rutiliser la mme commande 
     pour recopier le fichier vers une nouvelle disquette. Notez que     
     vous n'avez pas besoin de monter la disquette, et ne devriez pas le 
     faire, car dd utilise l'interface directe du priphrique.          
                                                                         
     Pour copier l'original, entrez la commande :                        
                                                                         
     dd if=NOMPRIPHRIQUE of=NOMFICHIER                                 
                                                                         
     o NOMPRIPHRIQUE est le nom du priphrique du lecteur de         
     disquette et NOMFICHIER le nom du fichier de sortie (sur le disque  
     dur).                                                               
                                                                         
     Ne pas mettre le paramtre count permet  dd de copier la disquette 
     en entier (2880 blocs en haute densit).                            
                                                                         
     Pour recopier le fichier rsultant sur une nouvelle disquette,      
     insrez celle-ci et entrez la commande inverse :                    
                                                                         
     dd if=NOMFICHIER of=NOMPRIPHRIQUE                                 
                                                                         
      noter que la discussion prcdente suppose que vous n'avez qu'un  
     seul lecteur de disquette. Si vous en avez deux du mme type, vous  
     pouvez copier les disquettes  l'aide d'une commande du type :      
                                                                         
     dd if=/dev/fd0 of=/dev/fd1                                          
 Q : Comment puis-je dmarrer sans avoir  taper  ahaxxxx=nn,nn,nn    
     chaque fois ?                                                       
 R : Quand un priphrique disque ne peut pas tre dtect               
     automatiquement, il faut fournir au noyau une chane de paramtres  
     de commande du priphrique, telle que :                            
                                                                         
     aha152x=0x340,11,3,1                                                
                                                                         
     Cette chane peut tre fournie de diffrentes manires grce  LILO 
     :                                                                   
                                                                         
       o En l'entrant sur la ligne de commande  chaque dmarrage du     
         systme avec LILO. C'est assez ennuyeux ;                       
                                                                         
       o En utilisant le mot cl lock de LILO pour lui faire stocker la  
         ligne de commande comme ligne de commande par dfaut, ce qui    
         fera utiliser  LILO les mmes options  chaque dmarrage ;     
                                                                         
       o En utilisant la directive append= dans le fichier de            
         configuration de LILO. Attention  encadrer la chane de        
         paramtres avec des guillemets.                                 
                                                                         
     Par exemple, une ligne de commande utilisant la chane ci-dessus    
     serait :                                                            
                                                                         
     zImage aha152x=0x340,11,3,1 root=/dev/sda1 lock                     
                                                                         
     Cela passerait la chane de paramtres pour le priphrique tout en 
     demandant au noyau d'utiliser /dev/sda1 comme priphrique racine   
     et de sauvegarder la ligne de commande pour la rutiliser pour tous 
     les dmarrages futurs.                                              
                                                                         
     Un exemple de directive APPEND peut tre :                          
                                                                         
     APPEND = "aha152x=0x340,11,3,1"                                     
                                                                         
     Attention, la chane de paramtres ne doit PAS tre entoure de     
     guillemets sur la ligne de commande, mais DOIT l'tre dans la       
     directive APPEND.                                                   
                                                                         
     Notez aussi que pour que la chane de paramtres soit utilise, le  
     noyau doit contenir le gestionnaire pour ce type de disque. Si ce   
     n'est pas le cas, personne n'coutera la chane de paramtres, et   
     vous devrez reconstruire le noyau pour inclure le gestionnaire      
     requis. Pour plus de dtails sur la reconstruction du noyau,        
     rendez-vous dans /usr/src/linux et lisez le README, ou lisez la FAQ 
     Linux et le HOWTO Installation. Vous pouvez aussi obtenir un noyau  
     gnrique pour votre type de disque et l'installer.                 
                                                                         
     Il est fortement recommand aux lecteurs de lire la documentation   
     de LILO avant de faire des expriences d'installation de LILO. Une  
     utilisation imprudente de la directive BOOT peut endommager des     
     partitions.                                                         
 Q : Au dmarrage, j'obtiens l'erreur  A: cannot execute B .           
     Pourquoi ?                                                          
 R : Il existe plusieurs utilitaires qui rfrencent en dur le nom       
     d'autres programmes. a n'arrive pas tout le temps, mais cela peut  
     expliquer pourquoi un excutable peut ne pas tre trouv sur votre  
     systme mme si vous l'y voyez. Vous pouvez vrifier si un          
     programme donn est rfrenc en dur dans un autre en utilisant la  
     commande strings et en passant son rsultat par grep.               
                                                                         
     On trouve comme exemples connus de rfrence en dur :               
                                                                         
       o shutdown dans certaines versions rfrence /etc/reboot en dur,  
         et reboot doit donc tre plac dans le rpertoire /etc ;        
                                                                         
       o init a pos des problmes  au moins une personne, pour qui le  
         noyau ne trouvait pas init.                                     
                                                                         
     Pour corriger ces problmes, vous pouvez soit dplacer les          
     programmes vers le rpertoire attendu, soit changer les fichiers de 
     configuration (par exemple inittab) pour rfrencer le bon          
     rpertoire. En cas de doute, mettez les programmes dans le mme     
     rpertoire que sur votre disque dur, et utilisez les mmes fichiers 
     inittab et /etc/rc.d que sur celui-ci.                              
 Q : Mon noyau gre les disques mmoires, mais les initialise  0 ko     
 R : Quand cela arrive, un message du noyau apparatra au moment du      
     dmarrage, du type :                                                
                                                                         
     Ramdisk driver initialized : 16 ramdisks of 0K size                 
                                                                         
     C'est probablement parce que la taille a t fixe par les          
     paramtres du noyau  0 au moment du dmarrage. Cela peut tre d  
     un paramtre oubli dans le fichier de configuration de LILO :      
                                                                         
     ramdisk= 0                                                          
                                                                         
     Certaines vieilles distributions l'incluaient dans des exemples de  
     fichiers de configuration de LILO, et servaient  craser les       
     paramtres antrieurs du noyau. Si vous trouvez une telle ligne,    
     supprimez-la.                                                       
                                                                         
     Attention, si vous essayez d'utiliser un disque mmoire dont la     
     taille est de 0 ko, le comportement est imprvisible et peut        
     conduire  une panique (panic) du noyau.                            

A. Ressources et pointeurs

   Lorsque vous rcuprez un paquetage, prenez toujours la dernire
   version, sauf si vous avez de bonnes raisons pour ne pas le faire.

1. Disques d'amorce prfabriqus

   Ce sont les sources des disques d'amorce des distributions. Merci
   d'utiliser un site miroir pour rduire la charge sur ces machines.

     o Disques d'amorce Slackware
       [http://distro.ibiblio.org/pub/Linux/distributions/slackware/slackware-current/bootdisks/],
       disques racines
       [http://distro.ibiblio.org/pub/Linux/distributions/slackware/slackware-current/rootdisks/]
       et sites miroirs Slackware
       [http://www.slackware.com/getslack/] ;

     o [4]Disques d'amorce RedHat et sites miroirs Red Hat
       [http://www.redhat.com/mirrors.html] ;

     o [5]Disques d'amorce Debian et [6]sites miroirs Debian.

     o Tlchargements Mandrake
       [http://www.linux-mandrake.com/en/ftp.php3].

   En plus des disques d'amorce des distributions, les images de
   disques de secours suivantes sont disponibles. Sauf prcision
   contraire, elles sont disponibles dans le rpertoire
   http://www.ibiblio.org/pub/Linux/system/recovery/!INDEX.html
   [http://www.ibiblio.org/pub/Linux/system/recovery/!INDEX.html].

     o RIP est un systme de dmarrage/secours qui existe en
       plusieurs versions : une qui va sur une disquette de 1,44 Mo
       et une qui va sur un CD-ROM. Il supporte les grands fichiers
       et plusieurs programmes pour la maintenance des disques et le
       secours. Il supporte ext2, ext3, iso9660, msdos, ntfs,
       reiserfs, ufs et vfat. RIP est disponible sur
       http://www.tux.org/pub/people/kent-robotti/looplinux/rip/index.html
       [http://www.tux.org/pub/people/kent-robotti/looplinux/rip/index.html] ;

     o tomsrtbt, par Tom Oehser, est un disque d'amorce/racine unique
        base de noyau 2.0, avec de nombreux programmes de support et
       fonctionnalits. Il support IDE, SCSI, les bandes, les
       adaptateurs rseaux, PCMCIA et plus encore. Environ 100
       programmes utilitaires et autres outils sont inclus, pour
       rparer et rcuprer les disques. Le paquetage contient aussi
       des scripts pour dsassembler et reconstruire les images afin
       de pouvoir ajouter des complments si ncessaire ;

     o rescue02, par John Comyns, est un disque de secours  base de
       noyau 1.3.84, qui supporte IDE, Adaptec 1542 et NCR53C7,8xx.
       Il est  base de binaires ELF mais contient suffisamment de
       commandes pour tre utilis sur n'importe quel systme.
       Certains modules peuvent tre chargs aprs le dmarrage pour
       d'autres cartes SCSI. Il ne fonctionnera probablement pas sur
       les systmes avec 4 Mo de RAM car il utilise un disque mmoire
       de 3 Mo ;

     o resque_disk-2.0.22, par Sergei Viznyuk, est un disque
       d'amorce/racine complet bas sur le noyau 2.0.22, comprenant
       le support pour IDE, de nombreux contrleurs SCSI, et
       ELF/a.out. Il contient aussi nombre de modules et
       d'utilitaires pour rparer et rcuprer un disque dur ;

     o les images de cramdisk,  base de noyau 2.0.33, disponibles
       pour machines  4 et 8 Mo de mmoire. Elles contiennent
       l'mulation mathmatique et le rseau (PPP et script dialin,
       NE2000, 3C509), ou le support pour lecteur ZIP sur port
       parallle. Ces images de disquettes peuvent dmarrer un 386
       avec 4 Mo de RAM. Le support de MSDOS est inclus, ce qui fait
       que vous pouvez les rcuprer sur le rseau vers une partition
       DOS.

       http://www.ibiblio.org/pub/Linux/system/recovery/images
       [http://www.ibiblio.org/pub/Linux/system/recovery/images]

2. Paquetages de secours

   Plusieurs paquetages de cration de disques de secours existent
   sur www.ibiblio.org. Vous prcisez  ces paquetages un ensemble de
   fichiers  inclure, et le logiciel automatise ( divers degrs) la
   cration d'un disque d'amorce. Voir
   http://www.ibiblio.org/pub/Linux/system/recovery/!INDEX.html
   [http://www.ibiblio.org/pub/Linux/system/recovery/!INDEX.html]
   pour plus d'informations. Vrifiez bien les dates des fichiers :
   certains paquetages n'ont pas t mis  jour depuis des annes et
   ne supportent pas la cration d'un systme racine compress sur
   disque mmoire.  notre connaissance, Yard est le seul paquetage
   le permettant.

3. LILO : le chargeur Linux

   crit par Werner Almesberger. Excellent chargeur d'amorce, dont la
   documentation comprend des informations sur le contenu du secteur
   d'amorce et les premires tapes du processus de dmarrage.

   Ftp depuis [7]ftp://tsx-11.mit.edu/pub/linux/packages/lilo/. Il
   est aussi disponible sur Metalab et ses miroirs.

4. Utilisation du disque mmoire

   La documentation fournie avec le noyau Linux contient une
   excellente description de la manire dont fonctionne le nouveau
   code de disque mmoire. Voir
   /usr/src/linux/Documentation/ramdisk.txt. C'est crit par Paul
   Gortmaker, et cela comprend une section sur la cration d'un
   disque mmoire compress.

5. Le processus de dmarrage de Linux

   Pour plus de dtails sur le processus de dmarrage de Linux, voici
   quelques pointeurs :

     o Le Linux System Administrators' Guide (Guide des
       Administrateurs Systmes Linux) contient une section sur le
       dmarrage. Voir http://www.traduc.org/docs/guides/lecture/sag/
       [http://www.traduc.org/docs/guides/lecture/sag/] ;

     o La  Technical overview  (Description technique succincte) de
       LILO
       http://www.ibiblio.org/pub/Linux/system/boot/lilo/lilo-t-21.ps.gz
       [http://www.ibiblio.org/pub/Linux/system/boot/lilo/lilo-t-21.ps.gz]
       dcrit d'une manire extrmement pousse le processus de
       dmarrage, d'un point de vue technique et bas niveau, jusqu'au
       moment o le noyau est lanc ;

     o Le code source est le guide ultime. Ci-dessous se trouvent
       quelques fichiers du noyau relatifs au processus de dmarrage.
       Si vous avez le code source du noyau Linux, vous pouvez les
       trouver sous /usr/src/linux sur votre machine ; sinon, Shigio
       Yamaguchi <shigio CHEZ wafu POINT netgate POINT net> a un trs
       sympathique navigateur hypertexte pour le noyau 
       http://www.tamacom.com/tour/linux/index.html
       [http://www.tamacom.com/tour/linux/index.html]. Voici quelques
       fichiers correspondants :

            arch/i386/boot/bootsect.S,setup.S

                    Contient le code assembleur pour le secteur
                    d'amorce.

            arch/i386/boot/compressed/misc.c

                    Contient le code pour dcompresser le noyau.

            arch/i386/kernel/

                    Rpertoire contenant le code d'initialisation du
                    noyau. setup.c contient le mot disque mmoire.

            drivers/block/rd.c

                    Contient le gestionnaire de disque mmoire. Les
                    procdures rd_load et rd_load_image chargent des
                    blocs depuis un priphrique vers un disque
                    mmoire. La procdure identify_ramdisk_image
                    dtermine le type de systme de fichiers trouv,
                    et s'il est compress.

B. Codes d'erreur du dmarrage de LILO

   Les questions sur ces erreurs sont poses si souvent sur Usenet
   que nous les incluons ici en tant que service public. Ce rsum
   est extrait de la Documentation Utilisateur de LILO de Werner
   Almesberger, disponible sur
   http://www.ibiblio.org/pub/Linux/system/boot/lilo/lilo-u-21.ps.gz
   [http://www.ibiblio.org/pub/Linux/system/boot/lilo/lilo-u-21.ps.gz].

   Quand LILO se charge, il affiche le mot LILO. Chaque lettre est
   imprime avant ou aprs l'excution d'une action spcifique. Si
   LILO choue  un moment donn, les lettres affiches jusque l
   peuvent tre utilises pour identifier le problme.

   (rien)

           Aucun morceau de LILO n'a t charg. Soit LILO n'est pas
           install, soit la partition sur laquelle son secteur
           d'amorce se trouve n'est pas active.

   L

           Le premier morceau du chargeur d'amorce a t charg et
           dmarr, mais il ne peut charger le second morceau. Les
           codes d'erreur  deux chiffres indiquent le type de
           problme. (Voir galement la section  Codes d'erreur
           disque .) Ce cas indique en gnral une panne de
           priphrique ou une incohrence de gomtrie (c'est  dire
           de mauvais paramtres disques).

   LI

           Le premier morceau du chargeur d'amorce a pu charger le
           second morceau, mais n'a pas russi  l'excuter. Cela
           peut tre caus par une incohrence de gomtrie ou par le
           dplacement de /boot/boot.b sans lancer l'installateur de
           carte.

   LIL

           Le second morceau du chargeur d'amorce a t dmarr, mais
           il ne trouve pas la table de descripteurs dans le fichier
           carte. C'est en gnral d  une panne de priphrique ou
           une incohrence de gomtrie.

   LIL?

           Le second morceau du chargeur d'amorce a t charg  un
           adresse incorrecte. C'est en gnral caus par une subtile
           incohrence de gomtrie, ou par le dplacement de
           /boot/boot.b sans lancer l'installateur de carte.

   LIL-

           La table de descripteurs est corrompue. Cela peut tre d
            une incohrence de gomtrie ou au dplacement de
           /boot/map sans lancer l'installateur.

   LILO

           Tous les lments de LILO ont t correctement chargs.

   Si le BIOS signale une erreur lorsque LILO essaye de charger une
   image d'amorce, le code d'erreur correspondant est affich. Ces
   codes vont de 0x00  0xbb. Reportez-vous au Guide Utilisateur de
   LILO pour leur explication.

C. Exemple de contenu de rpertoires sur un disque racine

   Voici le contenu d'un exemple de systme racine et d'une disquette
   utilitaire.

  /:
  drwx--x--x   2 root     root         1024 Nov  1 15:39 bin
  drwx--x--x   2 root     root         4096 Nov  1 15:39 dev
  drwx--x--x   3 root     root         1024 Nov  1 15:39 etc
  drwx--x--x   4 root     root         1024 Nov  1 15:39 lib
  drwx--x--x   5 root     root         1024 Nov  1 15:39 mnt
  drwx--x--x   2 root     root         1024 Nov  1 15:39 proc
  drwx--x--x   2 root     root         1024 Nov  1 15:39 root
  drwx--x--x   2 root     root         1024 Nov  1 15:39 sbin
  drwx--x--x   2 root     root         1024 Nov  1 15:39 tmp
  drwx--x--x   7 root     root         1024 Nov  1 15:39 usr
  drwx--x--x   5 root     root         1024 Nov  1 15:39 var
  /bin:
  -rwx--x--x   1 root     root        62660 Nov  1 15:39 ash
  -rwx--x--x   1 root     root         9032 Nov  1 15:39 cat
  -rwx--x--x   1 root     root        10276 Nov  1 15:39 chmod
  -rwx--x--x   1 root     root         9592 Nov  1 15:39 chown
  -rwx--x--x   1 root     root        23124 Nov  1 15:39 cp
  -rwx--x--x   1 root     root        23028 Nov  1 15:39 date
  -rwx--x--x   1 root     root        14052 Nov  1 15:39 dd
  -rwx--x--x   1 root     root        14144 Nov  1 15:39 df
  -rwx--x--x   1 root     root        69444 Nov  1 15:39 egrep
  -rwx--x--x   1 root     root          395 Nov  1 15:39 false
  -rwx--x--x   1 root     root        69444 Nov  1 15:39 fgrep
  -rwx--x--x   1 root     root        69444 Nov  1 15:39 grep
  -rwx--x--x   3 root     root        45436 Nov  1 15:39 gunzip
  -rwx--x--x   3 root     root        45436 Nov  1 15:39 gzip
  -rwx--x--x   1 root     root         8008 Nov  1 15:39 hostname
  -rwx--x--x   1 root     root        12736 Nov  1 15:39 ln
  -rws--x--x   1 root     root        15284 Nov  1 15:39 login
  -rwx--x--x   1 root     root        29308 Nov  1 15:39 ls
  -rwx--x--x   1 root     root         8268 Nov  1 15:39 mkdir
  -rwx--x--x   1 root     root         8920 Nov  1 15:39 mknod
  -rwx--x--x   1 root     root        24836 Nov  1 15:39 more
  -rws--x--x   1 root     root        37640 Nov  1 15:39 mount
  -rwx--x--x   1 root     root        12240 Nov  1 15:39 mt
  -rwx--x--x   1 root     root        12932 Nov  1 15:39 mv
  -r-x--x--x   1 root     root        12324 Nov  1 15:39 ps
  -rwx--x--x   1 root     root         5388 Nov  1 15:39 pwd
  -rwx--x--x   1 root     root        10092 Nov  1 15:39 rm
  lrwxrwxrwx   1 root     root            3 Nov  1 15:39 sh -> ash
  -rwx--x--x   1 root     root        25296 Nov  1 15:39 stty
  -rws--x--x   1 root     root        12648 Nov  1 15:39 su
  -rwx--x--x   1 root     root         4444 Nov  1 15:39 sync
  -rwx--x--x   1 root     root        19712 Nov  1 15:39 touch
  -rwx--x--x   1 root     root          395 Nov  1 15:39 true
  -rws--x--x   1 root     root        19084 Nov  1 15:39 umount
  -rwx--x--x   1 root     root         5368 Nov  1 15:39 uname
  -rwx--x--x   3 root     root        45436 Nov  1 15:39 zcat
  /dev:
  lrwxrwxrwx   1 root     root            6 Nov  1 15:39 cdrom -> cdu31a
  brw-rw-r--   1 root     root      15,   0 May  5  1998 cdu31a
  crw-------   1 root     root       4,   0 Nov  1 15:29 console
  crw-rw-rw-   1 root     uucp       5,  64 Sep  9 19:46 cua0
  crw-rw-rw-   1 root     uucp       5,  65 May  5  1998 cua1
  crw-rw-rw-   1 root     uucp       5,  66 May  5  1998 cua2
  crw-rw-rw-   1 root     uucp       5,  67 May  5  1998 cua3
  brw-rw----   1 root     floppy     2,   0 Aug  8 13:54 fd0
  brw-rw----   1 root     floppy     2,  36 Aug  8 13:54 fd0CompaQ
  brw-rw----   1 root     floppy     2,  84 Aug  8 13:55 fd0D1040
  brw-rw----   1 root     floppy     2,  88 Aug  8 13:55 fd0D1120
  brw-rw----   1 root     floppy     2,  12 Aug  8 13:54 fd0D360
  brw-rw----   1 root     floppy     2,  16 Aug  8 13:54 fd0D720
  brw-rw----   1 root     floppy     2, 120 Aug  8 13:55 fd0D800
  brw-rw----   1 root     floppy     2,  32 Aug  8 13:54 fd0E2880
  brw-rw----   1 root     floppy     2, 104 Aug  8 13:55 fd0E3200
  brw-rw----   1 root     floppy     2, 108 Aug  8 13:55 fd0E3520
  brw-rw----   1 root     floppy     2, 112 Aug  8 13:55 fd0E3840
  brw-rw----   1 root     floppy     2,  28 Aug  8 13:54 fd0H1440
  brw-rw----   1 root     floppy     2, 124 Aug  8 13:55 fd0H1600
  brw-rw----   1 root     floppy     2,  44 Aug  8 13:55 fd0H1680
  brw-rw----   1 root     floppy     2,  60 Aug  8 13:55 fd0H1722
  brw-rw----   1 root     floppy     2,  76 Aug  8 13:55 fd0H1743
  brw-rw----   1 root     floppy     2,  96 Aug  8 13:55 fd0H1760
  brw-rw----   1 root     floppy     2, 116 Aug  8 13:55 fd0H1840
  brw-rw----   1 root     floppy     2, 100 Aug  8 13:55 fd0H1920
  lrwxrwxrwx   1 root     root            7 Nov  1 15:39 fd0H360 -> fd0D360
  lrwxrwxrwx   1 root     root            7 Nov  1 15:39 fd0H720 -> fd0D720
  brw-rw----   1 root     floppy     2,  52 Aug  8 13:55 fd0H820
  brw-rw----   1 root     floppy     2,  68 Aug  8 13:55 fd0H830
  brw-rw----   1 root     floppy     2,   4 Aug  8 13:54 fd0d360
  brw-rw----   1 root     floppy     2,   8 Aug  8 13:54 fd0h1200
  brw-rw----   1 root     floppy     2,  40 Aug  8 13:54 fd0h1440
  brw-rw----   1 root     floppy     2,  56 Aug  8 13:55 fd0h1476
  brw-rw----   1 root     floppy     2,  72 Aug  8 13:55 fd0h1494
  brw-rw----   1 root     floppy     2,  92 Aug  8 13:55 fd0h1600
  brw-rw----   1 root     floppy     2,  20 Aug  8 13:54 fd0h360
  brw-rw----   1 root     floppy     2,  48 Aug  8 13:55 fd0h410
  brw-rw----   1 root     floppy     2,  64 Aug  8 13:55 fd0h420
  brw-rw----   1 root     floppy     2,  24 Aug  8 13:54 fd0h720
  brw-rw----   1 root     floppy     2,  80 Aug  8 13:55 fd0h880
  brw-rw----   1 root     disk       3,   0 May  5  1998 hda
  brw-rw----   1 root     disk       3,   1 May  5  1998 hda1
  brw-rw----   1 root     disk       3,   2 May  5  1998 hda2
  brw-rw----   1 root     disk       3,   3 May  5  1998 hda3
  brw-rw----   1 root     disk       3,   4 May  5  1998 hda4
  brw-rw----   1 root     disk       3,   5 May  5  1998 hda5
  brw-rw----   1 root     disk       3,   6 May  5  1998 hda6
  brw-rw----   1 root     disk       3,  64 May  5  1998 hdb
  brw-rw----   1 root     disk       3,  65 May  5  1998 hdb1
  brw-rw----   1 root     disk       3,  66 May  5  1998 hdb2
  brw-rw----   1 root     disk       3,  67 May  5  1998 hdb3
  brw-rw----   1 root     disk       3,  68 May  5  1998 hdb4
  brw-rw----   1 root     disk       3,  69 May  5  1998 hdb5
  brw-rw----   1 root     disk       3,  70 May  5  1998 hdb6
  crw-r-----   1 root     kmem       1,   2 May  5  1998 kmem
  crw-r-----   1 root     kmem       1,   1 May  5  1998 mem
  lrwxrwxrwx   1 root     root           12 Nov  1 15:39 modem -> ttyS1
  lrwxrwxrwx   1 root     root           12 Nov  1 15:39 mouse -> psaux
  crw-rw-rw-   1 root     root       1,   3 May  5  1998 null
  crwxrwxrwx   1 root     root      10,   1 Oct  5 20:22 psaux
  brw-r-----   1 root     disk       1,   1 May  5  1998 ram
  brw-rw----   1 root     disk       1,   0 May  5  1998 ram0
  brw-rw----   1 root     disk       1,   1 May  5  1998 ram1
  brw-rw----   1 root     disk       1,   2 May  5  1998 ram2
  brw-rw----   1 root     disk       1,   3 May  5  1998 ram3
  brw-rw----   1 root     disk       1,   4 May  5  1998 ram4
  brw-rw----   1 root     disk       1,   5 May  5  1998 ram5
  brw-rw----   1 root     disk       1,   6 May  5  1998 ram6
  brw-rw----   1 root     disk       1,   7 May  5  1998 ram7
  brw-rw----   1 root     disk       1,   8 May  5  1998 ram8
  brw-rw----   1 root     disk       1,   9 May  5  1998 ram9
  lrwxrwxrwx   1 root     root            4 Nov  1 15:39 ramdisk -> ram0
  ***  Je n'ai inclus de priphriques que pour les partitions IDE que
  ***  j'utilise. Si vous utilisez du SCSI, prenez les priphriques
  ***  /dev/sdXX  la place.
  crw-------   1 root     root       4,   0 May  5  1998 tty0
  crw-w-----   1 root     tty        4,   1 Nov  1 15:39 tty1
  crw-------   1 root     root       4,   2 Nov  1 15:29 tty2
  crw-------   1 root     root       4,   3 Nov  1 15:29 tty3
  crw-------   1 root     root       4,   4 Nov  1 15:29 tty4
  crw-------   1 root     root       4,   5 Nov  1 15:29 tty5
  crw-------   1 root     root       4,   6 Nov  1 15:29 tty6
  crw-------   1 root     root       4,   7 May  5  1998 tty7
  crw-------   1 root     tty        4,   8 May  5  1998 tty8
  crw-------   1 root     tty        4,   9 May  8 12:57 tty9
  crw-rw-rw-   1 root     root       4,  65 Nov  1 12:17 ttyS1
  crw-rw-rw-   1 root     root       1,   5 May  5  1998 zero
  /etc:
  -rw-------   1 root     root          164 Nov  1 15:39 conf.modules
  -rw-------   1 root     root          668 Nov  1 15:39 fstab
  -rw-------   1 root     root           71 Nov  1 15:39 gettydefs
  -rw-------   1 root     root          389 Nov  1 15:39 group
  -rw-------   1 root     root          413 Nov  1 15:39 inittab
  -rw-------   1 root     root           65 Nov  1 15:39 issue
  -rw-r--r--   1 root     root          746 Nov  1 15:39 ld.so.cache
  -rw-------   1 root     root           32 Nov  1 15:39 motd
  -rw-------   1 root     root          949 Nov  1 15:39 nsswitch.conf
  drwx--x--x   2 root     root         1024 Nov  1 15:39 pam.d
  -rw-------   1 root     root          139 Nov  1 15:39 passwd
  -rw-------   1 root     root          516 Nov  1 15:39 profile
  -rwx--x--x   1 root     root          387 Nov  1 15:39 rc
  -rw-------   1 root     root           55 Nov  1 15:39 shells
  -rw-------   1 root     root          774 Nov  1 15:39 termcap
  -rw-------   1 root     root           78 Nov  1 15:39 ttytype
  lrwxrwxrwx   1 root     root           15 Nov  1 15:39 utmp -> ../var/run/utmp
  lrwxrwxrwx   1 root     root           15 Nov  1 15:39 wtmp -> ../var/log/wtmp
  /etc/pam.d:
  -rw-------   1 root     root          356 Nov  1 15:39 other
  /lib:
  -rwxr-xr-x   1 root     root        45415 Nov  1 15:39 ld-2.0.7.so
  lrwxrwxrwx   1 root     root           11 Nov  1 15:39 ld-linux.so.2 -> ld-2.0.7.so
  -rwxr-xr-x   1 root     root       731548 Nov  1 15:39 libc-2.0.7.so
  lrwxrwxrwx   1 root     root           13 Nov  1 15:39 libc.so.6 -> libc-2.0.7.so
  lrwxrwxrwx   1 root     root           17 Nov  1 15:39 libcom_err.so.2 -> libcom_err.so.2.0
  -rwxr-xr-x   1 root     root         6209 Nov  1 15:39 libcom_err.so.2.0
  -rwxr-xr-x   1 root     root       153881 Nov  1 15:39 libcrypt-2.0.7.so
  lrwxrwxrwx   1 root     root           17 Nov  1 15:39 libcrypt.so.1 -> libcrypt-2.0.7.so
  -rwxr-xr-x   1 root     root        12962 Nov  1 15:39 libdl-2.0.7.so
  lrwxrwxrwx   1 root     root           14 Nov  1 15:39 libdl.so.2 -> libdl-2.0.7.so
  lrwxrwxrwx   1 root     root           16 Nov  1 15:39 libext2fs.so.2 -> libext2fs.so.2.4
  -rwxr-xr-x   1 root     root        81382 Nov  1 15:39 libext2fs.so.2.4
  -rwxr-xr-x   1 root     root        25222 Nov  1 15:39 libnsl-2.0.7.so
  lrwxrwxrwx   1 root     root           15 Nov  1 15:39 libnsl.so.1 -> libnsl-2.0.7.so
  -rwx--x--x   1 root     root       178336 Nov  1 15:39 libnss_files-2.0.7.so
  lrwxrwxrwx   1 root     root           21 Nov  1 15:39 libnss_files.so.1 -> libnss_files-2.0.7.so
  lrwxrwxrwx   1 root     root           14 Nov  1 15:39 libpam.so.0 -> libpam.so.0.64
  -rwxr-xr-x   1 root     root        26906 Nov  1 15:39 libpam.so.0.64
  lrwxrwxrwx   1 root     root           19 Nov  1 15:39 libpam_misc.so.0 -> libpam_misc.so.0.64
  -rwxr-xr-x   1 root     root         7086 Nov  1 15:39 libpam_misc.so.0.64
  -r-xr-xr-x   1 root     root        35615 Nov  1 15:39 libproc.so.1.2.6
  lrwxrwxrwx   1 root     root           15 Nov  1 15:39 libpwdb.so.0 -> libpwdb.so.0.54
  -rw-r-r---   1 root     root       121899 Nov  1 15:39 libpwdb.so.0.54
  lrwxrwxrwx   1 root     root           19 Nov  1 15:39 libtermcap.so.2 -> libtermcap.so.2.0.8
  -rwxr-xr-x   1 root     root        12041 Nov  1 15:39 libtermcap.so.2.0.8
  -rwxr-xr-x   1 root     root        12874 Nov  1 15:39 libutil-2.0.7.so
  lrwxrwxrwx   1 root     root           16 Nov  1 15:39 libutil.so.1 -> libutil-2.0.7.so
  lrwxrwxrwx   1 root     root           14 Nov  1 15:39 libuuid.so.1 -> libuuid.so.1.1
  -rwxr-xr-x   1 root     root         8039 Nov  1 15:39 libuuid.so.1.1
  drwx--x--x   3 root     root         1024 Nov  1 15:39 modules
  drwx--x--x   2 root     root         1024 Nov  1 15:39 security
  /lib/modules:
  drwx--x--x   4 root     root         1024 Nov  1 15:39 2.0.35
  /lib/modules/2.0.35:
  drwx--x--x   2 root     root         1024 Nov  1 15:39 block
  drwx--x--x   2 root     root         1024 Nov  1 15:39 cdrom
  /lib/modules/2.0.35/block:
  drwx------   1 root     root         7156 Nov  1 15:39 loop.o
  /lib/modules/2.0.35/cdrom:
  drwx------   1 root     root        24108 Nov  1 15:39 cdu31a.o
  /lib/security:
  -rwx--x--x   1 root     root         8771 Nov  1 15:39 pam_permit.so
  ***  Rpertoires bases pour les montages
  /mnt:
  drwx--x--x   2 root     root         1024 Nov  1 15:39 cdrom
  drwx--x--x   2 root     root         1024 Nov  1 15:39 floppy
  /proc:
  /root:
  -rw-------   1 root     root          176 Nov  1 15:39 .bashrc
  -rw-------   1 root     root          182 Nov  1 15:39 .cshrc
  -rwx--x--x   1 root     root          455 Nov  1 15:39 .profile
  -rw-------   1 root     root         4014 Nov  1 15:39 .tcshrc
  /sbin:
  -rwx--x--x   1 root     root        23976 Nov  1 15:39 depmod
  -rwx--x--x   2 root     root       274600 Nov  1 15:39 e2fsck
  -rwx--x--x   1 root     root        41268 Nov  1 15:39 fdisk
  -rwx--x--x   1 root     root         9396 Nov  1 15:39 fsck
  -rwx--x--x   2 root     root       274600 Nov  1 15:39 fsck.ext2
  -rwx--x--x   1 root     root        29556 Nov  1 15:39 getty
  -rwx--x--x   1 root     root         6620 Nov  1 15:39 halt
  -rwx--x--x   1 root     root        23116 Nov  1 15:39 init
  -rwx--x--x   1 root     root        25612 Nov  1 15:39 insmod
  -rwx--x--x   1 root     root        10368 Nov  1 15:39 kerneld
  -rwx--x--x   1 root     root       110400 Nov  1 15:39 ldconfig
  -rwx--x--x   1 root     root         6108 Nov  1 15:39 lsmod
  -rwx--x--x   2 root     root        17400 Nov  1 15:39 mke2fs
  -rwx--x--x   1 root     root         4072 Nov  1 15:39 mkfs
  -rwx--x--x   2 root     root        17400 Nov  1 15:39 mkfs.ext2
  -rwx--x--x   1 root     root         5664 Nov  1 15:39 mkswap
  -rwx--x--x   1 root     root        22032 Nov  1 15:39 modprobe
  lrwxrwxrwx   1 root     root            4 Nov  1 15:39 reboot -> halt
  -rwx--x--x   1 root     root         7492 Nov  1 15:39 rmmod
  -rwx--x--x   1 root     root        12932 Nov  1 15:39 shutdown
  lrwxrwxrwx   1 root     root            6 Nov  1 15:39 swapoff -> swapon
  -rwx--x--x   1 root     root         5124 Nov  1 15:39 swapon
  lrwxrwxrwx   1 root     root            4 Nov  1 15:39 telinit -> init
  -rwx--x--x   1 root     root         6944 Nov  1 15:39 update
  /tmp:
  /usr:
  drwx--x--x   2 root     root         1024 Nov  1 15:39 bin
  drwx--x--x   2 root     root         1024 Nov  1 15:39 lib
  drwx--x--x   3 root     root         1024 Nov  1 15:39 man
  drwx--x--x   2 root     root         1024 Nov  1 15:39 sbin
  drwx--x--x   3 root     root         1024 Nov  1 15:39 share
  lrwxrwxrwx   1 root     root           10 Nov  1 15:39 tmp -> ../var/tmp
  /usr/bin:
  -rwx--x--x   1 root     root        37164 Nov  1 15:39 afio
  -rwx--x--x   1 root     root         5044 Nov  1 15:39 chroot
  -rwx--x--x   1 root     root        10656 Nov  1 15:39 cut
  -rwx--x--x   1 root     root        63652 Nov  1 15:39 diff
  -rwx--x--x   1 root     root        12972 Nov  1 15:39 du
  -rwx--x--x   1 root     root        56552 Nov  1 15:39 find
  -r-x--x--x   1 root     root         6280 Nov  1 15:39 free
  -rwx--x--x   1 root     root         7680 Nov  1 15:39 head
  -rwx--x--x   1 root     root         8504 Nov  1 15:39 id
  -r-sr-xr-x   1 root     bin          4200 Nov  1 15:39 passwd
  -rwx--x--x   1 root     root        14856 Nov  1 15:39 tail
  -rwx--x--x   1 root     root        19008 Nov  1 15:39 tr
  -rwx--x--x   1 root     root         7160 Nov  1 15:39 wc
  -rwx--x--x   1 root     root         4412 Nov  1 15:39 whoami
  /usr/lib:
  lrwxrwxrwx   1 root     root           17 Nov  1 15:39 libncurses.so.4 -> libncurses.so.4.2
  -rw-r-r---   1 root     root       260474 Nov  1 15:39 libncurses.so.4.2
  /usr/sbin:
  -r-x--x--x   1 root     root        13684 Nov  1 15:39 fuser
  -rwx--x--x   1 root     root         3876 Nov  1 15:39 mklost+found
  /usr/share:
  drwx--x--x   4 root     root         1024 Nov  1 15:39 terminfo
  /usr/share/terminfo:
  drwx--x--x   2 root     root         1024 Nov  1 15:39 l
  drwx--x--x   2 root     root         1024 Nov  1 15:39 v
  /usr/share/terminfo/l:
  -rw-------   1 root     root         1552 Nov  1 15:39 linux
  -rw-------   1 root     root         1516 Nov  1 15:39 linux-m
  -rw-------   1 root     root         1583 Nov  1 15:39 linux-nic
  /usr/share/terminfo/v:
  -rw-------   2 root     root         1143 Nov  1 15:39 vt100
  -rw-------   2 root     root         1143 Nov  1 15:39 vt100-am
  /var:
  drwx--x--x   2 root     root         1024 Nov  1 15:39 log
  drwx--x--x   2 root     root         1024 Nov  1 15:39 run
  drwx--x--x   2 root     root         1024 Nov  1 15:39 tmp
  /var/log:
  -rw-------   1 root     root            0 Nov  1 15:39 wtmp
  /var/run:
  -rw-------   1 root     root            0 Nov  1 15:39 utmp
  /var/tmp:

D. Exemple de contenu des rpertoires d'un disque utilitaire

  total 579
  -rwxr-xr-x   1 root     root        42333 Jul 28 19:05 cpio
  -rwxr-xr-x   1 root     root        32844 Aug 28 19:50 debugfs
  -rwxr-xr-x   1 root     root       103560 Jul 29 21:31 elvis
  -rwxr-xr-x   1 root     root        29536 Jul 28 19:04 fdisk
  -rw-r-r---   1 root     root       128254 Jul 28 19:03 ftape.o
  -rwxr-xr-x   1 root     root        17564 Jul 25 03:21 ftmt
  -rwxr-xr-x   1 root     root        64161 Jul 29 20:47 grep
  -rwxr-xr-x   1 root     root        45309 Jul 29 20:48 gzip
  -rwxr-xr-x   1 root     root        23560 Jul 28 19:04 insmod
  -rwxr-xr-x   1 root     root          118 Jul 28 19:04 lsmod
  lrwxrwxrwx   1 root     root            5 Jul 28 19:04 mt -> mt-st
  -rwxr-xr-x   1 root     root         9573 Jul 28 19:03 mt-st
  lrwxrwxrwx   1 root     root            6 Jul 28 19:05 rmmod -> insmod
  -rwxr-xr-x   1 root     root       104085 Jul 28 19:05 tar
  lrwxrwxrwx   1 root     root            5 Jul 29 21:35 vi -> elvis

   --------------

   ^[1] La structure de rpertoires prsente ici concerne une
   disquette racine seule. Les vrais systmes Linux obissent  un
   ensemble de rgles bien plus complexes et contrles, appel le
   Filesystem Hierarchy Standard [http://www.pathname.com/fhs/2.2/],
   pour dterminer o les fichiers doivent aller.

