Linux – REDHAT – Initialisation et services du système

Décembre 2016


L’objectif de cet article est :
  • Décrire les fonctions du BIOS par rapport aux processus démarrage
  • Décrire les fonctions du chargeur de démarrage
  • Donner la liste des fonctions effectuées par le noyau au démarrage
  • Indiquer les fonctions de "init"
  • Donner la liste des niveaux d’exécution de System V et indiquer la fonction de chacun
  • Éteindre et allumer un système à tout niveau d’exécution

Pour rappel, la séquence standard de démarrage d’un système Linux se présente comme suit :
  • Initialisation du BIOS
  • Chargeur de démarrage
  • Initialisation du noyau
  • Démarrage de « init »

Initialisation du BIOS


Le BIOS (Basic Input/Output System) est l’interface entre le matériel et le logiciel à un niveau très basique, ce dernier fournit l’ensemble des instructions de base utilisées par le système d’exploitation.
Le BIOS commence par exécuter un auto-test de l’allumage (POST), puis il recherche les périphériques.
Après le POST, un périphérique de démarrage est sélectionné parmi une liste qui est configurable au niveau du BIOS.
Le BIOS lit et exécute le premier secteur physique du média de démarrage choisi sur le système, qui est généralement contenu dans les 512 premiers octets du disque dur.

Chargeur de démarrage


Le chargeur de démarrage est généralement contenu au niveau du premier secteur du disque et donc lu et exécuté par le BIOS. L’espace de stockage que lit le BIOS n’est pas suffisant pour contenir tout le chargeur de démarrage mais juste une partie qui suffisante pour lancer le reste du chargeur, qui est généralement contenue dans un fichier de configuration stocké ailleurs sur le disque. D’où le démarrage qui se fait sur deux étapes :
  • Lancement via le BIOS
  • Lancement d’un fichier sous /boot

Le chargeur de démarrage a pour objectif de charger et exécuter le noyau du système.
Le chargeur de démarrage standard est GRUB mais nous pouvons aussi trouver LILO.

Initialisation du noyau


L’initialisation du noyau intègre :
  • La détection et initialisation des périphériques : tous les pilotes des périphériques compilés dans le noyau sont appelés et essayent de localiser leurs périphériques correspondants.
  • Montage du système de fichiers racine en lecture seule
  • Chargement du processus initial "init"

L’initialisation du noyau est une étapes assez rapide donc difficile à suivre visuellement, donc pour vérifier ce qu'il s’est passé lors de l’initialisation du noyau, il est possible de lire le log qui est stocké sous /var/log/dmesg.

Initialisation de "init"


"init" représente le père de tous les processus, il aura donc toujours un PID de numéro 1.
"init" lit sa configuration dans le fichier /etc/inittab qui contient le paramétrage pour le système à chaque niveau d’exécution.

Niveaux d’exécution


"init" définit les niveau X d’exécution standards pour Linux :
  • Niveau 0 : Halte ( à ne pas attribuer à la initdefault)
  • Niveau 1, S : mode en utilisateur simple (seul le super utilisateur peut se connecter). Généralement utilisé pour la maintenance.
  • Niveau 2 : mode utilisateurs multiples, sans réseaux NFS
  • Niveau 3 : mode complet d’utilisateurs multiples incluant le réseau
  • Niveau 4 : Configurable par l’utilisateur mais duplicata du niveau 3 par défaut.
  • Niveau 5 : X11 (incluant le réseau)
  • Niveau 6 : Redémarrer

Au niveau du fichier /etc/inittab, le contrôle du niveau d’exécution par défaut après que le système soit démarré présente le format suivant :
Id :x :initdefault :
Où x est le niveau d’exécution désiré après le démarrage du système.

Niveau d’exécution de System V


La possibilité de changer de niveau d’exécution offre une interaction facile aux administrateurs, ceci permet de basculer entre les différents niveaux de démarrage.
Les scripts de services sont présents dans /etc/rc.d/init.d. Chaque niveau d’exécution correspond à un répertoire /etc/rc.d/rcX.d où X correspond au niveau d’exécution.

Arrêt du système


Pour arrêter le système, il faut utiliser les commandes telles que :
#Shutdown –h now 
#halt 
#poweroff
#init 0

A voir également :

Ce document intitulé «  Linux – REDHAT – Initialisation et services du système  » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.