Bienvenue visiteur (Inscription |  Connexion)
Qui est en ligne ?
Il y a : 24 utilisateurs en ligne, consultez le détail
Auteur Message
TrustRobot
#0 Message posté le : 17-01-2005 à 21:49:39


Scarabée


Forum : Inscrit
Association :
Arrivé(e) le : 04-07-2003
Nombre de messages : 177


Dans ce document je vais indiquer comment activer le bootsplash sur une distribution munie d'un noyau 2.6.x. Il est bien-sûr possible de réaliser cela avec un noyau 2.4, mais je n'en parlerai pas dans ce didacticiel.

Ce didacticiel s'adresse surtout aux utilisateurs dont la distribution ne dispose pas d'un bootsplash "natif", comprendre Slackware, Debian & co. Plus précisément, ce didacticiel n'intéresse ni les utilisateurs de Mandriva, ni ceux de RedHat, ni ceux de Fedora. Ces distributions ont déjà un bootsplash actif, y'a plus qu'à changer le thème. Pour cela, lisez la documentation de votre distribution ou faites comme moi en fin de didacticiel, mais dans ce cas, je ne garanti pas le résultat.

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.list
deb http://www.bootsplash.de/files/debian unstable main

Puis 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 fichier
    progressbar 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.7

Si 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.

8. Redémarrage



C'est la fin, il ne vous reste plus qu'à redémarrer votre Linux et à baver devant votre bootsplash. Si ça ne fonctionne pas, pas de panique, venez en discuter sur le forum de Trustonme.




--Message édité par TrustRobot le 17-01-2005 à 21:49:39--