
Guide pratique des disquettes d'amorage

_Version franaise du Bootdisk HOWTO_

_Auteur : _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 A.1.
     _________________________________________________________________

   _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

        A.1. Disques d'amorce prfabriqus
        A.2. Paquetages de secours
        A.3. LILO : le chargeur Linux
        A.4. Utilisation du disque mmoire
        A.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

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 (et sa traduction
   franaise
   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/) 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 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. 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. _

   _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. 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.

   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 :
     * I/O : E/S, entres/sorties.
     * backup : archive.
     * boot loader : chargeur, lanceur.
     * boot : amorce, amorcer, dmarrage, dmarrer.
     * boot/root disk : disquette d'amorce/racine.
     * dynamic library : bibliothque partage.
     * filesystem : systme de fichiers, systme.
     * inode : i-noeud.
     * library : bibliothque.
     * loopback device : priphrique de boucle.
     * package : paquetage.
     * path : chemin.
     * ramdisk : disque virtuel en mmoire, disque mmoire.
     * root device : priphrique racine.
     * root : racine.
     * runlevel : niveau d'excution.
     * swap : pagination.

2. Introduction

   Les disques d'amorce Linux sont utiles dans nombre de situations,
   telles que :
     * Tester un nouveau noyau ;
     * 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 ;
     * 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 ;
     * Mettre  jour des fichiers critiques du systme, tels que libc.so.

   Les disques d'amorce peuvent tre obtenus de diffrentes manires :
     * Utiliser ceux d'une distribution telle que la Slackware. Cela vous
       permettra au moins de dmarrer ;
     * Utiliser un paquetage de cration de disques de secours, prvus
       pour les cas d'urgence ;
     * 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 A.1 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 :
     * soit le code d'un chargeur tel que _LILO_, qui trouve le noyau, le
       charge et l'excute pour raliser le dmarrage proprement dit,
     * 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 :
     * Lancer _fsck_ sur tous les disques ;
     * Charger les _modules_ ncessaires du noyau ;
     * Lancer la pagination ;
     * Initialiser le rseau ;
     * 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.

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 :
     * La structure de base des fichiers ;
     * Un ensemble minimum de rpertoires : /dev, /proc, /bin, /etc,
       /lib, /usr, /tmp ;
     * Un ensemble d'utilitaires de base : _sh_, _ls_, _cp_, _mv_, et
       ctera ;
     * Un ensemble minimum de fichiers de configuration : _rc_, inittab,
       fstab, et ctera ;
     * Des priphriques : /dev/hd*, /dev/tty*, /dev/fd0, et ctera ;
     * 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 :
     * 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 ;
     * 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 :
     * 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).
     * Une partition de disque dur inutilise et assez grande (plusieurs
       mga-octets) est aussi une bonne solution.
     * 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
       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-noeuds que par dfaut ; -i 2000 est une bonne valeur qui vous
   vitera de tomber  court d'i-noeuds. Vous pouvez sinon conomiser des
   i-noeuds en supprimant pas mal de fichiers /dev/ inutiles. _mke2fs_
   cre par dfaut 360 i-noeuds sur une disquette de 1,44 Mo. Je trouve
   120 i-noeuds 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-noeuds par dfaut, mais vous pourrez quand mme vouloir
   rduire le nombre de fichiers ou augmenter le nombre d'i-noeuds.

   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] :
     * /dev : Priphriques, ncessaires aux E/S ;
     * /proc : Rpertoire de base ncessaire au systme de fichiers
       proc ;
     * /etc : Fichiers de configuration du systme ;
     * /sbin : Excutables systmes critiques ;
     * /bin : Excutables de base considrs comme partie intgrante du
       systme ;
     * /lib : Bibliothques partages ncessaires  l'excution des
       programmes ;
     * /mnt : Un point de montage pour la maintenance des autres
       disques ;
     * /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-noeud est ncessaire pour chaque fichier de
   priphrique, et que les _i-noeuds_ 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-noeud disponible. Un _df -i_
   affichera l'utilisation des i-noeuds.

   _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.
     * 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.
     * 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 . 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 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, stri
pped
/lib/libc-2.1.1.so: ELF 32-bit LSB shared object, Intel 80386, version 1, not s
tripped

   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 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.

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-noeuds 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-noeuds, 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.

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.

6.4. Transfert du systme racine

   La dernire tape concerne le transfert du systme racine.
     * 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

     * 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 :
     * 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 ;
     * 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.
     * 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 ;
     * Vrifiez qu'il y a un /lib/libc.so avec le mme lien que celui
       prsent dans le rpertoire /lib de votre disque dur ;
     * 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 ;
     * Vrifiez que vous avez inclus les fichiers /dev/tty1, /dev/null,
       /dev/zero, /dev/mem, /dev/ram et /dev/kmem ;
     * 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_ ;
     * 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. 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/.
   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 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 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
   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. 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.
   _Q :. _

   Comment fonctionne le disque d'amorce Slackware/Debian/RedHat ?
   _R :. _

   Voir la section prcdente Section 10.
   _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 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.
   _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 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 ). 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) 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.

   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_ :
     * En l'entrant sur la ligne de commande  chaque dmarrage du
       systme avec _LILO_. C'est assez ennuyeux ;
     * 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 ;
     * 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 :
     * _shutdown_ dans certaines versions rfrence /etc/reboot en dur,
       et _reboot_ doit donc tre plac dans le rpertoire /etc ;
     * _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.

Annexe 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.

A.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._
     * Disques d'amorce Slackware, disques racines et sites miroirs
       Slackware  ;
     * Disques d'amorce RedHat et sites miroirs Red Hat ;
     * Disques d'amorce Debian et sites miroirs Debian.
     * Tlchargements Mandrake.

   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.
     * 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.htm
       l ;
     * 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 ;
     * 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 ;
     * 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 ;
     * 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

A.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 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.

A.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 ftp://tsx-11.mit.edu/pub/linux/packages/lilo/. Il est aussi
   disponible sur Metalab et ses miroirs.

A.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.

A.5. Le processus de dmarrage de Linux

   Pour plus de dtails sur le processus de dmarrage de Linux, voici
   quelques pointeurs :
     * 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/ ;
     * La  Technical overview  (Description technique succincte) de
       _LILO_
       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 ;
     * 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. 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.

Annexe 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.

   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.

Annexe 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 -> libc
om_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 -> libcry
pt-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 -> libex
t2fs.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 -> li
bnss_files-2.0.7.so
 lrwxrwxrwx   1 root     root           14 Nov  1 15:39 libpam.so.0 -> libpam.s
o.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 -> lib
pam_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 -> libt
ermcap.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 -> libn
curses.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:

Annexe 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, pour dterminer o les fichiers doivent aller.
