Boot process

Démarrage

Le démarrage d’un système sous Linux se fait en 5 grosses étapes :

Démarrage de Linux

Le rôle de l’init peut être réalisé par différents programmes : system V, systemd, BusyBox.

Linux initial RAM disk (initrd)

Ce fichier est un système temporaire qui est démarrer au boot de Linux et qui permet de charger les composants nécessaire au montage du système de fichier final, par exemple en chargeant les drivers.

Les modules

Dans Linux, il existe deux types de modules : les modules dynamiques et les modules statiques.

Modules statiques

Les modules statiques sont inclus dans le kernel lors de sa compilation.

Modules chargés par l’initrd

Ces modules ne sont pas inclus dans le kernel, mais ceci sont indispensable au montage du système de fichier et au boot du système. Ils sont donc placés sur un système de fichier particulier qui est monté pendant le boot.

Modules facultatifs

Le démarrage des modules facultatifs est réalisé par l’init. Les modules sont des fichiers avec l’extension .ko et sont stockés dans le dossier /lib/modules/<nom du kernel>. Leur chargement se fait à l’aide de la commande modprobe <name>. Il est possible d’afficher les modules chargés grâce à la commande lsmod et de les décharger avec rmmod. La commande modinfo peut être très pratique pour lister les modules chargés.