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
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.
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
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).
Commentaires
Afficher les commentaires en Vue non groupée | Vue groupée