Provided by: manpages-fr_3.57d1p1-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.57 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> ».