5. Lilo

Lilo est livré avec un script très bien conçu nommé QuickInst. Décompressez les sources de Lilo dans le répertoire des sources du système cible, lancez ce script par la commande ROOT=/mnt/cible ./QuickInst. Il vous posera plusieurs questions concernant la manière dont vous souhaitez que Lilo soit installé.

Puisque nous avons affecté à la variable ROOT la partition cible, les noms des fichiers que nous lui indiquons doivent être relatifs à cette partition. Donc, à la question du nom du noyau à lancer par défaut, répondez /boot/bzImage, et non /mnt/cible/boot/bzImage.

J'ai trouvé une erreur mineure dans le script, qui lui fait dire :

./QuickInst: /boot/bzImage: no such file 

Mais si vous vous contentez de l'ignorer, cela passe quand même.

Comment doit-on s'y prendre pour expliquer à QuickInst où installer le secteur d'amorçage ? Quand nous redémarrerons, nous voulons avoir le choix de démarrer le système source ou le système cible, ou encore n'importe quel autre système présent sur la machine. Et nous souhaitons que l'instance de Lilo que nous mettons en place maintenant lance le noyau de notre nouveau système. Comment réaliser ces deux choses ? Écartons-nous un moment du sujet et étudions la façon dont Lilo démarre DOS sur un système Linux en double-amorçage. Le fichier lilo.conf d'un tel système doit sûrement ressembler à ça.

prompt
timeout = 50
default = linux
image = /boot/bzImage
 label  = linux
 root   = /dev/hda1
 read-only
other = /dev/hda2
 label = dos

Si la machine est configurée de cette façon, alors le bloc de démarrage (Master Boot Record - MBR) est lu et chargé par le Bios, et lance le chargeur d'amorçage de Lilo (bootloader), qui affiche une invite de commande. Si vous tapez dos à cette invite, Lilo chargera le secteur d'amorçage de hda2, qui lancera DOS.

Ce que nous allons faire est exactement la même chose, à une différence près : le secteur d'amorçage de hda2 sera un autre secteur d'amorçage Lilo - celui-là même que QuickInst va installer. Donc le Lilo de la distribution Linux chargera le Lilo que nous avons construit, qui chargera le noyau que nous avons bâti. Vous verrez alors deux invites Lilo au redémarrage.

Pour raccourcir une longue histoire, lorsque QuickInst vous demande où placer le secteur de boot, indiquez-lui l'endroit où se trouve votre système de fichiers cible, par exemple /dev/hda2.

Maintenant modifiez le fichier lilo.conf de votre système source, de façon à ce qu'il comprenne une ligne ressemblant à :

other = /dev/hda2
 label = cible

Lancez lilo, et nous devrions être capables de faire notre premier démarrage sur le système cible.