7.20. Rendre le système CLFS amorçable

Vous êtes presque prêt à démarrer votre nouveau système temporaire. Une des dernières choses à faire est de s'assurer que le système puisse démarrer. Les instructions ci-dessous ne s'appliquent qu'à des machines x86_64 sur lesquelles Lilo va être installé. Des informations sur l'utilisation d'un GRUB préinstallé sur des machines qui s'exécutent actuellement en x86 ou x86_64 multilib devraient être disponibles aux endroits habituels pour la documentation de ces architectures. Si vous avez installé une version x86 de Lilo, vous devriez modifier ces instructions pour vous référer aux commandes lilo et keytab-lilo.pl que vous avez installées sur le système hôte.

Le chargement au démarrage peut être un sujet complexe, donc quelques mots de prudence sont utiles. Familiarisez-vous avec le chargeur de démarrage actuel et tous les autres systèmes d'exploitation présents sur le(s) disque(s) dur(s) et qui doit/doivent être amorcé(s). Assurez-vous d'avoir un disque de démarrage d'urgence disponible pour « secourir » l'ordinateur s'il devient inutilisable (inamorçable).

Si vous avez plusieurs systèmes sur votre machine qui utilisent un chargeur de démarrage différent comme GRUB, il se peut que vous préférez utiliser plutôt celui-ci - consultez la documentation appropriée. Le reste de cette section suppose que vous allez utiliser Lilo.

Plus haut, nous avons compilé et installé le logiciel chargeur de démarrage pour préparer cette étape. La procédure implique d'écrire un image de démarrage à un endroit particulier du disque dur. Si vous avez un lecteur de disquette ou si vous avez installé un programme graveur de CD, nous vous recommandons fortement d'utiliser mkrescue pour créer une disquette de démarrage Lilo ou un CD (en utilisant par exemple dvdrecord de dvdrtools) pour faire un test et une sauvegarde.

Normalement, vous dialoguez avec Lilo en utilisant le curseur et les touches Entrée et les flèches pour faire une sélection parmi les ou l'option(s) disponible(s), mais il est parfois nécessaire d'ajouter d'autres options de démarrage comme 'init=/bin/bash' pour déboguer des échecs du noyau. Plus votre plan de codage de clavier est différent du type qwerty américain, plus il devient difficile de taper les options de démarrage, sauf si Lilo connaît le type de votre clavier. Nous allons donc créer un fichier de table de touches pour Lilo (.ktl) - ceux-ci sont désignés comme des fichiers .klt en un point de la documentation, ce qui peut être une coquille mais qui a été suivi par certaines distributions. Le nom et l'emplacement ne sont pas importants mais on les met par convention dans /boot avec le nom représentant le type de clavier. Pour un clavier de type britannique, la commande suivante fera ceci :

keytab-lilo.pl uk >${CLFS}/boot/uk.ktl

L'argument de la commande est le nom du plan de clavier ou si nécessaire, vous pouvez spécifier le chemin complet vers le plan de clavier. Utilisez ce qui convient à votre plan de clavier.

L'étape suivante est de créer /etc/lilo.conf :

cat > ${CLFS}/etc/lilo.conf << "EOF"
# Begin /etc/lilo.conf
# lilo.conf
#
# options globales
boot=/dev/<bootdisk>
keytable=/boot/<keytable>
lba32
map=/boot/map
prompt

# réglez le nom de l'image par défaut à démarrer
default=clfs

# définissez une image
image=/boot/clfskernel
    label=clfs
    root=/dev/<partition>
    read-only
# ajoutez éventuellement des paramètres à passer comme 
#   append="video=radeonfb:1024x768-16@70"

# si vous aviez un système existant, vous pouvez ajouter
# ses détails ici.
EOF

Remplacez <bootdisk> par le nom du disque (ou de la partition) sur lequel le secteur d'amorçage va être écrit, par exemple sda. Remplacez <keytable> par le nom du fichier de table de touches que vous avez créé et <partition> par le nom de la partition racine du nouveau système.

[Avertissement]

Avertissement

La commande suivante va écraser tout chargeur de démarrage actuel. Ne lancez pas la commande si tel n'est pas votre souhait. Si vous avez compilé de manière croisée depuis une machine différente de la cible, vous devez installer le chargeur de démarrage sur la machine cible, le bloc de démarrage installé n'est pas un fichier qui peut se copier avec tar.

Lancez Lilo :

/tools/bin/lilo.static -v -C ${CLFS}/etc/lilo.conf
[Note]

Note

Les personnes qui ont utilisé GRUB doivent garder à l'esprit que Lilo fonctionne différemment - en particulier vous ne pouvez pas éditer les choix disponibles comme cela se fait dans le shell grub et Lilo enregistre les adresses de bloc des noyaux dans les blocs d'amorçage chaque fois que /sbin/lilo est lancé. Cela signifie que quand vous compilez un nouveau noyau, vous devez l'ajouter à /etc/lilo.conf et relancer /sbin/lilo. Cela veut dire aussi que si vous recompilez un noyau existant et que vous le sauvegardez sous le même nom, vous devez également relancer /sbin/lilo s'il occupe des blocs différents sur le système de fichiers.