Linux 2.6 Bootsplash
17 Jan. 2005
- Auteur : Hyacinthe MENIET
- Responsable : TrustRobot
- Score ( voter ) :



- Connexes : Même auteur | Même responsable | Historique
1. Pré-requis
- Les sources du noyau 2.6, chez moi c'est le 2.6.7
- Le patch pour activer le bootsplash dans le noyau. Pour moi c'est bootsplash-3.1.4-sp3-2.6.7.diff, remarquez le "2.6.7" a la fin du nom du fichier. Cela indique que le patch est pour le noyau 2.6.7. Vous pourrez télécharger un patch mieux adapter à votre noyau ICI.
2. Application du patch
Commencez par décompresser les sources de votre noyau, dans /usr/src/linux, en étant root par :
# cd /usr/src
# tar xjvf linux-2.6.7.tar.bz2
# rm linux
# ln -s linux-2.6.7 linux
Copiez et appliquez le patch à votre noyau :
# cp -a /ou/est/bootsplash-3.1.4-sp3-2.6.7.diff /usr/src/linux
# cd /usr/src/linux
# patch -p1 < bootsplash-3.1.4-sp3-2.6.7.diff
3. Configuration et compilation du noyau
Je suppose dans la suite que vous avez déjà un fichier de configuration (/usr/src/linux/.config) fonctionnel. Si ce n'est pas votre cas, reportez-vous aux didacticiels qui en parlent pour savoir comment faire. Vous devrez probablement en faire une sauvegarde au cas où ça se passait mal. Pour utiliser le bootsplash, vous devez activer le framebuffer dans votre noyau. Ceci peut se faire par recompilation de votre noyau, avec les options suivantes :
Code maturity level options --->
[*] Prompt for development and/or incomplete code/drivers
Processor type and features --->
[*] MTRR (Memory Type Range Register) support
Device Drivers --->
Block devices --->
<*> Loopback device support
<*> RAM disk support
(4096) Default RAM disk size
[*] Initial RAM disk (initrd) support
Graphics support --->
[*] Support for frame buffer devices
[*] VESA VGA graphics support
Console display driver support --->
[*] Video mode selection support
<*> Framebuffer Console support
Bootsplash configuration --->
[*] Bootup splash screen
Je mets également les options qui doivent absolument être décochée :
Device Drivers --->
Graphics support --->
< > nVidia Riva support
Logo configuration --->
[ ] Bootup logo
Sauvez et lancez la compilation du noyau, par :
# make
# make modules_install
# cp arch/i386/boot/bzImage /boot/vmlinuz-2.6.7
# cp System.map /boot/System.map-2.6.7
# cd /boot
# mv vmlinuz vmlinuz.old
# ln -sf /boot/vmlinuz-2.6.7 vmlinuz
# rm System.map
# ln -s System.map-2.6.7 System.map
4. Installation des utilitaires de bootsplash sous Debian
Pour debian, ajoutez la ligne suivante à votre /etc/apt/sources.listdeb http://www.bootsplash.de/files/debian unstable mainPuis tapez en root :
# apt-get update
# apt-get install bootsplash sysv-rc-bootsplash
Le paquet sysv-rc-bootsplash va patcher les scripts de boot, pour que les animations fonctionnent. Bootsplash va installer les utilitaires et un thème par défaut dans /etc/bootsplash/themes.
5. Installation des utilitaires de bootsplash sous Slackware
Pour Slackware, téléchargez, le fichier et installez-le comme suite : # installpkg bootsplash-3.1-i486-2.tgz Ce paquetage va installer des utilitaires dans /sbin, des thèmes dans /etc/bootsplash/themes et des fichiers de configuration dans /etc/rc.d. Vous devez maintenant modifier manuellement les scripts de boot, pour activer les animations.-
Dans /etc/rc.d/rc.local :
Ajoutez en début de fichier
. /etc/rc.d/rc.bootsplash
et en fin de fichierprogressbar 100 . /etc/rc.d/rc.splash
-
Dans /etc/rc.d/rc.S
Ajoutez en début de fichier, juste en dessous de la ligne "PATH=/sbin:/usr/sbin:/bin:/usr/bin"
. /etc/rc.d/rc.bootsplash progressbar 5
-
Dans /etc/rc.d/rc.M
Ajoutez en début de fichier
. /etc/rc.d/rc.bootsplash progressbar 10
-
Dans /etc/rc.d/rc.6
Ajoutez en début de fichier, juste en dessous de la ligne "PATH=/sbin:/usr/sbin:/bin:/usr/bin"
. /etc/rc.d/rc.bootsplash
6. Application d'un thème
Chacun des paquets que vous avez installés, installe un thème par défaut. Ce thème ne correspond peut-être pas à votre personnalité ? voici un site, d'où vous pourrez télécharger moulte thèmes. J'ai choisi le thème 73labAllstar, mais y'en a d'autres. Pour l'installer tapez simplement dans un terminal en étant root :
# cd /etc/bootsplash/themes/
# tar -xjvf /où/est/Theme-73labAllstar.tar.bz2
# rm current
# ln -sf 73labAllstar current
Il ne vous reste plus qu'à créer un initrd qui chargera le bootsplash en mémoire en même temps que le noyau. La commande à taper dépend de la résolution d'écran que peux supporter votre frameBuffer. Si vous l'ignorez, je vous conseille 800x600. Je vous donne les 4 lignes, tapez celle qui vous convient, mais n'en tapez qu'une seule. Si ça peut vous aider, chez moi le framebuffer fonctionne à une résolution de 1024x768 :
# splash -s -f /etc/bootsplash/themes/current/config/bootsplash-800x600.cfg > /boot/initrd-2.6.7
# splash -s -f /etc/bootsplash/themes/current/config/bootsplash-1024x768.cfg > /boot/initrd-2.6.7
# splash -s -f /etc/bootsplash/themes/current/config/bootsplash-1280x1024.cfg > /boot/initrd-2.6.7
# splash -s -f /etc/bootsplash/themes/current/config/bootsplash-1400x1050.cfg > /boot/initrd-2.6.7
Note :Pour certaines distributions, comme Debian Sarge, il est préférable de faire, par exemple en 800x600 :
# splash -s -f /etc/bootsplash/themes/current/config/bootsplash-800x600.cfg >> /boot/initrd-2.6.7
Cela a l'avantage de ne pas écraser la configuration déjà présente dans le fichier /boot/initrd-2.6.7, mais d'ajouter simplement la nouvelle.
7. Configuration du chargeur de boot
La configuration du chargeur de boot est assez simple, il suffit de lui indiquer l'initrd à charger ainsi que la résolution à laquelle il démarrera le noyau. Pour spécifier une résolution à un chargeur d'OS, le plus simple est de renseigner la variable vga avec le code de la résolution. Parmi les codes possibles, vous avez : vga=788 - pour 800 x 600 - 16 bits vga=791 - pour 1024 x 768 - 16 bits vga=794 - pour 1280 x 1024 - 16 bits vga=834 - pour 1400 x 1050 - 16 bits Vous ne devrez configurer qu'un seul chargeur d'OS, celui que vous utilisez pour démarrer votre Linux.7.1 Configuration de Lilo
Comme à chaque fois que vous compilez un noyau, il est préférable de créer une nouvelle entrée dans votre /etc/lilo.conf. Dans cette nouvelle entrée vous indiquerez l'initrd à charger ainsi que la résolution à laquelle lilo démarrera le noyau. Voici comment j'ai fait chez moi :label="Linux" root = "/dev/hdb1" image="/boot/vmlinuz-2.6.7" initrd="/boot/initrd-2.6.7" append="splash=silent" read-only vga="791"Si vous la copiez telle quelle, ça ne marchera probablement pas chez vous. Vous devez l'adapter par mimétisme avec les autres entrées présentes dans votre /etc/lilo.conf. Quand vous avez enregistré vos modifications, tapez, toujours en étant root dans un terminal : lilo
7.2 Configuration de Grub
Comme à chaque fois que vous compilez un noyau, il est préférable de créer une nouvelle entrée dans votre /boot/grub/menu.lst. Dans cette nouvelle entrée vous indiquerez l'initrd à charger ainsi que la résolution à laquelle grub démarrera le noyau. Voici comment j'ai fait chez moi :title Linux root (hd1,0) kernel (hd1,0)/boot/vmlinuz-2.6.7 splash=silent vga=791 root=/dev/hdb1 initrd /boot/initrd-2.6.7Si vous la copiez tel quel, ça ne marchera probablement pas chez vous. Vous devez l'adapter par mimétisme avec les autres entrées présentes dans votre /boot/grub/menu.lst.