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.
14 septembre 2011 : Nouvelle présentation et actualisation.
1 octobre 2011 : déplacement de la partie sysvinit sur une nouvelle page
11 septembre 2012 : légère mise à jour

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 au bureau Xfce4.

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 ...)

 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 GRUB Legacy (GRUB 1).
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,3) est la partition racine, ce qui correspond à sda4]
## Vérifiez quelle est votre partition racine avec la commande 'mount' ou avec 'drakdisk' :
gfxmenu (hd0,3)/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,1)/boot/vmlinuz BOOT_IMAGE=linux root=UUID=0066e940-0dbc-11e0-a53d-8b9920942bc6 resume=UUID=9bc5f0a4-4e69-4855-8b06-e1eab35755fe splash=silent vga=788
initrd (hd0,1)/boot/initrd.img

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

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

## Définition du système numéro 3, lorsque Windows est installé [les valeurs sont probablement différentes chez vous.] :
title windows
root (hd0,0)
makeactive
chainloader +1

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,1)/boot/vmlinuz BOOT_IMAGE=linux root=UUID=0066e940-0dbc-11e0-a53d-8b9920942bc6 resume=UUID=9bc5f0a4-4e69-4855-8b06-e1eab35755fe splash=silent vga=788

Dès lors qu'il est chargé et décompressé ((hd0,1)/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 fait partie.
Le noyau lance le premier processus : /sbin/init.
La page pour voir le fonctionnement de sysvinit :
Cliquez

Peu à peu, sysvinit laisse la place à un système plus récent, plus rapide : systemd. Ce sera la cas pour Mageia 2.
Le noyau lance également /sbin/init, mais ici, il s'agit d'un lien vers /lib/systemd/systemd.
La page pour voir le fonctionnement de systemd : Cliquez

Haut