Provided by: manpages-fr_3.65d1p1-1_all bug

NOM

       boot-scripts - Description générale du démarrage du système

DESCRIPTION

       La  séquence  de  démarrage est variable en fonction du système mais peut globalement être
       découpée selon les étapes suivantes : (i) amorçage matériel, (ii) chargeur de démarrage du
       système  d'exploitation,  (iii)  démarrage  du noyau, (iv) init et inittab, (v) scripts de
       démarrage. Nous allons décrire chacune d'entre elles plus en détail ci-dessous.

   Amorçage matériel
       Après la mise sous tension ou un reset matériel, un  programme  stocké  en  mémoire  morte
       (souvent  une PROM) prend le contrôle. Sur les 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
       batterie de type CMOS. Ainsi la plupart des gens l'appellent CMOS, alors qu'en  dehors  du
       monde des PC, elle est généralement appelée nvram (non-volatile ram).

       Les  paramètres  stockés dans la nvram varient d'un système à l'autre, mais au minimum, le
       programme d'amorçage matériel devrait savoir quel est le  périphérique  d'amorçage,  ou  à
       défaut quels périphériques il faut essayer pour amorcer le système.

       Ensuite,  la  phase  de  démarrage  matériel  accède au périphérique d'amorçage, charge le
       chargeur de démarrage, qui est situé à une position fixe sur le  périphérique  d'amorçage,
       et lui passe le contrôle.

       Note : Nous  n'abordons  pas ici le démarrage à partir du réseau. Ceux qui s'intéressent à
              ce sujet devraient rechercher du côté de DHCP, TFTP, PXE, Etherboot.

   Chargeur de démarrage
       Sur les PC, le chargeur de démarrage est situé sur  le  premier  secteur  du  périphérique
       d'amorçage - c'est 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  (64 octets)  et  un  identifiant  de  disque
       (2 octets)  ne  laissent  que  446 octets  pour  le code - et rend quasiment impossible le
       stockage d'un chargeur de démarrage complet.

       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.

       Sous  Linux, le chargeur de démarrage est normalement lilo(8) ou grub(8). Chacun peut être
       installé soit en tant que chargeur secondaire (si le MBR  installé  par  DOS  pointe  vers
       eux),  soit  en  tant  que  chargeur  en  deux parties, car ils fournissent un MBR spécial
       contenant un code d'amorçage pour charger la seconde partie du chargeur  à  partir  de  la
       partition principale.

       Le  rôle  principal  du  chargeur de démarrage est de localiser le noyau sur le disque, 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.

   Démarrage du noyau
       Quand le noyau est chargé, il initialise les périphériques (via leurs pilotes), 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 racine - appelé root filesystem - (/).

       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 (en espace utilisateur)
       processus, qui porte le numéro 1. 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.

   init et inittab
       Quand  init  démarre,  il  lit  /etc/inittab  pour  y trouver ses instructions. Ce fichier
       définit ce qui doit s'exécuter dans les différents modes de fonctionnement (run-levels).

       Cela donne à l'administrateur système une méthode simple de gestion dans  laquelle  chaque
       run-level  est  associé  à  un  ensemble de services (par exemple : S correspond à un mode
       maintenance (single-user), en run-level 2, la plupart des services réseaux  sont  actifs).
       L'administrateur  peut  changer le run-level courant par init(8) et connaître le run-level
       courant par runlevel(8).

       Toutefois, comme il n'est pas pratique de gérer les services individuellement  en  éditant
       ce  fichier,  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,  ce
              qui  couvre  actuellement la plupart des systèmes UNIX commerciaux (Solaris, HP-UX,
              Irix, Tru64) ainsi que les  distributions  majeures  de  Linux  (Red  Hat,  Debian,
              Mandriva,  SUSE,  Ubuntu).  Certains  systèmes  (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  y  a  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 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 les
       scripts des services grâce aux liens des répertoires d'ordonnancement. 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, les noms des
       liens contiennent des numéros d'ordre. Aussi, pour plus de clarté, ils se terminent par le
       nom  du  service  auquel il se réfère. 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.

       Pour gérer l'ordre de démarrage et les run-levels, on doit gérer ces liens. Toutefois, sur
       beaucoup de versions de Linux, il  existe  des  outils  qui  facilitent  cela.  (exemple :
       chkconfig(8)).

   Configuration de démarrage
       Habituellement,  les  démons  démarrés  peuvent  éventuellement  recevoir  des  options et
       arguments sur leur ligne de commande.  Pour  permettre  aux  administrateurs  systèmes  de
       modifier  ces  paramètres  sans  éditer  le  script,  des  fichiers  de configuration sont
       utilisés. Ils sont stockés dans un répertoire spécifique (/etc/sysconfig sur les  systèmes
       Red Hat et Mandrake), et sont utilisés par les scripts de démarrage.

       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.  Les  scripts  de  démarrage du répertoire
       /etc/init.d  sourcent  (par  la  commande  interne  « . »  du  shell)  les   fichiers   de
       configuration et utilisent ensuite les variables.

FICHIERS

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

VOIR AUSSI

       inittab(5), bootparam(7), init(8), runlevel(8), shutdown(8)

COLOPHON

       Cette  page  fait partie de la publication 3.65 du projet man-pages Linux. Une description
       du projet et des  instructions  pour  signaler  des  anomalies  peuvent  être  trouvées  à
       l'adresse http://www.kernel.org/doc/man-pages/.

TRADUCTION

       Depuis    2010,    cette   traduction   est   maintenue   à   l'aide   de   l'outil   po4a
       <http://po4a.alioth.debian.org/> par l'équipe de traduction francophone au sein du  projet
       perkamon <http://perkamon.alioth.debian.org/>.

       François  Micaux  (2003), Alain Portal <http://manpagesfr.free.fr/> (2006). Julien Cristau
       et l'équipe francophone de traduction de Debian (2006-2009).

       Veuillez     signaler     toute     erreur     de     traduction     en     écrivant     à
       <debian-l10n-french@lists.debian.org>   ou   par   un  rapport  de  bogue  sur  le  paquet
       manpages-fr.

       Vous pouvez toujours avoir accès à la version anglaise de  ce  document  en  utilisant  la
       commande « man -L C <section> <page_de_man> ».