Des couleurs dans votre bootloader !

Salut les animaux !

Je continue dans ma lancée sur l’amélioration du démarrage.

Maintenant que mon démarrage est ultra-rapide, je ne peux plus frimer avec toutes les lignes de texte au démarrage (personne ne peux lire, même en loglevel=2). Du coup je me suis dis qu’il était l’heure de mettre de la couleur et de la joie dans le seul truc que je vois brièvement, le bootloader !

C’est aussi l’opportunité pour moi (et pour vous) d’approfondir ma connaissance du processus de boot (même si dans cette partie, pas grand chose de technique).

Comme je suis sous syslinux, je ne parlerais que de syslinux. Si vous avez autre chose, ce n’est probablement pas vraiment différent, si vous avez la foi vous pouvez nous faire un petit article, nous le publierons :D

Je précise donc tout de suite :

Ce que je vais faire peut casser votre système assez facilement, tout les fichiers que vous allez modifiez sont critiques et vous ne devez rien faire sans avoir compris ce que vous faites. Faites donc bien des sauvegardes des fichiers que vous allez modifier (j’ai l’habitude de les renommer en .old). Gardez une clef usb bootable à portée de main au cas ou vous auriez des problèmes, ce ne sont que des fichiers, il suffit donc juste de remettre l’ancienne version et votre système en lui-même reste identique.

Vous allez équiper votre système de l’objet suivant (je teste mon audience, si j’en ai une …) :

EyeCandy
Lié quand ramassé
Relique Idole
Châsse prismatique

+460 Intelligence
+689 Esprit
Niveau geek requis
Niveau d’objet 42
Équipé : Diminue votre score de hâte boot de 0s.
Équipé : Augmente votre score de maîtrise linux de 299.
Équipé : Transforme for boot moche en quelque chose de beau.

L’article n’a pas pour but de fournir les explications détaillées, juste de vous motiver en vous donnant les quelques liens intéressant que j’ai trouvés sur le sujet, de manière cohérente.

Syslinux

Le fichier qui donne cette horrible apparence à votre démarrage est ici :

/boot/syslinux/syslinux.cfg

Nous allons donc en faire une copie avant de faire des conneries :

# cp /boot/syslinux/syslinux.cfg /boot/syslinux/syslinux.cfg.old

Et l’ouvrir (nano devrait suffir) :

 # nano /boot/syslinux/syslinux.cfg

Menu simple 

La partie qui nous intéresse devrait être au début. Et voici ce que j’ai maintenant chez moi.

DEFAULT arch
PROMPT 0        # Set to 1 if you always want to display the boot: prompt
TIMEOUT 20
UI menu.c32
MENU TITLE Arch Linux
#MENU BACKGROUND splash.png
MENU COLOR border       30;40
MENU COLOR title        1;34;40
MENU COLOR sel          1;34;40
MENU COLOR unsel        37;40
MENU COLOR help         37;40
MENU COLOR timeout_msg  37;40
MENU COLOR timeout      1;31;40
MENU COLOR msg07        37;40
MENU COLOR tabmsg       1;33;40
MENU CLEAR

DEFAULT permet de sélectionner l’image qui va être lancé.
TIMEOUT indique le temps avant la selection automatique
Le reste est plutôt explicite.

La doc pour les couleurs est là : Le wiki syslinux à la section MENU COLOR.

Je vous laisse faire votre choix. La version ci dessus enlève les bordures, met le titre et la selection en bleu, le reste en blanc.

C’est bien mais ça reste un peu terne.

Menu graphique

En utilisant vesamenu.c32 il est possible d’ajouter une image de fond et changer un peu plus en profondeur l’agencement des éléments et avoir toutes les couleurs. Ici encore je me limiterais à la couleur, images et aux transparences. Ce qui donne déjà pas mal de possibilités.

Voici ce que ça donne chez moi :

UI vesamenu.c32
DEFAULT archgraphique
PROMPT 0
MENU TITLE ArchLinux (limited Quentin Edition)
MENU BACKGROUND splash.png
TIMEOUT 20
MENU WIDTH 78
MENU MARGIN 4
MENU ROWS 6
MENU VSHIFT 10
MENU TIMEOUTROW 13
MENU TABMSGROW 11
MENU CMDLINEROW 11
MENU HELPMSGROW 16
MENU HELPMSGENDROW 29
MENU CLEAR
MENU COLOR border 30;47 #00000000 #00000000 none
MENU COLOR title 1;30;47 #ffffffff #00000000 none
MENU COLOR sel 7;30;47 #ff000000 #00000000 none
MENU COLOR unsel 30;47 #ffffffff #00000000 none
MENU COLOR help 30;47 #ffffffff #a0000000 none
MENU COLOR timeout_msg 30;47 #ff000000 #00000000 none
MENU COLOR timeout 1;30;47 #ff000000 #00000000 none
MENU COLOR msg07 30;47 #ff000000 #00000000 none
MENU COLOR tabmsg 31;47 #e0000000 #00000000 none

Pour les couleurs c’est de la forme#AARRGGBB, où AA RR GG BB sont desnombres hexadecimal, respectivement, alpha (opacity), rouge, vert and bleu. #00000000 = 100% transparent, and #ffffffff opaque blanc. C’est toujours dans le wiki syslinux à la section MENU COLOR.

Il faut donc que je vous apprenne comment fabriquer la bonne image de fond. Je vous donne donc la ligne de commande à utiliser sur l’image de votre choix pour la rendre compatible.

$ convert -resize 640×480! -depth 16 -colors 65536 votreimage.jpg splash.png

Et vous copiez cette image dans /boot/syslinux/

Redémarrez et admirez votre travail.

Conclusion

Je suis désolé de ne pas vous avoir mit plus de screen-shot (comme d’hab, je travail directement sur mon système et non sur une machine virtuelle, je suis un fou :D). J’espère que vous avez malgré tout apprécié.

Je suis entrains de faire joujou avec mon Rasp Pi mais j’ai pas encore fini tout mes tests, je vous ferais un article quand ce sera finit, mais ce ne sera probablement pas avant 1 ou 2 semaines.

En attendant comme je bosse en LUA, je vous ferais peut-être un petit article de présentation avec les liens utiles.

@4nti7rust


5 Responses

  1. noireaude la-vache-libre.com 22 octobre 2012 / 18 h 17 min

    Oui c’est lui qui me l’a demandé par e-mail (je ne me serais pas permis de le faire sinon) ;).

  2. 4nti7rust 22 octobre 2012 / 18 h 15 min

    Hey t’as supprimé le super com de tr3z4r ? Je déconnais, c’est parce que je le connais :D (Le post date, mais je viens de le voir)

  3. 4nti7rust 26 septembre 2012 / 20 h 16 min

    @tr3z4r : Genre t’arrive et tu parles en CAPS lock ! Attention mon petit, c’est pas parce que tu compile tes paquets que je vais tout te pardonner. En plus pour ton pseudo en 1337 j’4u24:5 P1u70 CH0:5: tr3z42, un 42 0n C24Ch3 p45 d355u5 c0mm3 c4 … rha ces jeunes :D

  4. noireaude la-vache-libre.com 23 septembre 2012 / 20 h 47 min

    Je dis pas être frais, je n’ai vu qu’à la deuxième lecture le contenu « type loot MMO » de la fenêtre.

    Excellent :)

Comments are closed.