dwww Home | Manual pages | Find package

boot(7)                Miscellaneous Information Manual                boot(7)

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  pro-
       gramme  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  de-
       hors  du monde des PC, elle est généralement appelée NVRAM (RAM non vo-
       latile).

       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  pa-
       ramè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 ap-
       pelé 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  com-
       pris  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 lilo(8) ou grub(8).

   Noyau
       Quand le noyau est chargé, il initialise divers composants de l'ordina-
       teur  et  du système d'exploitation. Chaque morceau de logiciel respon-
       sable d'une telle tâche est considéré comme un « pilote » pour le  com-
       posant  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 ce-
       lui  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  pa-
       ramè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 Sys-
              tem 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 ins-
       tructions. Ce fichier définit ce qui doit s'exécuter  lorsque  le  pro-
       gramme /sbin/init doit entrer dans un mode de fonctionnement (run-level
       particulier. Cela donne à l'administrateur une méthode simple pour éta-
       blir  un  environnement pour un usage donné. Chaque mode de fonctionne-
       ment 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 indivi-
       duellement 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 Sys-
              tem V release 4. Cependant, un certain nombre de  systèmes  très
              répandus  (Slackware  Linux, FreeBSD, OpenBSD) utilisent un pro-
              cé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éci-
       fique (/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  ser-
       vice).  Le script peut éventuellement accepter d'autres paramètres pra-
       tiques (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.

       A primary script (usually /etc/rc) is called from inittab(5); this pri-
       mary  script calls each service's script via a link in the relevant se-
       quencing directory. Each link whose name begins with 'S' is called with
       the  argument  "start"  (thereby starting the service). Each link whose
       name begins with 'K' is called with the argument "stop" (thereby  stop-
       ping the service).

       Pour  définir l'ordre de démarrage ou d'arrêt au sein d'un même run-le-
       vel, 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  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 faci-
       litent cela (exemple : chkconfig(8)).

   Configuration de démarrage
       Un programme fournissant un service est souvent appelé « démon ». Habi-
       tuellement,  un  démon  peut  recevoir  des options et arguments sur la
       ligne de commande. Pour permettre aux administrateurs système de  modi-
       fier  ces paramètres sans éditer un script complet de démarrage, un fi-
       chier de configuration séparé est utilisé. Il est stocké dans un réper-
       toire  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 in-
       corpore 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  Chris-
       tophe  Blaess  <https://www.blaess.fr/christophe/>, Stéphan Rafin <ste-
       phan.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.cou-
       lon@wanadoo.fr>,  Julien  Cristau <jcristau@debian.org>, Thomas Huriaux
       <thomas.huriaux@gmail.com>, Nicolas François  <nicolas.francois@centra-
       liens.net>,  Florentin  Duneau <fduneau@gmail.com>, Simon Paillard <si-
       mon.paillard@resel.enst-bretagne.fr>,   Denis   Barbier    <barbier@de-
       bian.org> et David Prévot <david@tilapin.org>

       Cette traduction est une documentation libre ; veuillez vous reporter à
       la       GNU       General       Public        License        version 3
       ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩  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⟩.

Pages du manuel de Linux 6.03   5 février 2023                         boot(7)

Generated by dwww version 1.15 on Sat Jun 29 01:44:06 CEST 2024.