Vue normale

Remplacez Tux par n'importe quel logo sur le boot de votre Linux

Par :Korben
4 janvier 2026 à 15:52

Vous avez déjà rêvé de virer le petit Tux qui s'affiche au démarrage de votre machine Linux pour le remplacer par un truc plus perso ?

Bon OK, sur les distros modernes avec Plymouth ou un bootsplash, on ne le voit plus trop ce logo du kernel... mais si vous bootez en mode console framebuffer, il est bien là ! Petite précision quand même, le logo du kernel ne s’affiche pas magiquement dès qu’on est en "console framebuffer". En fait, pour que ça marche, il faut à la fois que le support de la console framebuffer soit activé dans le kernel (CONFIG_FB_CONSOLE=y) et qu’un framebuffer soit réellement disponible au moment du boot.

Sur les machines modernes, ça passe souvent par simpledrm + KMS, ce qui fonctionne très bien dans la majorité des cas. Mais selon le GPU et le firmware, il arrive encore que l’écran reste noir jusqu’au passage en userspace, même sans Plymouth. Le** logo peut s’afficher**, mais ce n’est pas garanti à 100 % sur toutes les configs.

Bref, c'était possible avant mais fallait se farcir pas mal de bidouille dans les sources du kernel, et c'était pas franchement user-friendly.

Hé bien bonne nouvelle, Vincent Mailhol vient de proposer un patch qui simplifie tout ça !

Du coup, avec ce nouveau patch pour un prochain kernel, vous pouvez spécifier directement le chemin de votre logo personnalisé dans la configuration Kconfig. Fini les bidouilles dans les Makefiles et les sources, y'a maintenant trois options toutes propres : une pour le logo monochrome (format PBM), une pour la version 16 couleurs (PPM), et une pour la version 224 couleurs (PPM aussi). Et c'est à la compilation, que l'outil pnmtologo convertit votre image en code C qui est ensuite directement intégré au kernel. Et ensuite, c'est le framebuffer qui l'affiche au boot comme d'hab.

Et là je me suis dit que ça serait cool de vous proposer mon logo Korben tout prêt, histoire que vous puissiez tester direct. Du coup je vous ai préparé le fichier logo_linux_clut224.ppm au bon format (PPM ASCII 224 couleurs), vous n'avez plus qu'à le télécharger et suivre le tuto ci-dessous.

Télécharger le logo Korben pour le boot Linux

Ce qu'il vous faut !

Bon alors avant de vous lancer, vérifiez que vous avez les sources du dernier kernel Linux, les outils netpbm pour la conversion d'image, et les trucs de compilation habituels (gcc, make...etc.). Hop, une fois que c'est bon, on peut attaquer.

L'installation rapide (une fois le patch intégré)

