Beaucoup de sites Web expliquent comment faire un écran de démarrage sur le Pi avec SysV init, mais je n'ai trouvé aucune information sur la façon de le faire avec systemd sur Jessie. J'ai juste essayé de "convertir" le script init en un service systemd, mais cela ne fait rien.
Quelqu'un a-t-il réussi à faire cela ou des conseils utiles?
boot
raspbian-jessie
systemd
Kirby
la source
la source
Réponses:
Oh, je l'ai fait, mais c'était un PITA complet et complet.
Tout d'abord, les fichiers plymouth habituels, mytheme.plymouth:
Et puis mytheme.script
Ceux-ci vont ensuite dans les endroits appropriés
/usr/share/plymouth/themes/mytheme
avec mytheme.png.Ensuite, vous activez mytheme avec la
plymouth-set-default-theme
commande.Maintenant, une ruse. plymouth ne peut lire que les 1024 premiers octets de la cmdline du noyau ... mais, le chargeur Rpi PRÉPEND les choses à / proc / cmdline, donc vous pouvez PENSER que vous l'avez fait correctement, mais si vous le faites
cat /proc/cmdline
plus tard, vous constaterez peut-être que vos paramètres sont en fait tomber la limite de 1024 octets. Vous devez donc ajouter très tôt les paramètres Splash silencieux et Plymouth dans cmdline.txt.J'ai mon cmdline.txt défini sur cela (mais nous utilisons l'écran tactile adafruit, donc ymmv):
Maintenant, vous devez également utiliser un initramfs, car l'écran de démarrage est activé à partir des premiers scripts de démarrage. C'est généralement aussi simple que d'exécuter
update-initramfs
et de spécifierinitramfs initrd.img-4.1.9-v7
(ou similaire) dans /boot/config.txt.Dans mon cas, j'ai également dû mettre à jour plymouth car la version livrée avec Jessie entraînerait une défaillance du pilote framebuffer et, par conséquent, je ne pouvais pas le faire fonctionner sur l'écran tactile d'Adafruit.
Après cela, il a commencé à travailler pour moi. Mais je voulais aussi un écran "éteindre en toute sécurité" à la fin, car le Rpi n'a pas de matériel pour s'éteindre. J'ai donc ajouté un script systemd pour cela:
Cela fait maintenant au moins 6 mois que je l'ai fait, mais j'espère que cela est utile.
Modifier: ajoutez quelques astuces supplémentaires.
Vous pouvez déboguer des thèmes plymouth comme ça. Démarrez plymouthd en mode débogage, par exemple:
Et puis vous pouvez tester votre thème en utilisant:
C'est à ce stade que j'ai découvert que j'avais une faute de segmentation.
Vous pouvez également arrêter votre processus de démarrage et passer dans un shell pour le tester dans un environnement au démarrage. Modifiez /boot/cmdline.txt et ajoutez
break=top
, ou voyez ici pour plus d'informations à ce sujet.Ce sont toutes des astuces que j'ai utilisées et j'y suis finalement arrivé. Mais comme je l'ai dit, c'était un PITA.
la source
/proc/cmdline|wc -c
dit que ce n'est que 508 octets, cependant.Vous pouvez utiliser un écran tactile. Écran de démarrage personnalisé
la source
La réponse de @izak fonctionne, mais vous rencontrerez probablement toujours le problème de la défaillance de Plymouth lors de l'utilisation du package Jessie par défaut. Pour corriger le segfault, vous devrez installer Plymouth à partir du référentiel de test.
Suivez les instructions de la documentation AptPreferences et exécutez ce qui suit pour mettre à jour votre package Plymouth:
apt install plymouth/testing
Cela a tout réglé pour moi!
(Je n'ai pas pu poster ceci comme un commentaire sur @izak son post)
la source