Le fichier /etc/lilo.conf indique la marche à suive au programme chargé du lancement du système d'exploitation. Il contient un ou plusieurs stanzas, chacun ressemblant à peu de choses près à ce qui suit :
image=/boot/vmlinuz label=linux root=/dev/sda1 initrd=/boot/initrd read-only
(Le contenu exact varie suivant votre système). Le premier stanza spécifie l'image d'amorçage par défaut, qui est utilisée si l'utilisateur n'effectue aucune entrée à l'invite d'amorçage boot: . Si votre machine est configurée pour fonctionner avec plusieurs systèmes d'exploitation, l'image d'amorçage par défaut ne sera pas nécessairement Linux. Dans ce cas, le premier stanza ressemblera à ce qui suit :
other=/dev/sda1 label=Win95 table=/dev/sda
Recherchez le premier stanza de votre fichier lilo.conf, utilisé pour exécuter Red Hat Linux. Il faut s'assurer que l'image du noyau, pointée par ce stanza, est belle et bien disponible après la mise à jour (en cas de problèmes). Pour ce faire, ajoutez le numéro de version de l'ancien noyau aux lignes "image" et "label" :
image=/boot/vmlinuz-2.0.16 label=linux-2.0.16 root=/dev/sda1 initrd=/boot/initrd read-only
(Si l'image contient déjà un numéro de version du noyau, laissez la ligne "image" inchangée. Vous devez par contre modifier la ligne "label".)
Vous devez maintenant effectuer une copie de l'intégralité du stanza:
image=/boot/vmlinuz-2.0.16 label=linux-2.0.16 root=/dev/sda1 initrd=/boot/initrd read-only image=/boot/vmlinuz-2.0.16 label=linux-2.0.16 root=/dev/sda1 initrd=/boot/initrd read-only
Modifiez maintenant le premier stanza pour faire référence au nouveau noyau. Pour ce faire, changez le numéro de version du noyau en éditant la ligne "image". Si vous utilisez aussi une ramdisk initiale, vous devez vous assurer de la présence du bon numéro de version dans la ligne "initrd". Supprimez la version du noyau de la ligne label, conservez simplement label=linux. Lorsque vous avez terminé, votre fichier lilo.conf devrait contenir deux stanzas :
image=/boot/vmlinuz-2.0.32 label=linux root=/dev/sda1 initrd=/boot/initrd-2.0.32 read-only image=/boot/vmlinuz-2.0.16 label=linux-2.0.16 root=/dev/sda1 initrd=/boot/initrd read-only
Voici un exemple de fichier /etc/lilo.conf modifié dans son intégralité :
boot=/dev/sdamap=/boot/mapinstall=/boot/boot.bprompttimeout=50 image=/boot/vmlinuz-2.0.32 label=linux root=/dev/sda1 initrd=/boot/initrd-2.0.32 read-only image=/boot/vmlinuz-2.0.16 label=linux-2.0.16 root=/dev/sda1 initrd=/boot/initrd read-only
Sauvegardez maintenant les modifications effectuées, et exécutez la commande suivante :
/sbin/lilo
(Si lilo retourne une erreur; ajoutez l'option -r pour en savoir un peu plus. Si vous avez des problèmes lors de l'exécution de /sbin/lilo, NE REDEMARREZ PAS le système tant que vous n'avez pas trouvé de solution les concernant ! Vous rencontreriez des problèmes pour redémarrer votre système !)
Vous avez maintenant deux noyaux à votre disposition -- l'original, et le nouveau. Le nouveau noyau est exécuté si l'utilisateur tape linux à l'invite d'amorçage boot: (ou exécuté par défaut si son stanza se trouve en premier dans le fichier /etc/lilo.conf). Vous pouvez aussi exécuter l'ancien noyau, en tapant le label correspondant à l'invite d'amorçage boot: (ex : linux-2.0.16 exécute la seconde image de notre fichier d'exemple lilo.conf).