.\" -*- coding: UTF-8 -*- .\" Written by Oron Peled . .\" .\" %%%LICENSE_START(GPL_NOVERSION_ONELINE) .\" May be distributed subject to the GPL. .\" %%%LICENSE_END .\" .\" I tried to be as much generic in the description as possible: .\" - General boot sequence is applicable to almost any .\" OS/Machine (DOS/PC, Linux/PC, Solaris/SPARC, CMS/S390) .\" - kernel and init(1) is applicable to almost any UNIX/Linux .\" - boot scripts are applicable to SYSV-R4 based UNIX/Linux .\" .\" Modified 2004-11-03 patch from Martin Schulze .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH BOOT 7 "11 mars 2015" Linux "Manuel du programmeur Linux" .SH NOM boot\ –\ processus de démarrage du système basé sur System V version\ 4 d'UNIX .SH DESCRIPTION .PP Le \fBprocessus de démarrage\fP (ou «\ \fBséquence de démarrage\fP\ ») dépend des systèmes, mais peut grossièrement être divisé en phases contrôlées par les composants suivants\ : .IP 1. 4 matériel .IP 2. 4 chargeur de démarrage .IP 3. 4 noyau .IP 4. 4 processus root en espace utilisateur (\fIinit\fP et \fIinittab\fP) .IP 5. 4 scripts de démarrage .PP Chaque composant est décrit plus en détails ci\-dessous. .SS 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 \fBBIOS\fP. .PP 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 \fBCMOS\fP, alors qu'en dehors du monde des PC, elle est généralement appelée \fBNVRAM\fP (RAM non volatile). .PP 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é «\ \fBpériphérique d'amorçage\fP\ ». 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. .TP 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. .SS "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. .PP 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 \fBMBR\fP (Master Boot Record). .PP 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. .PP 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. .PP Sous Linux, le chargeur de démarrage est souvent \fBlilo\fP(8) ou \fBgrub\fP(8). .SS 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 «\ \fBpilote\fP\ » pour le composant concerné. Le noyau démarre le gestionnaire de swap (c'est un processus noyau, appelé \fBkswapd\fP sur les noyaux Linux modernes), et monte le système de fichiers sur la racine «\ /\ »). .PP 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 \fBbootparam\fP(7). .PP C'est uniquement à cet instant que le noyau crée un premier processus en espace utilisateur, qui porte le numéro de processus\ 1 (\fBPID\fP). Ce processus exécute le programme \fI/sbin/init\fP, en lui passant tout paramètre qui n'est pas déjà géré par le noyau. .SS "Processus root en espace utilisateur" .TP 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 \fBsystemd\fP(1), pour laquelle le processus de démarrage est détaillé dans \fBbootup\fP(7). .PP Lorsque \fI/sbin/init\fP démarre, il lit \fI/etc/inittab\fP pour y trouver ses instructions. Ce fichier définit ce qui doit s'exécuter lorsque le programme \fI/sbin/init\fP doit entrer dans un mode de fonctionnement (\fIrun\-level\fP 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, \fBS\fP correspond à un mode maintenance (\fIsingle\-user\fP) et \fB2\fP implique le fonctionnement de la plupart des services réseaux). .PP L'administrateur peut modifier le mode de fonctionnement grâce à \fBinit\fP(1) et consulter le mode de fonctionnement actuel avec \fBrunlevel\fP(8). .PP Toutefois, comme il n'est pas pratique de gérer les services individuellement en éditant ce fichier, \fI/etc/inittab\fP se limite à l'appel d'un ensemble de scripts qui démarrent/arrêtent les services. .SS "Scripts de démarrage" .TP 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. .PP 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 (\fI/etc/init.d\fP 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. .SS "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 \fBrépertoires d'ordonnancement\fP. Ce sont généralement \fI/etc/rc[0\-6S].d\fP. Dans chacun de ces répertoires, il y a des liens (généralement symboliques) vers les scripts du répertoire \fI/etc/init.d\fP. .PP Un premier script (souvent \fI/etc/rc\fP) est appelé par \fBinittab\fP(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é). .PP 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 \fBnuméro d'ordre\fP. 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 \fI/etc/rc2.d/S80sendmail\fP démarre le service sendmail dans le run\-level\ 2. Cela est fait après l'exécution de \fI/etc/rc2.d/S12syslog\fP mais avant celle de \fI/etc/rc2.d/S90xfs\fP. .PP 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\ : \fBchkconfig\fP(8)). .SS "Configuration de démarrage" Un programme fournissant un service est souvent appelé «\ \fBdémon\fP\ ». 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 (\fI/etc/sysconfig\fP sur les anciens systèmes Red Hat) où un script de démarrage associé pourra le trouver. .PP 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 \fI/etc/init.d\fP lit et incorpore son fichier de configuration (il «\ source\ » le fichier de configuration) et utilise ensuite les valeurs des variables. .SH FICHIERS .PP \fI/etc/init.d/\fP, \fI/etc/rc[S0\-6].d/\fP, \fI/etc/sysconfig/\fP .SH "VOIR AUSSI" \fBinit\fP(1), \fBsystemd\fP(1), \fBinittab\fP(5), \fBbootparam\fP(7), \fBbootup\fP(7), \fBrunlevel\fP(8), \fBshutdown\fP(8) .SH COLOPHON Cette page fait partie de la publication\ 5.04 du projet \fIman\-pages\fP 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/. .SH TRADUCTION La traduction française de cette page de manuel a été créée par Christophe Blaess , Stéphan Rafin , Thierry Vignaud , François Micaux, Alain Portal , Jean-Philippe Guérard , Jean-Luc Coulon (f5ibh) , Julien Cristau , Thomas Huriaux , Nicolas François , Florentin Duneau , Simon Paillard , Denis Barbier et David Prévot . Cette traduction est une documentation libre ; veuillez vous reporter à la .UR https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License version 3 .UE 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 à .MT debian-l10n-french@lists.debian.org .ME .