Par ebdomino, le 21/07/2004
Jaloux de la belle image qui apparait quand on démarre sur une fedora, et suite à une discussion avec bouyafa ;-D en irc, je me suis penché sur cette épineuse question ! Le bootsplash étant inutile en devient totalement indispensable !Ce howto a été expérimenté sur une debian sid, si vous l'appliquez sur d'autres distributions avec succès, dites le moi et communiquez moi les diffèrences je les ajouterais.
Le site du how-to que je vais traduire et améliorer
Les patch, les themes, tout ce qu'il faut quoi !
Et oui, car il faut recompiler le noyau si le votre n'est pas prévu pour un bootsplasch. rien de bien extraordinaire, si on a déja compilé, sinon c'est un peu plus complexe.
D'abord vous récupèrez les sources du noyau sur kernel.org. Pour simplifier je suppose que vous téléchargez dans /home/(USER)/tmp/
Je me base sur mon cas donc sur un 2.6.7, pensez à modifier les fichiers en fonction de votre noyau ;-), penser à mettre un append à votre noyau su style --bs .. (voir le howto sur le son acer)
Ces manipulations se font en user, pas en root !
Ensuite le patch correspondant à votre noyau sur bootsplash.de: pour moi bootsplash-3.1.4-sp3-2.6.7.diff .
Décompressez les sources de votre noyau, par exemple dans /home/(USER)/tmp/ .
tar xjvf linux-2.6.7.tar.bz2
Ensuite copiez le patch dans le dossier des sources:
cp -a bootsplash-3.1.4-sp3-2.6.7.diff linux-2.6.7/
Maintenant , placez vous dans le dossier du noyau et appliquez le patch :
patch -p1 < bootsplash-3.1.4-sp3-2.6.7.diff
Vous allez entrer dans la configuration du noyau, et modifier les parmètres suivant:
make menuconfig
dans:
Devices drivers > block devices <*> RAM disk support (16384) Default RAM disk size [*] Initial RAM disk (initrd) support [*] Support for Large Block Devices
Devices drivers > graphic support [*] Support for frame buffer devices [*] VESA VGA graphics support < > ATI Radeon display support (Old driver) ATI Radeon display support [*] DDC/I2C for ATI Radeon support
Devices drivers > graphic support > Console display driver support --- VGA text console [*] Video mode selection support <*> Framebuffer Console supportça je ne suis pas sur que ce soit nécessaire, mais ça marche :D
Devices drivers > graphic support > Logo configuration [*] Bootup logo [ ] Standard black and white Linux logo [ ] Standard 16-color Linux logo [*] Standard 224-color Linux logo
Devices drivers > graphic support > Bootsplash configuration [*] Bootup splash screen
Sauvez votre configuration et lancez la compilation du noyau.
le site de stephane huc pour vous aider à compiler
L'excellente documentation de Alexis Delattre
Si comme moi vous avez compilé à la méthode debian vous devez faire :
fakeroot make-kpkg clean
fakeroot make-kpkg --append-to-version -bs --revision nom_machine_cible.numéro_version kernel_image
Passez maintenant en root et installez le noyau.
dpkg -i kernel-image...deb
Pour debian, et je pense pour les autres aussi, vous devez installer: bootsplash, sysv-rc-bootsplash (qui va patcher les script de boot, pour que les animations de l'image fonctionnent), et un thème au choix (pour debian le theme newlinux est posé par défaut).
Tous ces fichiers sont sur bootsplash.de, et pour debian un repository existe (à ajouter dans /etc/apt/sources.list):
deb http://www.bootsplash.de/files/debian unstable mainapt-get update
apt-get install bootsplash sysv-rc-bootsplash
Pour le paquet bootsplash, sous debian, il va vous demander de créer un initrd, répondez none, nous le crérons à la main.
Pour le paquet sysv-rc-bootsplash, répondez yes, bien sur
Nous allons créer le initrd, pour charger le bootsplash, à faire en root:
/usr/sbin/splash -s -f /etc/bootsplash/themes/newlinux/config/bootsplash-1024x768.cfg >> /boot/initrd-2.6.7.img
Cette commande est sur une seule ligne dans votre console (en root),
A adapter pour votre résolution, et votre thème.
Ensuite vous devez ajouter à votre configuration de bootloader, le nouveau noyau et le initrd:
J'utilise grub, donc je ne sais pas si la configuration est correcte pour lilo, c'est celle donnée par le site.
Pour grub, dans /boot/grub/menu.lst:
title Linux kernel /boot/vmlinuz-2.6.10-eb root=/dev/hda1 ro vga=791 splash=silent max_scsi_luns=15 apm=power-off initrd /boot/initrd-2.6.10-eb.img savedefault boot
Pour lilo: dans /etc/lilo.conf ajouter:
label=kernel-splash image=/boot/vmlinuz-2.6.7 initrd=/boot/initrd-2.6.7.img append="splash=silent" vga=791
lilo -v
Le paquet bootsplash arrive avec un thème par défaut, newlinux. Sur debian il n'est pas possible de désinstaller ce thème . Donc si vous en installé un autre, vous devez changer le lien current qui point vers le theme newlinux.
cd /etc/bootsplash/thèmes
rm -i current
ln -s /etc/bootsplash/thème/votrethème current
Voila, normalement au reboot, vous avez un splash-screen, pour afficher les informations de démarrage, appuyez sur Echap. Sur mon clavier usb, je dois attendre le chargement des modules usb, pour les afficher.