Provided by: manpages-fr_4.13-4_all bug

NOM

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

CONFIGURATION

       /dev/initrd  is  a  read-only  block  device  assigned  major  number  1  and minor number 250. Typically
       /dev/initrd is owned by root:disk with mode 0400 (read access by root only). If the Linux system does not
       have /dev/initrd already created, it can be created with the following commands:

           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
              Specifies the device to be used as the normal root filesystem. For LOADLIN this is a  command-line
              option.  For  LILO  this  is  a  boot  time  option  or  can be used as an option line in the LILO
              configuration file /etc/lilo.config. The device specified by  this  option  must  be  a  mountable
              device having a suitable root filesystem.

   Modification de la racine du système de fichiers
       By default, the kernel's settings (e.g., set in the kernel file with rdev(8)  or compiled into the kernel
       file),  or  the  boot  loader  option setting is used for the normal root filesystems. For an NFS-mounted
       normal root filesystem, one has to use the nfs_root_name and nfs_root_addrs boot options to give the  NFS
       settings.   For   more   information   on   NFS-mounted   root   see   the   kernel   documentation  file
       Documentation/filesystems/nfs/nfsroot.txt (or Documentation/filesystems/nfsroot.txt before Linux 2.6.33).
       For more information on setting the root filesystem see also the LILO and LOADLIN documentation.

       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:  The use of /proc/sys/kernel/real-root-dev to change the root filesystem is obsolete. See the Linux
       kernel source file Documentation/admin-guide/initrd.rst (or Documentation/initrd.txt before  Linux  4.10)
       as  well  as  pivot_root(2)  and pivot_root(8)  for information on the modern method of changing the root
       filesystem.

   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. The   executable  /linuxrc  sets  /proc/sys/kernel/real-root-dev,  unmounts  /proc,  the  normal  root
          filesystem and any other filesystems it has mounted, and then terminates.

       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. The boot loader is configured to load into /dev/initrd a filesystem with the set of modules  that  was
          used to bring up the system. (e.g., device /dev/ram0 can be modified, then unmounted, and finally, the
          image is written from /dev/ram0 to a file.)

       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. Users  of  /dev/initrd  should  not  depend on the behavior given in the above notes. The behavior may
          change in future versions of the Linux kernel.

VOIR AUSSI

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

       Documentation/admin-guide/initrd.rst (or Documentation/initrd.txt before Linux 4.10)  in the Linux kernel
       source tree, the LILO documentation, the LOADLIN documentation, the SYSLINUX documentation

COLOPHON

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

TRADUCTION

       La   traduction   française   de   cette   page   de   manuel   a   été   créée   par  Christophe  Blaess
       <https://www.blaess.fr/christophe/>,   Stéphan   Rafin   <stephan.rafin@laposte.net>,   Thierry   Vignaud
       <tvignaud@mandriva.com>,  François  Micaux,  Alain Portal <aportal@univ-montp2.fr>, Jean-Philippe Guérard
       <fevrier@tigreraye.org>,   Jean-Luc   Coulon   (f5ibh)   <jean-luc.coulon@wanadoo.fr>,   Julien   Cristau
       <jcristau@debian.org>,      Thomas      Huriaux      <thomas.huriaux@gmail.com>,     Nicolas     François
       <nicolas.francois@centraliens.net>,    Florentin    Duneau    <fduneau@gmail.com>,     Simon     Paillard
       <simon.paillard@resel.enst-bretagne.fr>,     Denis    Barbier    <barbier@debian.org>,    David    Prévot
       <david@tilapin.org>,   Cédric   Boutillier    <cedric.boutillier@gmail.com>    et    Frédéric    Hantrais
       <fhantrais@gmail.com>

       Cette  traduction  est  une  documentation libre ; veuillez vous reporter à la GNU General Public License
       version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

       Si vous découvrez un bogue dans la traduction de cette page de manuel,  veuillez  envoyer  un  message  à
       debian-l10n-french@lists.debian.org.

Linux                                              6 mars 2019                                         INITRD(4)