EEIJ

Païou : Mandriva Linux depuis 2002. Aujourd'hui, c'est Mageia Linux


Sommaire


Conforme à XHTML 1.0 Strict Conforme à CSS!

On se lasse de tout, sauf de comprendre.
Attribué à Virgile.

Démarrage de l'ordinateur sous Linux

Historique

02 juin 2011 : Ébauche de cette page.
1 octobre 2011 : restructuration
31 mai 2014 : actualisation

Difficulté

Pour : tout utilisateur curieux.

 Introduction

Païou s'intéresse au démarrage de l'ordinateur, avec Linux Mageia.
En fait, c'est pour pouvoir choisir le gestionnaire de connexion qui convient le mieux aux bureaux Xfce4 et LXQt.

Dans cette page, vous ne trouverez que le début du démarrage de Linux.
Pour le moment, c'est dans les coulisses que cela se passe. L'utilisateur ne voit pas grand'chose. Différents liens vous amèneront à d'autres pages, selon le gestionnaire de démarrage (sysvinit ou systemd) et le gestionnaire de connexion qui vous intéresse (texte, graphique, automatique ...)

Haut

 Le BIOS

Sans entrer dans les détails, le BIOS initialise les différents périphériques (bus, ram, disques ...).
Il recherche, sur l'un de ses périphériques accessibles, un système d'exploitation. Celui-ci doit être placé sur le premier secteur de la première piste du périphérique de démarrage (souvent, le premier disque dur).

Haut

 Le chargeur de démarrage

En guise de système d'exploitation, le BIOS trouve très souvent un chargeur de démarrage.

Lorsque plusieurs systèmes d'exploitation sont installés sur l'ordinateur, ce chargeur vous permet de choisir le système à utiliser.
Il trouve ensuite ce système et démarre le système d'exploitation.

Mageia utilise encore, pour le moment, GRUB Legacy (GRUB 1.5).
Son fichier de configuration est : /boot/grub/menu.lst.
Ce fichier précise :

Pour les curieux, survolez : exemple de fichier /boot/grub/menu.lst

Le fichier/boot/grub/menu.lst.example, avec les commentaires en français

###fichier menu.lst example###

## Délai avant que GRUB ne choisisse l'option de démarrage par défaut :
timeout 10

## Couleurs que GRUB utilise en mode texte :
color black/cyan yellow/cyan

## Valide le mode graphique [notez que, dans cet exemple, (hd0,0) est la partition racine, ce qui correspond à sda1]
## Vérifiez quelle est votre partition racine avec la commande 'mount' ou avec 'drakdisk' :
gfxmenu (hd0,0)/boot/gfxmenu

## Spécifie quel est votre système d'exploitation par défaut [0 correspond au premier des enregistrements ci-dessous] :
default 0

## Définition du système numéro 0 [les valeurs sont probablement différentes chez vous.] :
title linux
kernel (hd0,0)/boot/vmlinuz BOOT_IMAGE=linux root=UUID=0066e940-0dbc-11e0-a53d-8b9920942bc6 resume=UUID=9bc5f0a4-4e69-4855-8b06-e1eab35755fe splash quiet vga=788
root (hd0,0)
initrd /boot/initrd.img

## Définition du système numéro 1 [les valeurs sont probablement différentes chez vous.] :
title linux-nonfb
kernel (hd0,0)/boot/vmlinuz BOOT_IMAGE=linux-nonfb root=UUID=0066e940-0dbc-11e0-a53d-8b9920942bc6 resume=UUID=9bc5f0a4-4e69-4855-8b06-e1eab35755fe
root (hd0,0)
initrd /boot/initrd.img

## Définition du système numéro 2 [les valeurs sont probablement différentes chez vous.] :
title failsafe
kernel (hd0,0)/boot/vmlinuz BOOT_IMAGE=failsafe root=UUID=0066e940-0dbc-11e0-a53d-8b9920942bc6 failsafe
root (hd0,0)
initrd /boot/initrd.img

Haut

 Le noyau linux

Le chargeur de démarrage lance donc le système d'exploitation que vous avez choisi (Sinon, c'est le système par défaut qui est démarré).
Bien sûr, nous nous intéressons ici au système Linux.

C'est donc une image compressée du noyau linux qui est chargée, avec toutes les options précisées sur la ligne de commande.
kernel (hd0,0)/boot/vmlinuz BOOT_IMAGE=linux root=UUID=0066e940-0dbc-11e0-a53d-8b9920942bc6 resume=UUID=9bc5f0a4-4e69-4855-8b06-e1eab35755fe splash quiet vga=788

Dès lors qu'il est chargé et décompressé (hd0,0)/boot/vmlinuz), c'est le noyau linux qui prend la relève.

Son rôle, lors du démarrage, est d'initialiser les différents composants matériels présents. Il le fait à l'aide des pilotes de périphérique compilés directement dans le noyau et en chargeant les modules appropriés (usb, sata, pata ...).
Ces initialisations concernent surtout le processeur, les contrôleurs de périphériques et la carte graphique.

Il monte ensuite le système de fichier racine (root=UUID=xxxxxx).

Haut

 La suite du démarrage

Depuis longtemps, la majorité des distributions linux utilise sysvinit pour continuer le démarrage. Mageia 1 en faisait partie.
Le noyau lance le premier processus : /sbin/init.
La page pour voir la suite du démarrage avec sysvinit :
Cliquez

Peu à peu, sysvinit laisse la place à un système plus récent, plus rapide : systemd. C'est la cas pour Mageia 2 et les versions suivantes.
Le noyau lance également /sbin/init, mais ici, il s'agit d'un lien vers /lib/systemd/systemd.
La page pour voir la suite du démarrage avec systemd : Cliquez

Haut