<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="../../stylesheet.xsl"?>
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
                         "/usr/share/sgml/docbook/xml-dtd-4.1/docbookx.dtd">
<article lang="fr">
  <title>Personnalisation du menu de LILO</title>
  <articleinfo>
    <date>1999-01-01</date>
    <author>
      <firstname>Thomas</firstname>
      <surname>Nemeth</surname>
    </author>
    <abstract>
      <para>
Je voulais avoir un menu de démarrage un peu plus joli que ce que nous
affiche LILO.
      </para>
      <para>
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. 
      </para>
    </abstract>
  </articleinfo>
<sect1>
  <title>La solution&#160;: lilo-color</title>
  <para>
Il faut aller chercher, pour avoir un minimum de personnalisation, un patch
à appliquer à LILO&#160;: <application>lilo-color</application>. L'adresse où
le trouver est&#160;: <ulink url="http://www.stack.nl/~stilgar/lilo/index.html">
http://www.stack.nl/~stilgar/lilo/index.html</ulink>.
Pour pouvoir utiliser <application>lilo-color</application> il faut
<application>lilo20</application> (que l'on patche avec
<application>lilo-color-1.0.2</application>). Je l'ai donc installé malgré
les risques d'incompatibilités... Et il y en a&#160;: le
<keycombo><keycap>CTRL</keycap><keycap>L</keycap></keycombo> 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.
  </para>
  <para>
L'installation se fait sans problème&#160;:
  </para>
  <orderedlist>
    <listitem>
      <para>
On décompacte lilo20 dans un répertoire genre <filename>$HOME/tmp</filename>
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 <filename>Makefile</filename> sont différents.
      </para>
    </listitem>
    <listitem>
      <para>
On patche le fichier spécifié puis on construit le binaire de lilo et
on l'installe (<userinput>make ; make install</userinput>).
      </para>
    </listitem>
    <listitem>
      <para>
Ensuite il faut revenir dans le répertoire du patch et lancer le make
qui construit un binaire (<filename>line</filename>) qui permet de
construire le fichier de «message» qui va s'afficher au boot.
      </para>
    </listitem>
    <listitem>
      <para>
Par ailleurs il y a un script nommé <filename>bootcreator</filename> qu'il faut
modifier et rendre exécutable (<userinput>chmod +rx bootcreator</userinput>)
afin de faire afficher ensuite le bon message de boot ;-)
      </para>
    </listitem>
    <listitem>
      <para>
Une fois finie l'installation de lilo, du message et la configuration
de lilo afin de reconnaitre ce fichier, il suffit de lancer&#160;:
<userinput>lilo</userinput>
      </para>
    </listitem>
  </orderedlist>
  <para>
À ce moment, tout est fini.
  </para>
</sect1>
<sect1>
  <title>Explications</title>
  <para>
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
<filename>lilo.conf</filename>. Le programme <application>line</application>
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 <filename>bootcreator</filename> et de modifier
les paramètres puis de lancer&#160;:
<userinput>./bootcreator &gt; bootmsg</userinput> ou encore
<userinput>./bootcreator &gt; /boot/startup-msg</userinput>.
  </para>
  <para>
On peut choisir le runlevel de Linux au moment du boot, par exemple pour
choisir <emphasis>lors de l'amorçage</emphasis> si l'on veut lancer Linux
en mode console ou si l'on préfère lancer directement Linux en X-Only
(cf. <filename>sample.bootmsg</filename> et
<filename>sample.lilo.conf</filename>). Il suffit de passer le numéro de
runlevel au noyau avec la ligne&#160;:
<userinput>append = "num-runlevel ..."</userinput> dans le fichier
<filename>/etc/lilo.conf</filename>.
  </para>
  <para>
Ce qui ne va pas ce sont les couleurs, je les ai modifiées parce que je les
trouve vraiment moches.
  </para>
</sect1>
<sect1>
  <title>Clavier</title>
  <para>
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.
  </para>
  <para>Merci à Chmouel Boudjnah pour ce qui suit&#160;:</para>
  <para>
L'installation du clavier francais est simple : normalement vous devriez
avoir un programme qui se nomme <application>keytab-lilo.pl</application>
dans <filename>/usr/sbin/</filename>.
Il faut tout d'abord transcrire votre keymap dans un fichier que LILO
comprendra. Pour cela faites&#160;:
  </para>
  <screen><![CDATA[# perl /usr/sbin/keytab-lilo.pl /chemin/vers/keytables/fr-latin1 > /boot/fr.kmp]]></screen>
  <para>
Ceci va créer le fichier <filename>fr.kmp</filename> dans le repertoire
<filename>/boot</filename>, ici c'est fr-latin1 qui a été transcrit, la
liste des keymap sont dans <filename>/usr/lib/kbd/keytables</filename>
pour une RedHat et <filename>/usr/share/keytables</filename> pour une Debian.
Cependant, pour ceux qui ont une Debian, il est recommandé soit de
modifier le script <filename>keytab-lilo.pl</filename> pour intégrer le
bon chemin soit de faire un répertoire <filename>kbd</filename> dans
<filename>/usr/lib</filename> et y mettre un lien vers
<filename>/usr/share/keytables</filename>. 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 <keycap>SHIFT</keycap> ni le pavé numérique) :-(, et comme je lance
mes OS par les chiffres...
  </para>
  <para>
Ensuite il faut juste rajouter dans son <filename>/etc/lilo.conf</filename>
la ligne suivante&#160;:
  </para>
  <screen><![CDATA[keytable = /boot/fr.kmp     # French keyboard]]></screen>
  <para>
Puis redémarrez LILO par&#160;: <userinput>/sbin/lilo -v</userinput> et à
partir du prochain reboot vous aurez un beau clavier français :-).
  </para>
</sect1>
<sect1>
  <title>Fichiers et liens</title>
  <itemizedlist>
    <listitem>
      <para>
Werner Almesberger, l'auteur de LILO, m'a révélé qu'il n'existe pas de site
Web consacré à ce logiciel, mais que la plus récente version se trouve
toujours sur <ulink url="ftp://lrcftp.epfl.ch/pub/linux/local/lilo/">
ftp://lrcftp.epfl.ch/pub/linux/local/lilo/</ulink>.
      </para>
    </listitem>
    <listitem>
      <para>
Le patch est téléchargeable à l'adresse :
<ulink url="http://www.stack.nl/~stilgar/lilo/index.html">
http://www.stack.nl/~stilgar/lilo/index.html</ulink>.
      </para>
    </listitem>
    <listitem>
      <para>
Une nouvelle version du patch pour LILO-21 est sortie. Elle peut être
facilement trouvée sur Freshmeat.
      </para>
    </listitem>
    <listitem>
      <para>
Voici mes
<ulink url="ftp://www.linux-france.org/pub/article/lilo/TN-lilo.tar.gz">
fichiers de configuration</ulink>.
      </para>
    </listitem>
  </itemizedlist>
</sect1>
</article>

