Man page - boot(7)

Packages contains this manual

Available languages:

en fr es pl tr ja ru ro de

Manual

boot

NOM
DESCRIPTION
Matériel
Chargeur de démarrage
Noyau
Processus root en espace utilisateur
Scripts de démarrage
RĂ©pertoires d’ordonnancement
Configuration de démarrage
FICHIERS
VOIR AUSSI
TRADUCTION

NOM

boot - processus de dĂ©marrage du systĂšme basĂ© sur System V version 4 d’UNIX

DESCRIPTION

Le processus de dĂ©marrage (ou « sĂ©quence de dĂ©marrage ») dĂ©pend des systĂšmes, mais peut grossiĂšrement ĂȘtre divisĂ© en phases contrĂŽlĂ©es par les composants suivants :

(1)

matériel

(2)

chargeur de démarrage

(3)

noyau

(4)

processus root en espace utilisateur ( init et inittab )

(5)

scripts de démarrage

Chaque composant est décrit plus en détails ci-dessous.

Matériel

AprÚs la mise sous tension ou une réinitialisation matérielle, un programme stocké en mémoire morte (souvent une PROM) prend le contrÎle. Pour des raisons historiques liées au PC, on appelle généralement ce programme le BIOS .

Ce programme effectue normalement un autotest de la machine et accĂšde Ă  la mĂ©moire non volatile pour y lire quelques paramĂštres. Dans les PC, cette mĂ©moire est maintenue par une mĂ©moire CMOS entretenue par une batterie. Ainsi la plupart des gens l’appellent CMOS , alors qu’en dehors du monde des PC, elle est gĂ©nĂ©ralement appelĂ©e NVRAM (RAM non volatile).

Les paramĂštres stockĂ©s dans la NVRAM dĂ©pendent des systĂšmes, mais doivent indiquer a minima quel pĂ©riphĂ©rique peut fournir un chargeur de dĂ©marrage, ou quels pĂ©riphĂ©riques peuvent ĂȘtre sondĂ©s pour en trouver un. Un tel pĂ©riphĂ©rique est appelĂ© « pĂ©riphĂ©rique d’amorçage ». La phase de dĂ©marrage matĂ©riel charge le chargeur de dĂ©marrage depuis une position fixe sur le pĂ©riphĂ©rique d’amorçage et lui passe le contrĂŽle.

Note :

Le pĂ©riphĂ©rique depuis lequel le chargeur d’amorçage est lu peut ĂȘtre attachĂ© via un rĂ©seau, auquel cas les dĂ©tails de dĂ©marrage sont indiquĂ©s par des protocoles tels que DHCP, TFTP, PXE, Etherboot, etc.

Chargeur de démarrage

Le rĂŽle principal du chargeur de dĂ©marrage est de localiser le noyau sur un pĂ©riphĂ©rique, le charger et l’exĂ©cuter. La plupart des chargeurs de dĂ©marrage sont interactifs, pour permettre la spĂ©cification d’un noyau alternatif (par exemple un noyau de sauvegarde dans le cas oĂč la derniĂšre version compilĂ©e ne fonctionne pas) et le passage de paramĂštres optionnels au noyau.

Sur les PC traditionnels, le chargeur de dĂ©marrage est situĂ© sur le premier bloc de 512 octets du pĂ©riphĂ©rique d’amorçage – ce bloc est appelĂ© le MBR (Master Boot Record).

Sur la plupart des systĂšmes, ce chargeur initial est trĂšs limitĂ© du fait de diverses contraintes. MĂȘme sur des systĂšmes autres que le PC, il existe des limitations concernant la taille et la complexitĂ© de ce chargeur, mais la taille du MBR des PC est limitĂ©e – 512 octets y compris la table de partition – et rend quasiment impossible d’y insĂ©rer beaucoup de fonctionnalitĂ©s.

Ainsi, sur la plupart des systĂšmes d’exploitation, le chargeur initial appelle un chargeur de dĂ©marrage secondaire situĂ© sur une partition du disque. Ce chargeur de dĂ©marrage secondaire peut se trouver dans un plus grand emplacement de stockage persistant, comme une partition de disque.

Sous Linux, le chargeur de démarrage est souvent grub (8) ( lilo (8) est une alternative).

Noyau

Quand le noyau est chargĂ©, il initialise divers composants de l’ordinateur et du systĂšme d’exploitation. Chaque morceau de logiciel responsable d’une telle tĂąche est considĂ©rĂ© comme un « pilote » pour le composant concernĂ©. Le noyau dĂ©marre le gestionnaire de swap (c’est un processus noyau, appelĂ© kswapd sur les noyaux Linux modernes), et monte le systĂšme de fichiers sur la racine « / »).

Quelques paramĂštres relatifs Ă  cela peuvent ĂȘtre passĂ©s au noyau (par exemple : on peut spĂ©cifier un autre systĂšme de fichiers racine que celui par dĂ©faut). Pour plus d’informations sur les paramĂštres du noyau Linux, consultez bootparam (7).

C’est uniquement Ă  cet instant que le noyau crĂ©e un premier processus en espace utilisateur, qui porte le numĂ©ro de processus 1 ( PID ). Ce processus exĂ©cute le programme /sbin/init , en lui passant tout paramĂštre qui n’est pas dĂ©jĂ  gĂ©rĂ© par le noyau.

Processus root en espace utilisateur

Note :

