:: Apinc :: Archilinux :: Fro4nix :: GeexdB :: Gnuworld-fr :: Knoppix-fr ::  Lea-linux :: Linucie ::  Octoz ::  Les pingunautes ::

Purée de Linux

Dernière mise à jour de la page le 07 avril 2005.

Menu

Un bootsplash au boot de linux

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.

Tout d'abord les ressources utilisées

Le site du how-to que je vais traduire et améliorer

Les patch, les themes, tout ce qu'il faut quoi !

Pour slackware:

Première étape : patch du noyau

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/

Attention ne récupèrez pas celle sur lequel vous tournez, mais une version infèrieure ou supèrieure. Moi je suis en 2.6.7, j'ai d'abord testé sur un 2.6.6, et depuis le 2.6.6 j'ai fait le 2.6.7.
Je me base sur mon cas donc sur un 2.6.7, pensez à modifier les fichiers en fonction de votre noyau ;-)
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  

ensuite dans : (moi j'ai une ATI mais adaptez pour vous)

Devices drivers > graphic support 
[*] Support for frame buffer devices                                                
< >   Permedia2 support                                                             
< >   CyberPro 2000/2010/5000 support                                               
[ ]   Chips 69000 display support                                                   
[ ]   IMS Twin Turbo display support                                                
  VGA 16-color graphics support                                                 
[*]   VESA VGA graphics support                                                     
< >   Hercules mono graphics support                                                
< >   nVidia Riva support                                                           
< >   Matrox acceleration                                                           
< >   ATI Radeon display support (Old driver)                                      
  ATI Radeon display support                                                    
[*]     DDC/I2C for ATI Radeon support                                              
[ ]     Lots of debug output from Radeon driver                                     
< >   ATI Rage128 display support                                                   
< >   ATI Mach64 display support                                                    

< >   SiS acceleration                                                              
< >   NeoMagic display support                                                      

< >   IMG Kyro support                                                              
< >   3Dfx Banshee/Voodoo3 display support                                          
< >   3Dfx Voodoo Graphics (sst1) support                                           
< >   Trident support                                                               
< > Virtual Frame Buffer support (ONLY FOR TESTING!)
Devices drivers > graphic support > Console display driver support

 --- VGA text console                                                              
[*]   Video mode selection support                                                
 MDA text console (dual-headed) (EXPERIMENTAL)                               
 <*> Framebuffer Console support                                                   
 [ ]   Select compiled-in fonts

ç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 --revision nom_machine_cible.numéro_version kernel_image

Passez maintenant en root et installez le noyau.

dpkg -i kernel-image...deb
update-modules

Installation des fichiers pour le bootsplash

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 main
apt-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

Création du initrd

Nous allons créer le initrd, pour charger le bootsplash, à faire en root:
Le nom du noyau (ici 2.6.7) doit correpondre au votre, par exemple vmlinuz-2.6.7-monnoyau donne initrd.2.6.7-monoyau.
/usr/sbin/splash -s -f 
/etc/bootsplash/themes/newlinux/config/bootsplash-1024x768.cfg 
>> /boot/initrd-2.6.7
Cette commande est sur une seule ligne dans votre console (en root), je précise ici les espaces: /usr/sbin/splash -s -f (espace) /etc/bootsplash/themes/newlinux/config/bootsplash-1024x768.cfg (espace) >>(espace) /boot/initrd-2.6.7

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-bootsplash
root (hd0,0)
kernel /boot/vmlinuz-2.6.7 root=/dev/hda1 5 vga=791 splash=silent 
initrd /boot/initrd-2.6.7.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.

- Soit automatiquement sous debian

dpkg-reconfigure bootsplash

Et vous choisissez votre thème.

- Soit manuellement

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 F2. Sur mon clavier usb, je dois attendre le chargement des modules usb, pour les afficher.

Commentaires

Je ne rouve pas l'option bootsplash

Message posté par Libretto le 2004-11-24 à 23:13:04

Excellent tuto.
Je suis tombé par hasard sur Bootsplash en voulant compiler un noyau pour mon Toshiba Libretto 50CT (un vieux pentium 75) et ait pas mal cafouillé.
J'ai repris ma compilation quand j'ai vu qu'il y avait des options particulières à utiliser pour Bootsplash mais après plusieurs tentatives et pas mal de bricolage je n'arrive plus à trouver l'option dans Device Driver / Graphic support. Cette option est-elle liée à une autre ?

Il faut patcher le noyau !!

Message posté par ebdomino le 2004-11-25 à 12:03:05

bonjour,

vous avez oublié de patcher votre noyau (en 2.6.9 le patch existe sur le site que je cite), et il faut aussi patcher les sysrc (paquet debian disponible). A la lecture de votre site je ne voie rien de plus, mais n'hésitez pas à réagir ici ou dans le forum de fro4nix (lien plus haut)

a+

Quelques commentaires

Message posté par Chris le 2005-01-15 à 15:54:59

Salut,

Je prend la liberté de faire quelques commentaires sur le sujet :

- L'option [*] Support for Large Block Devices n'a rien à voir avec le framebuffer ni avec bootsplash, il s'agit d'une option qui permet de monter des 'block devices' de plus de 2 TB en loopback ou en Raid.

- L'option 'Bootup Logo' n'a rien à voir non plus avec le bootsplash, et peut même être gênante dans certains cas.

Voilà.

A+
Chris

initrd obligé ou pas ?

Message posté par Bahamut le 2005-06-09 à 14:45:06

<*> RAM disk support
(16384) Default RAM disk size

[*] Initial RAM disk (initrd) support


Je voulais savoir si ceci étai indispensable car je me suis battu pour pu l'avoir justement !!

j'ai un noyau 2.6.11.11 et tout ce que j'ai réellemnet besoin au demarage de la machine sont compilé n DUR dand le noyau

et il me semble que cette option sert a gerer ce qu'on a mis en module et qui son necessaire au boot de la machine ...

donc voila si ce n'est pas indispensable ca m'arrengerais ^^

Oui

Message posté par Nom le 2005-06-15 à 14:04:51

Oui, en effet, le initrd est obligatoire, puisque c'est dans celui-ci que sera stockée l'image qui sera affichée. Tu n'as pas tord, initrd sert en effet à stocker tout ce dont le système linux a besoin avant même le démarrage de celui-ci, et l'on peut y mettre un peu ce que l'on veut. Dans le cas présent, l'image doit être affichée avant que le système de fichier sur lequel elle est stockée soit monté.

Blocage au boot

Message posté par Georges le 2005-07-01 à 23:59:05

Bonsoir,

Tout d'abord, merci pour ce tutorial.
J'ai suivi les indications à la lettre concernant la compilation d'un noyau 2.6.12 "à la manière Debian" en intégrant le patch correspondant (bootsplash-3.1.6-2.6.12.diff) puis en installant les paquets bootsplash et sysv-rc-bootsplash.
Pas de difficultés particulières... Mais au reboot, après affichage de l'image du gentil Tux et du message "Press F2 for verbose mode", la procédure d'amorçage est totalement gelée. Seul un "reset" permet de retrouver la main... sur une ancienne version du noyau (2.6.8).
Peut-être avez-vous quelque idée et solution au problème rencontré ?
A vous lire. Merci d'avance.
Georges.

[Résolu] Procédure de boot gelée

Message posté par Georges le 2005-07-02 à 11:39:52

Bonjour,

J'apporte ce jour un complément à mon message d'hier relatif au gel de la procédure de boot.
En effet, après nouvelle étude du problème (dû, sans doute, à une lecture du tutorial bien rapide de ma part...), j'ai effectué la mise à jour de l'initrd, lequel doit être préalablement créé par la procédure habituelle, en exécutant la commande mentionnée dans le paragraphe "Création du initrd" :
splash -s -f ..... >> /boot/initrd-2.6.x
Elle intègre ainsi le bootsplash dans l'initrd existant.
Voilà les précisions que je souhaitais apporter.
A +
Georges.

petite question pour la compatibilité

Message posté par drfazor le 2005-08-09 à 18:52:26

Salut a toi,

Je me permet de te poser cette petite question:
A l'heure qu'il est, le dernier kernel sur kernel.org est le 2.6.12.4 et le dernier patch de bootsplash.de est pour le 2.6.12 .... Puis je patcher le dernier kernel avec ce patch ?

Re: petite question pour la compatibilité

Message posté par Fred le 2005-08-11 à 11:40:31

Bonjour drfazor,

Je ne le garantie pas, n'ayant pas fait l'essai mais a priori cela devrait fonctionner.

Felicitation

Message posté par Bobyone le 2005-10-27 à 00:50:59

Hello,

Tout d'abord excellent tuto.

Installation Bootsplash avec noyau 2.6.13-4 sans problème à part la petite faute lors de la configuration du GRUB ou LILO :

initrd /boot/initrd-2.6.7.img

Il faut supprimer le ".img" puisque lors de la création avec la commande splash l'initrd se nomme "initrd-2.6.7"

Noyau déjà patché ???

Message posté par Tranx le 2005-11-25 à 22:19:57

Mon boot affiche déjà un TUX. Donc, si j'ai bien compris, il me suffit juste de modifier le initrd pour modifier le TUX ?
Soyez indulgents....

Ajouter un commentaire

Titre :

Par :
Courriel* :
Site web :

Commentaire :

* Le courriel ne sera pas affiché !

Google

sur :
le Web
Purée de Linux

Ce site devrait être valide XHTML 1.0 | © Purée de Linux