Provided by: manpages-fr_3.32d0.2p4-1_all bug

NOM

       initrd - Disque RAM initialisé au démarrage du système

CONFIGURATION

       /dev/initrd  est  un périphérique bloc en lecture seule, dont le numéro
       majeur est 1, et le mineur 250. Typiquement, /dev/initrd  appartient  à
       root.disk   et   dispose  du  mode  0400  (lecture  uniquement  par  le
       superutilisateur). Si votre système Linux n'a  pas  encore  de  fichier
       /dev/initrd,   vous   pouvez   le  créer  en  utilisant  les  commandes
       suivantes :
               mknod -m 400 /dev/initrd b 1 250
               chown root:disk /dev/initrd

       Les options « disque RAM »  et  « Disque  RAM  initial »  (par  exemple
       CONFIG_BLK_DEV_RAM=y   et   CONFIG_BLK_DEV_INITRD=y   )   doivent  être
       compilées  directement  dans  le  noyau  Linux  pour  pouvoir  utiliser
       /dev/initrd.  Lors de l'utilisation de /dev/initrd, le pilote de disque
       RAM ne peut pas être chargé en tant que module.

DESCRIPTION

       Le fichier spécial /dev/initrd est  un  périphérique  bloc  en  lecture
       seule.  Ce  périphérique  est  un  disque RAM qui est initialisé par le
       chargeur du système avant le démarrage du noyau. Ainsi, le  noyau  peut
       utiliser le contenu de /dev/initrd pour un démarrage en deux phases.

       Durant  la  première  phase,  le  noyau  démarre  et monte la racine du
       système de fichiers depuis le contenu de /dev/initrd  (par  exemple  un
       disque  RAM  initialisé  par le chargeur). Durant la seconde phase, les
       pilotes de périphériques supplémentaires et  les  autres  modules  sont
       chargés  depuis  le périphérique racine initial. Après le chargement de
       ces modules supplémentaires, une nouvelle racine du système de fichiers
       est montée à partir d'un périphérique différent.

   Démarrage du système
       Quand il démarre en utilisant initrd, le système procède comme suit :

       1. Le  chargeur  place  une  copie  du  noyau  en mémoire, ainsi que le
          contenu de /dev/initrd.

       2. Au démarrage du noyau, celui-ci décompresse et recopie le contenu du
          périphérique /dev/initrd sur le disque virtuel /dev/ram0 puis libère
          la mémoire utilisée par /dev/initrd.

       3. Le noyau monte en lecture/écriture le périphérique  /dev/ram0  comme
          racine initiale du système de fichiers.

       4. Si la racine désirée pour le système de fichiers est également celle
          que l'on vient de monter (par exemple  /dev/ram0),  le  noyau  passe
          directement à la dernière étape du démarrage.

       5. Si  un  fichier  exécutable  /linuxrc  est présent sur le système de
          fichiers racine initial, ce fichier est exécuté avec  l'uid  0.  (Le
          fichier  /linuxrc doit avoir la permission d'exécution. Ce peut être
          n'importe quel exécutable, y compris un shell-script.)

       6. Si /linuxrc n'est pas exécuté ou lorsqu'il  se  termine,  la  racine
          normale  du  système de fichiers est montée. (Si /linuxrc se termine
          en ayant monté d'autres systèmes de fichiers sur la racine initiale,
          alors  le  comportement  du  noyau  est  INDÉTERMINÉ.  Consultez  le
          paragraphe NOTES pour le comportement effectif.)

       7. Si le système de fichiers  racine  normal  dispose  d'un  répertoire
          /initrd,  le  périphérique  /dev/ram0  est  déplacé  depuis  /  vers
          /initrd.  Sinon,  si  le  répertoire  /initrd   n'existe   pas,   le
          périphérique  /dev/ram0  est démonté. (Lors du déplacement de / vers
          /initrd, /dev/ram0 n'est pas démonté, aussi  des  processus  peuvent
          continuer  à  s'exécuter  depuis  ce  périphérique. Si le répertoire
          /initrd n'existe pas sur le système de fichiers normal,  et  si  des
          processus  continuent à s'exécuter depuis /dev/ram0 lorsque /linuxrc
          se termine, le comportement du noyau est INDÉTERMINÉ.  Consultez  le
          paragraphe NOTES pour le comportement effectif.)

       8. La  séquence  de  démarrage  habituelle  (par exemple, invocation de
          /sbin/init) est  alors  effectuée  depuis  le  système  de  fichiers
          normal.

   Options
       Lorsque   l'on  utilise  initrd,  les  options  suivantes  du  chargeur
       affectent les opérations de démarrage du noyau :

       initrd=nom_de_fichier
              Indique le fichier à charger comme contenu de /dev/initrd.  Pour
              LOADLIN,  il s'agit d'une option en ligne de commande. Pour LILO
              il faut utiliser cette commande dans le fichier de configuration
              /etc/lilo.config.  Le  fichier  mentionné avec cette option sera
              typiquement une image compressée  par  gzip(1),  du  système  de
              fichiers.

       noinitrd
              Cette option de démarrage désactive le démarrage en deux étapes.
              Le  noyau  se  comporte  comme  si   /dev/initrd   n'était   pas
              initialisé.  Avec  cette  option, le contenu de /dev/initrd, une
              fois chargé en mémoire sera préservé. Ce contenu peut alors être
              n'importe  quelle  donnée,  et  pas  uniquement  une  image d'un
              système de fichiers. Néanmoins, le périphérique /dev/initrd  est
              en  lecture seule, et ne peut être lu qu'une seule fois après le
              démarrage du système.

       root=nom_de_priphrique
              Indique le nom du périphérique à utiliser comme  racine  normale
              du  système de fichiers. Pour LOADLIN, il s'agit d'une option en
              ligne de commande. Pour LILO il  faut  utiliser  cette  commande
              dans   le   fichier   de   configuration   /etc/lilo.config.  Le
              périphérique indiqué ici  doit  être  montable  et  contenir  un
              système de fichiers convenable.

   Modification de la racine du système de fichiers
       Par  défaut, les paramètres du noyau (par exemple, ceux configurés avec
       rdev(8) ou compilés dans le  noyau)  ou  les  options  du  chargeur  de
       démarrage  sont utilisés pour les systèmes de fichiers racines normaux.
       Pour accéder à un système de fichiers racine monté  par  NFS,  il  faut
       utiliser  les options de démarrage nfs_root_name et nfs_root_addrs pour
       la configuration NFS. Pour  plus  d'informations  sur  les  racines  de
       systèmes   de   fichiers   montées   par   NFS,  consultez  le  fichier
       Documentation/filesystems/nfsroot.txt de  la  documentation  du  noyau.
       Pour  plus  d'informations sur la configuration de la racine du système
       de fichiers, consultez également les documentations de LILO et LOADLIN.

       On peut aussi faire effectuer la modification de la racine normale  par
       l'exécutable  /linuxrc.  Pour  cela,  le système /proc doit être monté.
       Après avoir monté /proc, /linuxrc modifie  le  périphérique  racine  en
       écrivant  directement dans les fichiers /proc/sys/kernel/real-root-dev,
       /proc/sys/kernel/nfs-root-name et /proc/sys/kernel/nfs-root-addrs. Pour
       un périphérique physique monté à la racine, le changement s'effectue en
       écrivant le numéro de périphérique du nouveau système de fichiers  dans
       /proc/sys/kernel/real-root-dev.  Pour  un  système  monté  par  NFS, la
       modification s'effectue en  écrivant  la  configuration  NFS  dans  les
       fichiers                /proc/sys/kernel/nfs-root-name               et
       /proc/sys/kernel/nfs-root-addrs puis en inscrivant 0xff  (par  exemple,
       le    numéro    de    pseudo-périphérique    NFS)   dans   le   fichier
       /proc/sys/kernel/real-root-dev.  Par  exemple,  la  ligne  de  commande
       suivante basculerait le périphérique racine normal sur /dev/hdb1:

           echo 0x365 >/proc/sys/kernel/real-root-dev

       La  ligne  suivante  modifierait  le  système  racine  normal  vers  un
       répertoire NFS /var/nfsroot  d'un  serveur  local  ayant  l'adresse  IP
       193.8.232.7,  ceci  sur  un  système  nommé  « idefix »,  se trouvant à
       l'adresse 193.8.232.2 :

           echo /var/nfsroot >/proc/sys/kernel/nfs-root-name
           echo 193.8.232.2:193.8.232.7::255.255.255.0:idefix \
               >/proc/sys/kernel/nfs-root-addrs
           echo 255 >/proc/sys/kernel/real-root-dev

       Note : l'utilisation de /proc/sys/kernel/real-root-dev pour modifier le
       système   de   fichiers  racine  est  obsolète.  Consultez  le  fichier
       Documentation/initrd.txt  du   noyau   ainsi   que   pivot_root(2)   et
       pivot_root(8)  pour  des  informations  sur les méthodes actuelles pour
       changer de système de fichiers racine.

   Utilisation
       L'intérêt  principal  d'implémenter  initrd  était  de  permettre   une
       configuration modulaire du noyau lors de l'installation du système.

       Un scénario possible d'installation est le suivant :

       1. Le  programme de chargement démarre depuis une disquette ou un autre
          support avec un  noyau  minimal  (par  exemple,  les  supports  pour
          /dev/ram,  /dev/initrd  et  le  système  de  fichiers ext2), puis il
          charge /dev/initrd depuis une  version  compressée  avec  gzip  d'un
          système de fichiers initial.

       2. L'exécutable  /linuxrc  détermine  ce  qui  est  nécessaire pour (1)
          monter le système de  fichiers  normal  (pilotes  de  périphériques,
          systèmes  de  fichiers)  et  (2)  utiliser le support fourni pour la
          distribution (par exemple, CD-ROM, réseau, bande  magnétique,  ...).
          Cette  étape  peut  être effectuée en interrogeant l'utilisateur, en
          effectuant des tests de détection automatique ou  en  utilisant  une
          approche hybride entre les deux.

       3. L'exécutable  /linuxrc  charge  les  modules  nécessaires  depuis le
          système de fichiers initial.

       4. L'exécutable /linuxrc crée et remplit le système de fichiers racine.
          (À   cet   instant,   le   système  de  fichiers  racine  n'est  pas
          nécessairement complet).

       5. L'exécutable  /linuxrc   configure   /proc/sys/kernel/real-root-dev,
          démonte  /proc, le système de fichiers normal, et tout autre système
          de fichiers qu'il a éventuellement monté, et se termine.

       6. Le noyau monte alors le système de fichiers racine normal.

       7. Maintenant que le système de fichiers est  accessible,  le  chargeur
          peut être installé.

       8. Le chargeur est configuré pour installer dans /dev/initrd un système
          de fichiers disposant de l'ensemble des modules qui ont été utilisés
          pour  démarrer  le  système.  (par  exemple,  un  périphérique comme
          /dev/ram0 peut être modifié, puis démonté, et finalement l'image est
          recopiée depuis /dev/ram0 vers un fichier.)

       9. Le   système  est  maintenant  prêt  à  redémarrer,  et  les  tâches
          supplémentaires d'installation peuvent être effectuées.

       Le principal avantage offert par /dev/initrd dans ce  scénario  est  de
       permettre   de   réutiliser   les  données  de  configuration  lors  du
       fonctionnement normal du noyau, sans nécessiter  de  choisir  un  noyau
       initial,  d'utiliser  un gros noyau générique ou de recompiler le noyau
       après l'installation.

       Un second scénario  sert  à  l'installation  de  Linux  sur  un  réseau
       constitué de machines différentes. Dans ce cas, il peut être préférable
       de n'utiliser qu'un nombre minimal de noyaux (voire  un  seul  dans  le
       meilleur des cas) et de garder la quantité d'informations spécifiques à
       un système la plus faible possible. Ainsi, on crée  un  fichier  commun
       contenant  tous les modules nécessaires, et seul le fichier /linuxrc ou
       les fichiers qu'il lance changent suivant les machines.

       Un troisième scénario permet de disposer de  disques  de  secours  plus
       commodes.  Les  informations comme l'emplacement du système de fichiers
       racine ne sont pas indispensables lors du démarrage. Le système  chargé
       depuis  /dev/initrd  peut  ainsi  être  interactif  et/ou effectuer une
       détection  automatique  suivie  d'une  vérification  de  cohérence   du
       système.

       Le  dernier  usage mais non le moindre concerne l'utilisation de initrd
       pour faciliter l'installation de  distribution  Linux  par  CD-ROM.  La
       distribution peut utiliser directement LOADLIN pour charger /dev/initrd
       depuis  le  CD-ROM  sans  avoir  besoin  de  créer  de  disquettes.  La
       distribution  peut  également  utiliser une disquette de démarrage avec
       LILO puis charger un disque  RAM  par  l'intermédiaire  de  /dev/initrd
       depuis le CD-ROM.