La description suivante s’applique aux systĂšmes basĂ©s sur System V release 4. Cependant, un certain nombre de systĂšmes trĂšs rĂ©pandus ont adoptĂ© une approche semblable mais fondamentalement diffĂ©rente appelĂ©e systemd (1), pour laquelle le processus de dĂ©marrage est dĂ©taillĂ© dans bootup (7).

Lorsque /sbin/init dĂ©marre, il lit /etc/inittab pour y trouver ses instructions. Ce fichier dĂ©finit ce qui doit s’exĂ©cuter lorsque le programme /sbin/init doit entrer dans un mode de fonctionnement ( run-level ) particulier. Cela donne Ă  l’administrateur une mĂ©thode simple pour Ă©tablir un environnement pour un usage donnĂ©. Chaque mode de fonctionnement est associĂ© Ă  un ensemble de services (par exemple, S correspond Ă  un mode maintenance ( single-user ) et 2 implique le fonctionnement de la plupart des services rĂ©seaux).

L’administrateur peut modifier le mode de fonctionnement grñce à init (1) et consulter le mode de fonctionnement actuel avec runlevel (8).

Toutefois, comme il n’est pas pratique de gĂ©rer les services individuellement en Ă©ditant ce fichier, /etc/inittab se limite Ă  l’appel d’un ensemble de scripts qui dĂ©marrent/arrĂȘtent les services.

Scripts de démarrage

Note :

La description suivante s’applique aux systĂšmes basĂ©s sur System V release 4. Cependant, un certain nombre de systĂšmes trĂšs rĂ©pandus (Slackware Linux, FreeBSD, OpenBSD) utilisent un procĂ©dĂ© quelque peu diffĂ©rent pour les scripts de dĂ©marrage.

Pour chaque service gĂ©rĂ© (messagerie, serveur nfs, cron, etc.), il existe un script de dĂ©marrage simple stockĂ© dans un rĂ©pertoire spĂ©cifique ( /etc/init.d dans la majoritĂ© des versions de Linux). Chacun de ces scripts accepte en unique argument le mot « start » (dont l’effet est le lancement du service) ou le mot « stop » (pour arrĂȘter le service). Le script peut Ă©ventuellement accepter d’autres paramĂštres pratiques (par exemple : « restart », enchaĂźne un « stop » suivi d’un « start », « status » donne l’état du service). Un appel du script sans argument permet d’afficher tous ceux possibles.

RĂ©pertoires d’ordonnancement

Pour permettre aux scripts spĂ©cifiques de dĂ©marrer/arrĂȘter dans un mode de fonctionnement (run level) spĂ©cifique et dans un ordre particulier, il y a des rĂ©pertoires d’ordonnancement . Ce sont gĂ©nĂ©ralement /etc/rc[0-6S].d . Dans chacun de ces rĂ©pertoires, il y a des liens (gĂ©nĂ©ralement symboliques) vers les scripts du rĂ©pertoire /etc/init.d .

Un premier script (souvent /etc/rc ) est appelĂ© par inittab (5) et appelle lui-mĂȘme le script de chaque service grĂące Ă  un lien dans le rĂ©pertoire d’ordonnancement correspondant. Tous les liens dont le nom commence par « S » sont appelĂ©s avec l’argument « start » (et dĂ©marrent le service concernĂ©). Tous les liens dont le nom commence par « K » sont appelĂ©s avec l’argument « stop » (et arrĂȘtent le service concernĂ©).

Pour dĂ©finir l’ordre de dĂ©marrage ou d’arrĂȘt au sein d’un mĂȘme run level, le nom d’un lien contient un numĂ©ro d’ordre . Aussi, pour rendre les noms plus clairs, ceux-ci se terminent par le nom du service auquel ils se rĂ©fĂšrent. Exemple : le lien /etc/rc2.d/S80sendmail dĂ©marre le service sendmail (8) dans le run level 2. Cela est fait aprĂšs l’exĂ©cution de /etc/rc2.d/S12syslog mais avant celle de /etc/rc2.d/S90xfs .

GĂ©rer ces liens revient Ă  gĂ©rer l’ordre de dĂ©marrage et les run levels. Toutefois, sur beaucoup de systĂšmes, il existe des outils qui facilitent cela (exemple : chkconfig (8)).

Configuration de démarrage

Un programme fournissant un service est souvent appelĂ© « dĂ©mon ». Habituellement, un dĂ©mon peut recevoir des options et arguments sur la ligne de commande. Pour permettre aux administrateurs systĂšme de modifier ces paramĂštres sans Ă©diter un script complet de dĂ©marrage, un fichier de configuration sĂ©parĂ© est utilisĂ©. Il est stockĂ© dans un rĂ©pertoire spĂ©cifique ( /etc/sysconfig sur les anciens systĂšmes Red Hat) oĂč un script de dĂ©marrage associĂ© pourra le trouver.

Sur les anciens systÚmes UNIX, ces fichiers contenaient les options de ligne de commande pour les démons, mais sur les systÚmes Linux modernes (et aussi sur HP-UX), ces fichiers contiennent uniquement des variables shell. Un script de démarrage dans le répertoire /etc/init.d lit et incorpore son fichier de configuration (il « source » le fichier de configuration) et utilise ensuite les valeurs des variables.

FICHIERS

/etc/init.d/ , /etc/rc[S0-6].d/ , /etc/sysconfig/

VOIR AUSSI

init (1), systemd (1), inittab (5), bootparam (7), bootup (7), runlevel (8), shutdown (8)

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> et David Prévot <david@tilapin.org>

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 .