Personnalisation du menu de LILO

Auteur : Thomas Nemeth (199901)

PROBLÈME

Je voulais avoir un menu de démarrage un peu plus joli que ce que nous affiche LILO.

Je suis tombé sur des articles traitant de lilo, mais n'arrivais pas à trouver de doc parlant de l'option message du fichier /etc/lilo.conf qui permet de pouvoir afficher un message à la place de l'affreux "LILO boot:". Tout ce que j'avais pu savoir c'était que CTRL-L permettait d'effacer l'écran quand on le plaçait en début du fichier contenant le message de choix du SE. Cela n'offrait que la possibilité d'effacer l'écran et d'afficher un simple message contenu dans un fichier texte. Assez banal en somme.

SOLUTION

Il faut aller chercher, pour avoir un minimum de personnalisation, un patch à appliquer à LILO : lilo-color.
L'adresse où le trouver est : http://www.stack.nl/~stilgar/lilo/index.html
Pour pouvoir utiliser lilo-color il faut lilo20 (que l'on patche avec lilo-color-1.0.2). Je l'ai donc installé malgré les risques d'incompatibilités... Et il y en a : le CTRL-L n'efface plus l'écran comme c'était le cas avec la version 19. Mais bon, comme ce n'est plus la même commande ce n'est pas vraiment un problème grave ;-). Par ailleurs il faut savoir que certaines fonctions de LILO ont été supprimées, notamment le boot par ligne série.

L'installation se fait sans problème :

  1. On décompacte lilo20 dans un répertoire genre $HOME/tmp puis on décompacte l'archive du patch lilo-color non pas dans le répertoire de lilo comme indiqué dans le README mais dans le répertoire parent (par exemple) car les Makefiles sont différents.
  2. On patche le fichier spécifié puis on construit le binaire de lilo et on l'installe (make ; make install).
  3. Ensuite il faut revenir dans le répertoire du patch et lancer le make qui construit un binaire (line) qui permet de construire le fichier de «message» qui va s'afficher au boot.
  4. Par ailleurs il y a un script nommé bootcreator qu'il faut modifier et rendre exécutable (chmod +rx bootcreator) afin de faire afficher ensuite le bon message de boot ;-)
  5. Une fois finie l'installation de lilo, du message et la configuration de lilo afin de reconnaitre ce fichier, il suffit de lancer : lilo

à ce moment tout est fini.

EXPLICATIONS

Il faut créer un fichier message avec tous les contrôles des couleurs et le texte. Il y a un exemple du fichier de message, ainsi qu'un exemple du fichier lilo.conf. Le programme "line" sort sur la sortie standard le nombre (1er paramètre) de caractères voulus (2ème paramètre). On peut en passer plusieurs couples (nombre, caractère) sur la ligne de commande. Donc pour se faire son fichier de message il suffit d'éditer le script bootcreator et de modifier les paramètres puis de lancer : ./bootcreator > bootmsg ou encore ./bootcreator > /boot/startup-msg.

On peut choisir le runlevel de Linux au moment du boot, par exemple pour choisir lors de l'amorçage si l'on veut lancer Linux en mode console ou si on préfère lancer directement Linux en X-Only (cf. sample.bootmsg & sample.lilo.conf). Il suffit de passer le numéro de runlevel au noyau avec la ligne :
append = "num-runlevel ..."
dans le fichier /etc/lilo.conf.

Ce qui ne va pas ce sont les couleurs, je les ai modifiées parce que je les trouve vraiment moches.

CLAVIER

On peux utiliser le clavier français si PERL est installé, mais je l'ai essayé et ça marche très bien sans ça. ça pourrait poser des problèmes si vous avez des lettres qui ne sont pas placées identiquement entre le clavier français et le clavier américain.

Merci à Chmouel Boudjnah pour ce qui suit :

L'installation du clavier francais est simple : normalement vous devriez avoir un programme qui se nomme keytab-lilo.pl dans /usr/sbin. Il faut tout d'abord transcrire votre keymap dans un fichier que LILO comprendra. Pour cela faites :

# perl /usr/sbin/keytab-lilo.pl /chemin/vers/keytables/fr-latin1 > /boot/fr.kmp

Ceci va créer le fichier fr.kmp dans le repertoire /boot, ici c'est fr-latin1 qui a été transcrit, la liste des keymap sont dans /usr/lib/kbd/keytables pour une RedHat et /usr/share/keytables pour une Debian. Cependant, pour ceux qui ont une Debian, il est recommandé soit de modifier le script keytab-lilo.pl pour intégrer le bon chemin soit de faire un répertoire kbd dans /usr/lib et y mettre un lien vers /usr/share/keytables. Cependant, il faut modifier la gestion de la ligne des chiffres car ni elle ni le pavé numérique ne fonctionnent correctement avec la version originale de fr-latin1 (je pense que c'est dû à un bug du programme de transcription qui ne gère pas la touche SHIFT ni le pavé numérique) :-(, et comme je lance mes OS par les chiffres...

Ensuite il faut juste rajouter dans son /etc/lilo.conf la ligne suivante :

keytable = /boot/fr.kmp # French keyboard

Puis redemarrez LILO par : /sbin/lilo -v et à partir du prochain reboot vous aurez un beau clavier français :-).

FICHIERS ET LIENS