Provided by:
manpages-fr_3.32d0.2p4-1_all 
NOM
initrd - Disque RAM initialise au demarrage du systeme
CONFIGURATION
/dev/initrd est un peripherique bloc en lecture seule, dont le numero
majeur est 1, et le mineur 250. Typiquement, /dev/initrd appartient a
root.disk et dispose du mode 0400 (lecture uniquement par le
superutilisateur). Si votre systeme Linux n'a pas encore de fichier
/dev/initrd, vous pouvez le creer 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 etre
compilees 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 etre charge en tant que module.
DESCRIPTION
Le fichier special /dev/initrd est un peripherique bloc en lecture
seule. Ce peripherique est un disque RAM qui est initialise par le
chargeur du systeme avant le demarrage du noyau. Ainsi, le noyau peut
utiliser le contenu de /dev/initrd pour un demarrage en deux phases.
Durant la premiere phase, le noyau demarre et monte la racine du
systeme de fichiers depuis le contenu de /dev/initrd (par exemple un
disque RAM initialise par le chargeur). Durant la seconde phase, les
pilotes de peripheriques supplementaires et les autres modules sont
charges depuis le peripherique racine initial. Apres le chargement de
ces modules supplementaires, une nouvelle racine du systeme de fichiers
est montee a partir d'un peripherique different.
D'emarrage du syst`eme
Quand il demarre en utilisant initrd, le systeme procede comme suit :
1. Le chargeur place une copie du noyau en memoire, ainsi que le
contenu de /dev/initrd.
2. Au demarrage du noyau, celui-ci decompresse et recopie le contenu du
peripherique /dev/initrd sur le disque virtuel /dev/ram0 puis libere
la memoire utilisee par /dev/initrd.
3. Le noyau monte en lecture/ecriture le peripherique /dev/ram0 comme
racine initiale du systeme de fichiers.
4. Si la racine desiree pour le systeme de fichiers est egalement celle
que l'on vient de monter (par exemple /dev/ram0), le noyau passe
directement a la derniere etape du demarrage.
5. Si un fichier executable /linuxrc est present sur le systeme de
fichiers racine initial, ce fichier est execute avec l'uid 0. (Le
fichier /linuxrc doit avoir la permission d'execution. Ce peut etre
n'importe quel executable, y compris un shell-script.)
6. Si /linuxrc n'est pas execute ou lorsqu'il se termine, la racine
normale du systeme de fichiers est montee. (Si /linuxrc se termine
en ayant monte d'autres systemes de fichiers sur la racine initiale,
alors le comportement du noyau est IND'ETERMIN'E. Consultez le
paragraphe NOTES pour le comportement effectif.)
7. Si le systeme de fichiers racine normal dispose d'un repertoire
/initrd, le peripherique /dev/ram0 est deplace depuis / vers
/initrd. Sinon, si le repertoire /initrd n'existe pas, le
peripherique /dev/ram0 est demonte. (Lors du deplacement de / vers
/initrd, /dev/ram0 n'est pas demonte, aussi des processus peuvent
continuer a s'executer depuis ce peripherique. Si le repertoire
/initrd n'existe pas sur le systeme de fichiers normal, et si des
processus continuent a s'executer depuis /dev/ram0 lorsque /linuxrc
se termine, le comportement du noyau est IND'ETERMIN'E. Consultez le
paragraphe NOTES pour le comportement effectif.)
8. La sequence de demarrage habituelle (par exemple, invocation de
/sbin/init) est alors effectuee depuis le systeme de fichiers
normal.
Options
Lorsque l'on utilise initrd, les options suivantes du chargeur
affectent les operations de demarrage du noyau :
initrd=nom_de_fichier
Indique le fichier a 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 mentionne avec cette option sera
typiquement une image compressee par gzip(1), du systeme de
fichiers.
noinitrd
Cette option de demarrage desactive le demarrage en deux etapes.
Le noyau se comporte comme si /dev/initrd n'etait pas
initialise. Avec cette option, le contenu de /dev/initrd, une
fois charge en memoire sera preserve. Ce contenu peut alors etre
n'importe quelle donnee, et pas uniquement une image d'un
systeme de fichiers. Neanmoins, le peripherique /dev/initrd est
en lecture seule, et ne peut etre lu qu'une seule fois apres le
demarrage du systeme.
root=nom_de_p'eriph'erique
Indique le nom du peripherique a utiliser comme racine normale
du systeme 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
peripherique indique ici doit etre montable et contenir un
systeme de fichiers convenable.
Modification de la racine du syst`eme de fichiers
Par defaut, les parametres du noyau (par exemple, ceux configures avec
rdev(8) ou compiles dans le noyau) ou les options du chargeur de
demarrage sont utilises pour les systemes de fichiers racines normaux.
Pour acceder a un systeme de fichiers racine monte par NFS, il faut
utiliser les options de demarrage nfs_root_name et nfs_root_addrs pour
la configuration NFS. Pour plus d'informations sur les racines de
systemes de fichiers montees 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 systeme
de fichiers, consultez egalement les documentations de LILO et LOADLIN.
On peut aussi faire effectuer la modification de la racine normale par
l'executable /linuxrc. Pour cela, le systeme /proc doit etre monte.
Apres avoir monte /proc, /linuxrc modifie le peripherique racine en
ecrivant 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 peripherique physique monte a la racine, le changement s'effectue en
ecrivant le numero de peripherique du nouveau systeme de fichiers dans
/proc/sys/kernel/real-root-dev. Pour un systeme monte par NFS, la
modification s'effectue en ecrivant 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 numero de pseudo-peripherique NFS) dans le fichier
/proc/sys/kernel/real-root-dev. Par exemple, la ligne de commande
suivante basculerait le peripherique racine normal sur /dev/hdb1:
echo 0x365 >/proc/sys/kernel/real-root-dev
La ligne suivante modifierait le systeme racine normal vers un
repertoire NFS /var/nfsroot d'un serveur local ayant l'adresse IP
193.8.232.7, ceci sur un systeme nomme << idefix >>, se trouvant a
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
systeme de fichiers racine est obsolete. Consultez le fichier
Documentation/initrd.txt du noyau ainsi que pivot_root(2) et
pivot_root(8) pour des informations sur les methodes actuelles pour
changer de systeme de fichiers racine.
Utilisation
L'interet principal d'implementer initrd etait de permettre une
configuration modulaire du noyau lors de l'installation du systeme.
Un scenario possible d'installation est le suivant :
1. Le programme de chargement demarre depuis une disquette ou un autre
support avec un noyau minimal (par exemple, les supports pour
/dev/ram, /dev/initrd et le systeme de fichiers ext2), puis il
charge /dev/initrd depuis une version compressee avec gzip d'un
systeme de fichiers initial.
2. L'executable /linuxrc determine ce qui est necessaire pour (1)
monter le systeme de fichiers normal (pilotes de peripheriques,
systemes de fichiers) et (2) utiliser le support fourni pour la
distribution (par exemple, CD-ROM, reseau, bande magnetique, ...).
Cette etape peut etre effectuee en interrogeant l'utilisateur, en
effectuant des tests de detection automatique ou en utilisant une
approche hybride entre les deux.
3. L'executable /linuxrc charge les modules necessaires depuis le
systeme de fichiers initial.
4. L'executable /linuxrc cree et remplit le systeme de fichiers racine.
(A cet instant, le systeme de fichiers racine n'est pas
necessairement complet).
5. L'executable /linuxrc configure /proc/sys/kernel/real-root-dev,
demonte /proc, le systeme de fichiers normal, et tout autre systeme
de fichiers qu'il a eventuellement monte, et se termine.
6. Le noyau monte alors le systeme de fichiers racine normal.
7. Maintenant que le systeme de fichiers est accessible, le chargeur
peut etre installe.
8. Le chargeur est configure pour installer dans /dev/initrd un systeme
de fichiers disposant de l'ensemble des modules qui ont ete utilises
pour demarrer le systeme. (par exemple, un peripherique comme
/dev/ram0 peut etre modifie, puis demonte, et finalement l'image est
recopiee depuis /dev/ram0 vers un fichier.)
9. Le systeme est maintenant pret a redemarrer, et les taches
supplementaires d'installation peuvent etre effectuees.
Le principal avantage offert par /dev/initrd dans ce scenario est de
permettre de reutiliser les donnees de configuration lors du
fonctionnement normal du noyau, sans necessiter de choisir un noyau
initial, d'utiliser un gros noyau generique ou de recompiler le noyau
apres l'installation.
Un second scenario sert a l'installation de Linux sur un reseau
constitue de machines differentes. Dans ce cas, il peut etre preferable
de n'utiliser qu'un nombre minimal de noyaux (voire un seul dans le
meilleur des cas) et de garder la quantite d'informations specifiques a
un systeme la plus faible possible. Ainsi, on cree un fichier commun
contenant tous les modules necessaires, et seul le fichier /linuxrc ou
les fichiers qu'il lance changent suivant les machines.
Un troisieme scenario permet de disposer de disques de secours plus
commodes. Les informations comme l'emplacement du systeme de fichiers
racine ne sont pas indispensables lors du demarrage. Le systeme charge
depuis /dev/initrd peut ainsi etre interactif et/ou effectuer une
detection automatique suivie d'une verification de coherence du
systeme.
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 creer de disquettes. La
distribution peut egalement utiliser une disquette de demarrage avec
LILO puis charger un disque RAM par l'intermediaire de /dev/initrd
depuis le CD-ROM.
FICHIERS
/dev/initrd
/dev/ram0
/linuxrc
/initrd
NOTES
1. Avec le noyau actuel, tout systeme de fichiers reste monte lors du
deplacement de /dev/ram0 depuis / vers /initrd, et continue a etre
accessible. Neanmoins, les entrees de /proc/mounts ne sont pas mises
a jour.
2. Avec le noyau actuel, si le repertoire /initrd n'existe pas, alors
/dev/ram0 ne sera pas completement demonte si /dev/ram0 est utilise
par un processus ou si un systeme de fichiers a ete monte dessus. Si
/dev/ram0 n'est pas completement demonte, alors /dev/ram0 restera
charge en memoire.
3. Les utilisateurs de /dev/initrd ne doivent pas compter sur les
comportements decrits dans les deux notes precedentes. 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 etre trouvees a l'adresse
<URL:http://www.kernel.org/doc/man-pages/>.
TRADUCTION
Depuis 2010, cette traduction est maintenue a l'aide de l'outil po4a
<URL:http://po4a.alioth.debian.org/> par l'equipe 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'equipe francophone de traduction de Debian (2006-2009).
Veuillez signaler toute erreur de traduction en ecrivant a
<debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
paquet manpages-fr.
Vous pouvez toujours avoir acces a la version anglaise de ce document
en utilisant la commande << man -L C <section> <page_de_man> >>.