Многие веб-сайты объясняют, как сделать заставку на Pi с помощью инициализации SysV, но я не смог найти никакой информации о том, как сделать это с помощью systemd на Jessie. Я попытался просто "преобразовать" init-скрипт в systemd-сервис, но он ничего не делает.
Кто-нибудь сумел сделать это или любой полезный совет?
boot
raspbian-jessie
systemd
Kirby
источник
источник
Ответы:
О, я сделал это, но это была полная и полная ПИТА.
Во-первых, обычные файлы Плимута, mytheme.plymouth:
И тогда mytheme.script
Затем они идут в соответствующие места
/usr/share/plymouth/themes/mytheme
вместе с mytheme.png.Затем включите mytheme с помощью
plymouth-set-default-theme
команды.Теперь немного обмана. plymouth может читать только первые 1024 байта cmdline ядра ... но загрузчик Rpi ПРЕДОСТАВЛЯЕТ вещи в / proc / cmdline, так что вы можете ДУМАТЬ, что сделали все правильно, но если
cat /proc/cmdline
позже, вы можете обнаружить, что ваши настройки действительно опускаться до 1024 байтов. Таким образом, вы должны добавить тихий всплеск и игнорировать настройки plymouth очень рано в cmdline.txt.Мой cmdline.txt настроен на это (но мы используем сенсорный экран adafruit, так что ymmv):
Теперь вы также должны использовать initramfs, потому что заставка включена из сценариев раннего запуска. Обычно это так же просто, как запустить
update-initramfs
и указатьinitramfs initrd.img-4.1.9-v7
(или аналогично) в /boot/config.txt.В моем случае мне также пришлось обновить Плимут, потому что версия, поставляемая с Джесси, могла вызвать ошибку в драйвере кадрового буфера, и в результате я не смог заставить его работать на сенсорном экране adafruit.
После этого он начал работать на меня. Но я также хотел, чтобы в конце экрана было «безопасно выключать», так как Rpi не имеет аппаратного обеспечения, чтобы выключать себя. Поэтому я добавил для этого сценарий systemd:
С тех пор, как я это сделал, прошло не менее 6 месяцев, но я надеюсь, что это полезно.
Изменить: добавить еще несколько подсказок.
Вы можете отлаживать темы Плимута так. Запустите plymouthd в режиме отладки, например:
И тогда вы можете проверить свою тему, используя:
Именно на этом этапе я узнал, что у меня есть ошибка.
Вы также можете остановить процесс загрузки и перейти в оболочку, чтобы проверить это в среде загрузки. Отредактируйте /boot/cmdline.txt и добавьте
break=top
, или посмотрите здесь для получения дополнительной информации об этом.Это все трюки, которые я использовал, и я наконец-то туда попал. Но, как я уже сказал, это была PITA.
источник
/proc/cmdline|wc -c
говорит, что это всего 508 байтов, хотя.Вы можете использовать asplashscreen. Пользовательский экран загрузки
источник
Ответ @izak работает, но вы, вероятно, все равно столкнетесь с проблемой сегфалтинга в Плимуте при использовании пакета Jessie по умолчанию. Чтобы исправить ошибку, вам потребуется установить Plymouth из репозитория тестирования.
Следуйте инструкциям из документации AptPreferences и выполните следующее для обновления вашего пакета Plymouth:
apt install plymouth/testing
Это исправило все для меня!
(Я не мог опубликовать это как комментарий к @izak его сообщению)
источник