Lorsque l'ordinateur charge le secteur d'amorce d'un système sous Linux normal, ce qu'il charge est en fait une partie de Lilo, appelée chargeur d'amorçage de premier niveau (first stage boot loader). Il s'agit d'un mini-programme dont la seule tâche est de charger et d'exécuter le chargeur d'amorçage de deuxième niveau (second stage boot loader).
Le chargeur d'amorçage de deuxième niveau vous donne une invite de commande (s'il a été installé de cette manière) et charge le système d'exploitation de votre choix.
Lorsque votre système est monté et en état de marche, et que vous exécutez lilo, ce que vous exécutez en réalité est l'outil de définition des localisations (map installer). Celui-ci lit le fichier de configuration /etc/lilo.conf et écrit le chargeur d'amorçage sur le disque dur, avec les informations concernant les systèmes d'exploitation qu'il peut charger.
Il y a de nombreuses manières de rendre votre système amorçable. Celle que je viens de décrire est la manière la plus évidente et « normale », au moins pour une machine dont le système d'exploitation principal est Linux. Le Guide de l'utilisateur Lilo explique plusieurs exemples de méthodes d'amorçage. Cela vaut la peine de les lire, et d'en essayer quelques-uns.
Le fichier de configuration de Lilo est /etc/lilo.conf. Il existe une page de manuel (man page) à son sujet : tapez man lilo.conf dans un shell pour l'afficher. La principale caractéristique de lilo.conf est qu'il existe une entrée pour chaque chose que Lilo doit pouvoir lancer. Pour une entrée Linux, cela inclut l'emplacement du noyau, et la partition à monter comme racine du système de fichier. Pour les autres systèmes, la principale information est la partition sur laquelle démarrer.
DANGER : soyez prudent avec ces exercices. Il est assez facile de faire une erreur quelque part et de bloquer votre bloc de démarrage (master boot record - MBR, premier secteur du disque dur, qui contient le chargeur d'amorçage et la table des partitions) et de rendre ainsi votre système inutilisable. Assurez-vous que vous avez une disquette de réparation qui fonctionne, et que vous savez comment vous en servir pour remettre les choses en état. Voir ci-dessous un lien vers tomsrtbt, la disquette de réparation que j'utilise et recommande. La meilleure des précautions est d'utiliser une machine qui ne contienne pas de données sensibles.
Installez Lilo sur une disquette. Peu importe s'il n'y a rien d'autre sur la disquette que le noyau - vous obtiendrez un kernel panic quand le noyau sera prêt à charger init, mais au moins vous saurez que Lilo fonctionne.
Si vous le souhaitez, vous pouvez essayer de voir jusqu'à quel point vous pouvez faire tenir un système sur une disquette. C'est sûrement la deuxième meilleure activité pour apprendre Linux. Voir le « Comment faire une disquette d'amorçage » (url ci-dessous), et tomsrtbt (url ci-dessous) pour avoir des pistes.
Configurez Lilo afin qu'il lance Unios (voir section exercices sur la partie matérielle pour une url). Comme défi supplémentaire, voyez si vous pouvez le faire sur une disquette.
Faites une boucle d'amorçage. Configurez le Lilo du bloc de démarrage pour qu'il lance le Lilo du secteur d'amorçage d'une des partitions principales, puis configurez ce Lilo pour qu'il relance celui du bloc de démarrage. Ou alors utilisez le bloc de démarrage et vos quatre partitions principales pour faire une boucle en cinq points ! Marrant !
La page de manuel de Lilo
Le paquet Lilo (ftp://lrcftp.epfl.ch/pub/linux/local/lilo/) contient le « Guide l'utilisateur de Lilo » lilo-u-21.ps.gz (ou une version plus récente). Il se peut que vous disposiez déjà de ce document. Regardez dans /usr/share/doc/lilo ou à un endroit similaire. La version PostScript est meilleure que la version en texte brut, car elle contient des diagrammes et des tables.
tomsrtbt : le Linux mono-disquette le plus cool ! Constitue une excellente disquette de secours.
Comment faire une disquette d'amorçage (Bootdisk HOWTO).