Un démarrage « graphique » sur Manjaro

closeCet article a été publié il y a 4 ans 11 mois 16 jours, il est donc possible qu’il ne soit plus à jour. Les informations proposées sont donc peut-être expirées.

L’idée de masquer le plus possible les messages du démarrage d’un OS Linux avec un joli logo animé est intéressante. On peut la constater chez Fedora, chez Ubuntu, et Tuxicoman a montré comment procéder sous Debian (c’est d’ailleurs lui qui m’a inspiré ce billet). Mais pas chez ArchLinux ou Manjaro. Sur cette dernière, une solution différente et un peu technique a été proposée, elle demande quelques manipulations, que je vais détailler ici.

En effet, ça repose sur l’installation de quelques paquets et la modification de fichiers de configuration, tout ça en mode administrateur. Le résultat est intéressant cependant, parfaitement stable chez moi, donc ne boudons pas notre plaisir de bricoler un peu.

On commence par installer deux paquets : bootsplash-systemd et bootsplash-theme-manjaro. Il existe plusieurs thèmes, j’ai fait l’essai avec celui-là, il n’est pas le plus joli mais ça permet de valider le fonctionnement (j’y reviens tout à l’heure). Certains thèmes sont présents dans les dépôts, d’autres seront à installer par d’autres biais :

On peut donc ensuite s’attaquer aux fichiers de configurations, à commencer par /etc/mkinitcpio.conf. Ce fichier est responsable de la configuration des images de démarrage système contenant notamment le noyau. A chaque mise à jour noyau, mkinitcpio va reconstruire les images de démarrages pour chaque version installée (sous Manjaro, vous pouvez avoir plusieurs versions installées très simplement), en suivant les paramètres de ce fichier de configuration. Il faut identifier la ligne qui commence par « HOOKS= », et ajouter un élément à la fin de la liste :

Ici, on ajoute bootsplash-manjaro à la fin, manjaro étant le nom du thème, à adapter à la situation. On peut ensuite relancer la construction des initramfs (via root ou sudo) :

Le deuxième fichier, c’est /etc/default/grub. C’est celui qui sert de base à la construction du menu qui vous permet de choisir le noyau voire le système d’exploitation (dans le cadre d’un multi-boot) que vous souhaitez utiliser lors du démarrage de la machine. Ici, le minimum vital pour que le bootsplash fonctionne, j’ai fait cette modification :

Une fois encore, bootsplash-themes/manjaro/bootsplash contient le nom du thème qui doit être chargé, donc il faut adpater en fonction de celui-ci. Notez bien qu’on enlève la directive quiet, qui dans le démarrage par défaut masque les messages de démarrage des services, pour n’afficher que les infos finales des partitions, et d’éventuels messages d’erreur (ce que j’avais sur le Chromebook avec le 4.14 avec la carte son mal supportée).

Il faut ensuite mettre le menu à jour en lançant la commande update-grub :

Voilà, c’est fini, il ne reste plus qu’à redémarrer et à contempler le premier résultat. Voir un logo c’est quand même plus agréable que des messages texte, et si les messages vous intéressent quand même, un appui sur la touche échap vous ravira.

Quelques raffinements supplémentaires, parce que j’ai une carte Intel

Pour être honnête, le résultat n’est pas 100% parfait. En effet, il reste encore des « clignotements » pendant le démarrage, lié à plusieurs étapes de configuration de l’écran. Heureusement, j’ai du matériel Intel, fabricant très actif sous Linux qui propose notamment un raffinement : fastboot, qui permet justement d’éviter les multiples reconfigurations jusqu’à ce que X démarre (ou Wayland, notamment sur Fedora). Pour l’activer, il y a plusieurs méthodes, j’ai choisi d’ajouter l’option au démarrage de grub. Retour donc dans le fichier /etc/default/grub, pour obtenir le résultat suivant :

Et un petit coup d’update-grub pour parfaire le tableau.

Mais ce n’est pas tout. J’ai aussi découvert qu’on pouvait faire un truc en plus, au petit nom de « Early KMS » (on remercie une fois de plus le wiki d’ArchLinux), qui permet de charger le module graphique plus tôt qu’en temps normal. Il faut retourner cette-fois dans /etc/mkinitcpio.conf, et chercher la ligne qui commence par « MODULES= » :

Une fois encore, il faut relancer la construction avec mkinitcpio -P, et un dernier reboot pour tout valider. Il doit être possible de faire la même chose pour les autres cartes graphiques dont les pilotes exploitent KMS, je vous laisse chercher.

En tout cas, ça fonctionne vraiment pas mal, il resterait éventuellement la transition entre le logo de chargement et la mire de login de Cinnamon, la transition est plutôt abrupte, mais là je n’ai rien trouvé de probant pour l’adoucir. Un simple fondu, ça devrait pas être compliqué non ?

Prochaine étape : faire son propre thème, l’installation sur Chromebook, tester l’alternative

Je n’ai pas encore compris tous les détails techniques sur la création du thème, mais grosso modo tout est documenté dans ce dépôt, donc quand j’aurai compris, et si je suis motivé, je me ferai mon propre thème.

Les autres distributions, comme le montre tuxicoman sous Debian, reposent plutôt sur une autre méthode, Plymouth, qui existe depuis assez longtemps maintenant, et dont l’installation est également possible sur Manjaro, c’est documenté sur leur Wiki qui explique les petites spécificités par rapport à ArchLinux. J’avais déjà essayé sur ma première installation à l’époque quand j’utilisais encore KDE, ça ne s’était pas vraiment bien passé. Je n’avais jamais retenté, c’est peut-être l’occasion. Je vais même peut-être utiliser le Chromebook pour ça.

PS : comme je n’ai pas la science infuse, ma base de travail a été ce post du forum Manjaro, qui centralise en anglais tout ce dont on a besoin pour mettre en place bootsplash.

3 Commentaires
Le plus ancien
Le plus récent
Commentaires en ligne
Afficher tous les commentaires
HAL
HAL
12/07/2019 20:32

Excepté que Bootsplash est abandonné depuis janvier 2018 bien qu’il soit proposé sur Manjaro. La feature était à l’initiative de « Max Staudt mstaudt at suse.de ».

Sources: https://github.com/philmmanjaro/linux-bootsplash/blob/master/README.md & https://lists.freedesktop.org/archives/dri-devel/2017-December/160236.html

Et elle est à l’abandon depuis janvier 2018.
Source: https://lists.freedesktop.org/archives/dri-devel/2018-January/162869.html

Mais toujours proposé par Manjaro.

Donc, probablement, Manjaro et Plymouth ce sera sera encore là pour un bon moment ^^’.

antistress
16/07/2019 16:01

Pour ma part sous Debian Sid le fichier /etc/mkinitcpio.conf est vide, je pense que tout cela est géré par systemd à présent (c’est une hypothèse)

TheWeirdProgrammer
TheWeirdProgrammer
26/02/2020 18:25
Répondre à  antistress

Debian a un système totalement différent pour la génération d’images noyau. Cette page est dédié à ArchLinux et à sa variante (ici Manjaro)