Linux part 12 – Le démarrage du système

La théorie

Le BIOS, Basic Input Output System. est, au sens strict, un ensemble de fonctions, contenu dans la mémoire morte (ROM) d’une carte mère d’un ordinateur, lui permettant d’effectuer des opérations élémentaires lors de sa mise sous tension. Le bios accomplit la 1ère phase de démarrage d’un système d’exploitation. Il détecte, initialise et vérifie l’intégrité du matérielle, détermine le périphérique de démarrage et initialise le MBR.

Le MBR « Master Boot Record » (parfois aussi appelé « zone amorce ») est le nom donné au premier secteur adressable d’un disque dur. Il contient une routine d’amorçage dont le but est de charger le système d’exploitation, ou le chargeur d’amorçage (boot loader) s’il existe, présent sur la partition active.

Le chargeur (loader) a pour rôle d’activer le système d’exploitation (le noyau Linux)

linux boot process

Les deux principaux chargeurs (LILO ou GRUB).

Le kernel (noyau) à son tour active le 1er programme: /sbin/init de PID (1) « le père de tous les processus », charge le système de fichier root et exécute un runlevel.

Le run level, ou niveau de fonctionnement, est un chiffre ou une lettre utilisé par le processus « init » pour déterminer les fonctions activées.

Le run level varie généralement de 0 à 6. Chacun correspond à un ensemble d’applications à mettre en marche. En général, plus le run level est élevé, plus il y aura de fonctions actives.

Le fichier /etc/inittab détermine le run level par défaut du système au démarrage, ainsi que les fonctions actives à chaque runlevel via les scripts RC.

Les « Run Command » (RC) sont les scripts de démarrage des services exécutés dans les runlevels.

 

dmesg : Affiche les messages provenant du noyau (messages de démarrage)

#########################################
# Init
#########################################

Linux offre plusieurs modes d’exploitation appelés « niveau d’init »

# Les différents niveaux Linux:
0             Le système va s’arrêter
S,1          Modes maintenance (mono-utilisateur)
2,3,4,5   Modes normaux d’exploitation (multi-utilisateur)
6             Redémarrage

# Les différents niveaux sur RedHat et Suse:
2         Mode multi-utilisateur restreint
3         Mode multi-utilisateur, applis serveurs NFS actives
4         Mode non-défini, il doit être config par l’admin
5         Mode graphique

# Les fichiers Linux
/etc/inittab      Fichier qui décrit les applications activées par « init » en fonction du niveau choisi

# Les fichiers sur RedHat
/etc/rc.sysinit      Script de démarrage, activé par « init », initialise les éléments clés du système

# Les commandes
runlevel, who -r    Indique le niveau courant et le niveau précédent
telinit, init              Permet à l’admin de changer le niveau d’init

#########################################
# Les RC (les services)
#########################################

Un script RC permet le démarrage et l’arrêt d’un service.
Script commencant par S = Démarrage auto au boot de système
Script commencant par K = Arrêt auto à l’arrêt du système
Les scripts doivent être dans le bon répertoire : /etc/rc<niveau_d_init>.d/
Les nombres suivant S ou K indique l’ordre de démarrage.
Les scripts K sont démarrés avant les scripts S

# Les fichiers
/etc/init.d/              Répertoire qui contient les RC
/etc/rc2.d/[KS]*    Scripts activés auto lors du passage dans le niveau 2 d’init

# Redhat, Suse
chkconfig         Active ou désactive un service au prochaine boot
La commande crée ou supprime les liens

service           Active ou arrête un service (un RC)

# Debian
update-rc.d      Active ou désactive un service au prochaine boot
La commande crée ou supprime les liens

twitterlinkedin

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*