Provided by: manpages-fr_4.27.0-1_all bug

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.

Pages du manuel de Linux 6.9.1                     2 mai 2024                                            boot(7)