Skip to content

Avoir un écran sympa lors du boot avec bootsplash

Pour avoir un écran plus design lors du boot de Linux, il existe plusieurs solutions, dont bootsplash ou "linux progress patch".

Dans cet article, je vais décrire la méthode que j'ai utilisée pour installer bootsplash qui permet de mettre une belle image de fond lors du boot (en gardant les messages) ou de masquer totalement les messages avec une image.

Modification du noyau

Récupération du patch

Pour pouvoir afficher une image lors du démarrage de la machine, il va falloir appliquer un patch au noyau linux.
Vous devez donc avoir les sources de votre noyau. Pour cela 2 solutions :

  • télécharger un noyau sur ftp.kernel.org
  • installer un packet de votre distribution contenant le noyau (exemple pour une Debian : apt-get install kernel-source-<version>)

Il faut ensuite aller cherche le patch sur ftp://ftp.suse.com/pub/people/stepan/bootsplash/kernel/ et choisir le patch correspondant à sa version de noyau (exemple bootsplash-3.0.7-2.4.20-vanilla.diff pour un noyau 2.4.20).
S'il n'y en a pas, prendre le plus proche, mais cela n'est pas sur que cela fonctionne sans intervention manuelle...

Application du patch

Une fois le patch récupéré, le copier dans le répertoire des sources du noyau, généralement /usr/src/linux.
Puis se rendre dans la répertoire et appliquer le patch : cd /usr/src/linux
patch -p1 < bootsplash-3.0.7-2.4.20-vanilla.diff (à modifier en fonction du fichier de patch que vous avez récupéré)
patching file drivers/char/console.c
patching file drivers/char/keyboard.c
patching file drivers/char/n_tty.c
patching file drivers/video/Config.in
patching file drivers/video/Makefile
patching file drivers/video/fbcon-jpegdec.c
patching file drivers/video/fbcon-jpegdec.h
patching file drivers/video/fbcon-splash.c
patching file drivers/video/fbcon-splash.h
patching file drivers/video/fbcon-splash16.c
patching file drivers/video/fbcon.c
patching file include/video/fbcon.h
patching file kernel/panic.c
Si vous avez des erreurs qui apparaissent, il va falloir appliquer les bouts de patch à la main... mais cela sort du cadre de cette article.

Configuration du noyau

Pour que le patch soit actif dans le noyau, il faut configurer celui-ci.
Pour ce faire, il faut activer l'option "Use splash screen instead of boot logo" dans le menu "Console drivers -> Frame-buffer support", ainsi qu'une option de console graphique comme "VESA VGA graphics console" ou une autre suivant votre carte graphique.
Il faut aussi que le noyau supporte la gestion des RAM Disk et de l'initrd.

Reste ensuite à compiler votre noyau avec "make dep clean bzImage modules modules_install" et l'installer dans votre bootloader.

Utilitaire

Maintenant que le noyau est prêt, il faut créer la configuration de démarrage.

Il faut récupérer l'archive suivante : ftp://ftp.suse.com/pub/people/stepan/bootsplash/rpm-sources/bootsplash/splashutils.tar.bz2
puis la décompacter et la compiler avec : tar xvfj splashutils.tar.bz2
cd splashutils
make

On va créer une image initrd pour y placer les fichiers images (puisque au moment de l'affichage de celles-ci le noyau n'a pas encore accès au disque puisque non monté). ./splash -s -f /etc/bootsplash/themes/yourtheme/config/bootsplash-1024x768.cfg >> /boot/initrd.splash

Ne reste plus qu'à modifier grub ou lilo pour prendre en compte le nouveau noyau et le fichier initrd
Exemple pour grub : title Joli boot
root (hd0,1)
kernel /vmlinuz-splash root=/dev/hda2 hdc=ide-scsi vga=791
initrd /boot/initrd.splash

Un petit init 6, et pendant le démarrage de la machine, vous devrier avoir un joli penguin en fond d'écran.
Pour masquer complétement les messages de démarrage, il suffit d'ajouter le paramètre splash=silent au boot (dans grub ou lilo).

Rétroliens

Pas de rétroliens

Commentaires

Afficher les commentaires en Vue non groupée | Vue groupée

Pas de commentaires

Ajouter un commentaire

Marquer un texte en gras: *mot*, souligner un texte: _mot_.
Les smilies standard comme :-) et ;-) sont convertis en images.
Les adresses Email ne sont pas affichées, et sont seulement utilisées pour la communication.

Pour éviter le spam par des robits automatisés (spambots), merci d'entrer les caractères que vous voyez dans l'image ci-dessous dans le champ de fomulaire prévu à cet effet. Assurez-vous que votre navigateur gère et accepte les cookies, sinon votre commentaire ne pourra pas être enregistré.
CAPTCHA

Form options
tweetbackcheck