Avec le nouveau patch (une fois qu'il sera mergé dans le kernel), c'est devenu hyper simple. Dans menuconfig ou xconfig, allez dans :

Device Drivers -> Graphics Support -> Bootup logo
 -> Standard 224-color Linux logo file: /chemin/vers/logo_linux_clut224.ppm

Voilà, vous spécifiez le chemin et c'est réglé. Mais si vous êtes sur un kernel plus ancien, faudra passer par la méthode classique.

La méthode classique (testée sur les kernels 5.x/6.x)

Commencez par installer les dépendances. Sous Debian/Ubuntu :

sudo apt install netpbm build-essential libncurses-dev bison flex libssl-dev libelf-dev

Sous Fedora/RHEL (téléchargez les vraies sources kernel depuis kernel.org) :

sudo dnf install netpbm-progs ncurses-devel elfutils-libelf-devel openssl-devel bc bison flex

Et sous Arch :

sudo pacman -S netpbm base-devel

Ensuite, récupérez les sources du kernel. Soit vous chopez celles de votre version actuelle avec apt source linux-image-$(uname -r), soit vous téléchargez la dernière sur kernel.org. Une fois décompressées, copiez le logo Korben à la place du logo par défaut. Sachez quand même que remplacer directement les fichiers dans drivers/video/logo/ fonctionne très bien pour un test perso, mais ce n’est clairement pas une méthode propre sur le long terme.

Ça complique les mises à jour, ça casse la reproductibilité du build, et c’est totalement inacceptable dans un contexte de packaging distro.

Mais bon, pour bidouiller chez soi, comme on est en train de le faire là, aucun souci. Mais pour un usage propre ou maintenable, mieux vaut éviter… et justement, le fameux patch dont je parlais plus haut va dans ce sens !!

cp /chemin/vers/logo_linux_clut224.ppm drivers/video/logo/logo_linux_clut224.ppm

Maintenant on configure le kernel. Copiez d'abord votre config actuelle avec cp /boot/config-$(uname -r) .config puis lancez make menuconfig. Naviguez vers :

Device Drivers --->
 Graphics support --->
 [*] Bootup logo --->
 [*] Standard 224-color Linux logo
 Console display driver support --->
 [*] Framebuffer Console support

Assurez-vous que ces options sont cochées avec * (ce sont des booléens, pas des modules).

Ensuite, y'a plus qu'à compiler. Adaptez le -j selon votre nombre de coeurs :

make -j$(nproc)
sudo make modules_install
sudo make install

Sur Debian/Ubuntu, lancez

sudo update-grub

Sur Fedora, c'est

sudo grub2-mkconfig -o /boot/grub2/grub.cfg

Et si votre distro utilise un initramfs, pensez à le régénérer aussi (sudo update-initramfs -u ou équivalent).

Et hop, redémarrez et admirez votre nouveau logo au boot !

Créez votre propre logo

Si vous voulez utiliser une autre image que mon logo Korben, voici comment la convertir au bon format :

sudo apt install imagemagick netpbm
convert mon_logo.png -background white -flatten -colors 224 temp.png
pngtopnm temp.png | ppmquant 224 | pnmtoplainpnm > logo_linux_clut224.ppm
rm temp.png

Le kernel attend un format PPM ASCII (P3) avec maximum 224 couleurs. Pour la taille, pas de contrainte stricte mais entre 80x80 et 200x200 pixels c'est l'idéal. À noter aussi que cette histoire de taille "idéale" reste surtout une recommandation et pas une règle imposée par le kernel car techniquement, Linux ne fixe aucune dimension maximale ou minimale pour le logo. L’image est simplement centrée à l’écran, sans mise à l’échelle.

Là je me suis loupé !

Du coup, un logo trop grand ne sera pas redimensionné mais sera juste rogné ou visuellement dégueu selon la résolution du framebuffer.

Les tailles autour de 80×80 à 200×200 pixels donnent en général le meilleur rendu, mais c’est avant tout du bon sens. Et évitez les dégradés trop complexes vu la limite de couleurs.

Et si ça marche pas ?

Sur les kernels récents (6.x et plus), sachez que simpledrm joue un rôle clé dans l’affichage du logo. En effet, sur beaucoup de machines modernes, il a pris le relais des anciens framebuffer comme efifb et permet d’avoir un affichage très tôt au boot, avant même le lancement de l’userspace.

Donc si le logo ne s’affiche pas alors que tout semble correctement configuré, le problème vient parfois simplement du fait que le framebuffer n’est pas encore actif à ce stade du démarrage, selon le GPU, le firmware ou la façon dont le driver est initialisé.

Autre cause fréquente, Plymouth (ou un autre bootsplash) qui masque tout simplement le logo du kernel. Pour vérifier, vous pouvez désactiver Plymouth temporairement en ajoutant plymouth.enable=0 aux paramètres kernel dans GRUB.

Rnfin, si vous utilisez un driver graphique KMS moderne (ce qui est le cas de la majorité des systèmes actuels), le logo devrait alors s’afficher pendant les toutes premières secondes du boot. En cas d’écran noir persistant, un test ponctuel avec nomodeset peut aider à diagnostiquer le problème, mais ce n’est pas une solution à utiliser systématiquement sur les machines récentes.

Et, pour les problèmes de couleurs bizarres, assurez-vous que votre fichier est bien en format P3 (ASCII) et pas P6 (binaire), quitte à relancer la conversion avec pnmtoplainpnm.

Dernière précision qui évite pas mal de confusions et après j'arrête de vous en faire des tartines, ce logo de boot est directement intégré au kernel, et pas à l’initramfs. Autrement dit, régénérer l’initramfs avec update-initramfs ou équivalent n’a aucun impact sur le logo du kernel. Donc si vous changez le logo, c’est bien le kernel lui-même qu’il faut recompiler et réinstaller.

Bref, perso, je trouve ça super cool qu'on puisse enfin personnaliser ce logo sans se prendre la tête. Ça fait un peu geek old-school c'est vrai, mais y'a un petit côté frime à avoir son propre logo au démarrage de sa bécane, que j'aime bien ^^.

Source

Les Tuxeries restaurées (Journal ArkéoLogique)

Par :vmagnin
21 décembre 2025 à 18:55

Sommaire

Je partage avec vous les Tuxeries restaurées sous formes de PNG ainsi que de GIF animés. Pour ceux qui n'auraient pas suivi tous les épisodes, la redécouverte début octobre des Fiches Libres de l'ALDIL dans mon armoire vingt ans après leur création m'avait mené à une sauvegarde sur la Wayback Machine du site jc.electronicforest.org créé dans les années 2000 par le dessinateur JC. Ainsi qu'au site GNULinews - Nouvelles du Monde Libre… qu'il avait illustré. Nous avions alors réussi à retrouver la trace du dessinateur et à le contacter. Il nous avait confié l'intégralité de son archive contenant ses dessins d'époque réalisés en Flash. Concernant les animations au format SWF, la découverte du projet Ruffle nous avait déjà permis de les réanimer en GIF, première étape de l'opération de reconstruction baptisée Steve Austin (« Gentlemen, we can rebuild him. We have the technology »). Mais le gros du travail restait à faire : récupérer dans un format lisible (par du libre) une bonne centaine de fichiers FLA contenant des images fixes.

De FLAgada à eurêka !

Nos longues recherches sur ce format propriétaire nous avaient en effet laissés plutôt flapis… Il nous restait peu d'espoir à part trouver quelqu'un ayant accès à Adobe Animate, en espérant qu'il lise parfaitement les vieux FLA, ou à ses ancêtres chez Macromedia. Et justement, notre dessinateur préféré m'a donné accès à ses fichiers d'installation et licence de Flash MX Professional 2004 7.2, retrouvés sur un vieux disque dur. J'ai ainsi pu l'installer dans un Windows XP dans une machine virtuelle VirtualBox sous Ubuntu. En passant, je suis bluffé par la vitesse de démarrage de la machine, signe que les OS étaient vraiment légers à l'époque ! Notons aussi que la possibilité de travailler dans un répertoire partagé entre les deux systèmes a été appréciable.

Le logiciel Flash MX peut exporter en SWF, EMF, WMF, EPS, AI, DXF, BMP, JPG, GIF et PNG. En EMF et WMF, ça fonctionne pas trop mal, disons à 85 %, peut-être à cause de problèmes de transparence entre calques. En EPS, pas terrible, je dirais qu'on est en dessous de 50 % en qualité de rendu. En DXF, seuls les contours sont rendus. En PNG c'est parfait, sauf qu'on n'est bien sûr pas en vectoriel.

Mais plutôt que d'exporter directement en PNG, il m'a semblé plus judicieux d'exporter d'abord ces images fixes en SWF. On y perd a priori en particulier les calques des FLA, mais il y a un certain nombre de projets libres (Lightspark, swftools…) capables de lire et manipuler ce format. Et surtout Ruffle, projet très dynamique actuellement et écrit de plus dans un langage qui a le vent en poupe (Rust). On peut donc espérer au minimum une décennie de pérennité en terme de lisibilité de ces SWF du côté libre.

L'archive restaurée des Tuxeries va donc contenir essentiellement les FLA sources, des SWF animés ou non, des PNG pour les images fixes exportées depuis Ruffle et des GIF animés (Ruffle + ImageMagick).

Heigh-ho, heigh-ho, on s'en va au boulot !

Flash MX Professional 2004 ne permet pas d'exporter par lots. Il va falloir s'occuper à la main de chacun des 120 fichiers FLA contenant des images fixes. Je me crée un raccourci clavier pour l'export afin d'éviter quelques clics. Et heureusement, on peut ouvrir plusieurs FLA d'un coup, c'est déjà ça. Le travail est fastidieux, du genre qu'on répartit sur cinq ou six soirées pour y aller doucement. Certains fichiers contiennent de plus plusieurs planches à enregistrer : essais, croquis, versions différentes, etc. J'obtiens ainsi 208 SWF. C'est certes fastidieux mais pas si déplaisant que ça pour quelqu'un qui aime la BD, car on entre un peu dans le processus créatif du dessinateur, comme dans les annexes fournies à la fin de certains albums.

J'en profite pour apprendre à installer un binaire Rust. De Ruffle, je n'ai besoin que de la commande exporter, donc je me place dans son répertoire et je tape :

$ cargo install --path .

Ce qui l'installe dans le répertoire ~/.cargo/bin/. Après exportation du chemin, je me place à la racine du répertoire contenant les SWF, répartis dans plusieurs sous-répertoires :

$ exporter . . --scale 2

Avec deux points pour signifier que les entrées et sorties se feront sur place. L'option --scale 2 double la définition définie dans les SWF. Ça prend 24 secondes pour 208 fichiers sur un vieux coucou en Fedora 43.

Je me rends compte que les PNG générés par Ruffle sont plus gros que certains GIF équivalents. Je me souviens alors d'optiPNG qui comme son nom l'indique permet d'optimiser les PNG, avec des niveaux allant de 0 à 7. Une petite commande à la racine du répertoire et le problème est réglé :

$ find . -name *.png -print -exec optipng -o7 '{}' \;

Ça prend quand même du temps (24 minutes) sur mon coucou car le principe d'optiPNG est d'essayer un certain nombre de stratégies et de méthodes pour trouver la meilleure, mais ça vaut le coup. En moyenne, mes PNG ont été réduits de 71 %, soit 47 Mo en moins dans l'archive.

Je termine par un peu de ménage en supprimant les PNG et SWF qui contiennent des images en doublon. Et je vois qu'il reste quelques JPG dont les FLA semblent perdus.

Pffff… C'est fini. Heigh-ho, heigh-ho, on rentre du boulot !

Archivage dans l'antre du roi de la montagne

J'ai archivé les Tuxeries sur Codeberg : https://codeberg.org/dominoes/Les_Tuxeries
Le lien direct pour télécharger le tar.gz (116 Mio) est ici.

Je réfléchirai également à d'autres possibilités, comme Internet Archive ou Zenodo, dont nous avions discuté en commentaires du précédent journal.

Enfin, j'en ai profité pour également archiver les quatorze Fiches Libres : https://codeberg.org/dominoes/Les_Fiches_Libres

Bonne promenade dans le jardin des Tuxeries et bonnes fêtes de fin d'année !

Ne soyez pas ringard

Tux Père Noël

Commentaires : voir le flux Atom ouvrir dans le navigateur

❌