Ce billet est une traduction libre de l'article : "Wednesday Why: Customizing the Grub Splash Screen" écrit par Chris Tyler.

2008-02-13-grub-splash.png Le processus de démarrage d'un système Fedora commence habituellement par l'affichage par le chargeur d'amorçage Grub d'un écran (ou menu) de démarrage. L'arrière-plan de cet affichage est fourni par la merveileusement talentueuse équipe Fedora artTeam. L'image se trouve dans le fichier : /boot/grub/splash.xpm.gz du paquet fedora-logos.

La personnalisation de l'écran de démarrage avec votre photo préférée, le logo de votre société, ou même un dessin est assez simple :

  • Préparer une image adéquate. Elle doit être de 640x480 pixels et ne posséder qu'au maximum 14 couleurs parce que le mode utilisé par l'écran VGA pendant le démarrage a une résolution de 640x480 pixels avec 16 couleurs dont deux sont réservées au texte (le noir et le blanc). Si vous utilisez le logiciel Gimp, assurez- vous simplement de la résolution dans la barre de titre de l'image puis selectionnez le menu Image > Mode > Indexé, et renseigner le "nombre maximum de couleurs" à 14.
  • Sauvez votre image dans votre répertoire /boot/grub avec l'extension .xpm.gz
  • Éditez le fichier /boot/grub/grub.conf et modifiez le de telle façon que le paramètre splashimage pointe vers votre votre nouvelle image. Ce chemin sera relatif à la racine de votre partition /boot donc /boot/grub/myimage.xpm.gz devrait s'écrire (hdX,Y)/grub/myimage.xpm.gz (où X est le numéro du disque BIOS/Grub et Y le numéro de la partition BIOS/Grub).
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,0)
# kernel /vmlinuz-version ro root=/dev/concord3/f8root
# initrd /initrd-version.img
#boot=/dev/md0
default=0
timeout=5
splashimage=(hd0,0)/grub/myimage.xpm.gz
hiddenmenu
title Fedora (2.6.23.15-137.fc8)
root (hd0,0)
kernel /vmlinuz-2.6.23.15-137.fc8 ro root=/dev/concord3/f8root rhgb quiet
initrd /initrd-2.6.23.15-137.fc8.img
title Fedora (2.6.23.14-115.fc8)
root (hd0,0)
kernel /vmlinuz-2.6.23.14-115.fc8 ro root=/dev/concord3/f8root rhgb quiet
initrd /initrd-2.6.23.14-115.fc8.img

2008-02-13-grub-splash2.png Redémarrez pour voir le résultat.

Le format XPM utilisé par Grub est très inhabituel: il s'agit en fait d'une snippet (bribe) de code C contenant une table de correspondance entre des caractères ASCII et des codes de couleur ainsi que l'image encodée en art ASCII. Vous pouvez la voir en décompressant le fichier et en l'ouvrant avec un éditeur de texte.

Astuces pour la préparation d'une image de fond pour Grub:

  • Choisissez une image avec un faible nombre de couleurs afin d'éviter un tramage ou une solarisation trop importants lors de la réduction de nombre de couleurs.
  • Grub affiche le texte en blanc avec une ombre portée noire, ce qui devrait le rendre visible devant n'importe quelle couleur de fond -- mais il est tout de même conseillé d'éviter d'utiliser du blanc ou des couleurs très claires pour un maximum de lisibilité.