Ceux qui ont connu la glorieuse époque MS-DOS se rappellent sûrement que, lors
de son lancement, le système cherchait deux fichiers particuliers :
CONFIG.SYS et AUTOEXEC.BAT. Le premier contient toutes les
informations nécessaires à la configuration du système, le deuxième un ensemble
de commandes MS-DOS qui s'exécutent automatiquement au démarrage. Linux, comme
tout système d'exploitation, dispose lui aussi d'un mécanisme permettant
d'initialiser les différents services qu'il propose. Bien sûr, étant
multi-tâches et multi-utilisateurs, cette procédure est plus complexe qu'avec
MS-DOS et peut dérouter les débutants, mais que ceux-ci se rassurent : la
majeure partie de cette configuration est faite lors de l'installation du
système et de l'installation des nouveaux paquetages avec un système de
paquetages (par exemple, rpm de Red Hat ou dpkg de
Debian). Toutefois, il est utile de savoir comment son système démarre (et
s'arrête) afin de pouvoir le personnaliser et/ou détecter (et corriger) les
éventuels dysfonctionnements.
Linux est un Unix empruntant à la fois des concepts de la famille « System V » et de la famille « BSD ». Sa procédure d'initialisation suit celle des Unix « System V » (exception faite de la distribution Slackware qui est utilise un procédure d'initialisation System V « BSDisée » et qui fera l'objet d'une section particulière).
Au départ, ce document ne traitait que des distributions Red Hat et Slackware. Nous l'avons complété en présentant les deux autres distributions fréquemment utilisées que sont Debian et SuSE.
Nous ne traitons pas, dans cet article, de LILO, le LInux LOader : par « démarrage du système », nous entendons « ce qui se passe une fois que LILO a lancé Linux ».
« Lancer Linux » signifie « lancer le noyau de
Linux » (généralement, /boot/vmlinuz-*,
/boot/vmlinuz-2.0.34-0.6 par exemple). C'est l'exécution de ce noyau
qui constitue le démarrage proprement dit.