Provided by: manpages-fr_3.65d1p1-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_périphérique
              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  pseudopé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  Linux  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)

       Documentation/initrd.txt  dans les sources du noyau Linux, la documentation de LILO, celle de LOADLIN, et
       la documentation SYSLINUX.

COLOPHON

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

TRADUCTION

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

       Christophe       Blaess       <http://www.blaess.fr/christophe/>      (1996-2003),      Alain      Portal
       <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> ».

Linux                                           4 septembre 2010                                       INITRD(4)