FICHIERS

       /dev/initrd
       /dev/ram0
       /linuxrc
       /initrd

NOTES

       1. Avec  le  noyau actuel, tout système de fichiers reste monté lors du
          déplacement de /dev/ram0 depuis / vers /initrd, et continue  à  être
          accessible. Néanmoins, les entrées de /proc/mounts ne sont pas mises
          à jour.

       2. Avec le noyau actuel, si le répertoire /initrd n'existe  pas,  alors
          /dev/ram0  ne sera pas complètement démonté si /dev/ram0 est utilisé
          par un processus ou si un système de fichiers a été monté dessus. Si
          /dev/ram0  n'est  pas  complètement démonté, alors /dev/ram0 restera
          chargé en mémoire.

       3. Les utilisateurs de /dev/initrd  ne  doivent  pas  compter  sur  les
          comportements   décrits   dans   les  deux  notes  précédentes.  Ces
          comportements peuvent changer dans les  versions  futures  du  noyau
          Linux.

VOIR AUSSI

       chown(1), mknod(1), ram(4), freeramdisk(8), rdev(8)

       Le  fichier  initrd.txt  dans les sources du noyau, la documentation de
       LILO, celle de LOADLIN, et la documentation SYSLINUX.

COLOPHON

       Cette page fait partie de  la  publication  3.32  du  projet  man-pages
       Linux.  Une description du projet et des instructions pour signaler des
       anomalies      peuvent      être       trouvées       à       l'adresse
       <URL:http://www.kernel.org/doc/man-pages/>.

TRADUCTION

       Depuis  2010,  cette  traduction est maintenue à l'aide de l'outil po4a
       <URL:http://po4a.alioth.debian.org/>   par   l'équipe   de   traduction
       francophone        au        sein        du       projet       perkamon
       <URL:http://perkamon.alioth.debian.org/>.

       Christophe Blaess  <URL:http://www.blaess.fr/christophe/>  (1996-2003),
       Alain   Portal   <URL:http://manpagesfr.free.fr/>   (2003-2006).  Simon
       Paillard et l'équipe francophone de traduction de Debian (2006-2009).

       Veuillez  signaler  toute  erreur   de   traduction   en   écrivant   à
       <debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
       paquet manpages-fr.

       Vous pouvez toujours avoir accès à la version anglaise de  ce  document
       en utilisant la commande « man -L C <section> <page_de_man> ».