Banyak situs web menjelaskan cara melakukan splash screen pada Pi dengan SysV init, tapi saya tidak dapat menemukan info tentang cara melakukannya dengan systemd di Jessie. Saya mencoba hanya "mengubah" skrip init ke layanan systemd, tetapi tidak melakukan apa-apa.
Adakah yang berhasil melakukan ini atau saran yang bermanfaat?
boot
raspbian-jessie
systemd
Kirby
sumber
sumber
Jawaban:
Oh saya sudah melakukannya, tapi itu adalah PITA yang lengkap dan mengucapkan.
Pertama, file plymouth yang biasa, mytheme.plymouth:
Dan kemudian mitos
Ini kemudian pergi di tempat-tempat yang relevan
/usr/share/plymouth/themes/mytheme
bersama dengan mytheme.png.Kemudian Anda mengaktifkan mitos dengan
plymouth-set-default-theme
perintah.Sekarang beberapa tipu daya. plymouth hanya dapat membaca 1024 byte pertama dari kernel cmdline ... tetapi, loader Rpi MENYIAPKAN hal-hal ke / proc / cmdline, jadi Anda mungkin BERPIKIR Anda melakukannya dengan benar, tetapi jika
cat /proc/cmdline
kemudian, Anda mungkin menemukan bahwa pengaturan Anda sebenarnya jatuh dari batas 1024 byte. Jadi Anda harus menambahkan pengaturan splash dan plymouth abaikan sangat awal di cmdline.txt.Saya mengatur cmdline.txt untuk ini (tetapi kami menggunakan layar sentuh adafruit, jadi ymmv):
Sekarang, Anda juga harus menggunakan initramfs, karena layar splash diaktifkan dari skrip startup awal. Ini biasanya semudah menjalankan
update-initramfs
dan menetapkaninitramfs initrd.img-4.1.9-v7
(atau serupa) di /boot/config.txt.Dalam kasus saya, saya juga harus memperbarui plymouth karena versi yang dikirimkan dengan Jessie akan segfault pada driver framebuffer dan akibatnya saya tidak bisa membuatnya bekerja pada layar sentuh AdWords.
Setelah itu, mulai bekerja untuk saya. Tetapi saya juga menginginkan layar "aman untuk dimatikan" pada akhirnya, karena Rpi tidak memiliki perangkat keras untuk mematikannya. Jadi saya menambahkan skrip systemd untuk itu:
Sekarang sudah setidaknya 6 bulan sejak saya melakukan ini, tapi saya harap ini bermanfaat.
Sunting: Tambahkan beberapa petunjuk lagi.
Anda dapat men-debug tema plymouth seperti itu. Mulai plymouthd dalam mode debug, misalnya:
Dan kemudian Anda dapat menguji tema Anda menggunakan:
Selama tahap ini saya menemukan bahwa saya mengalami segfault.
Anda juga dapat menghentikan proses boot Anda dan jatuh ke shell untuk mengujinya dalam lingkungan waktu boot. Edit / boot / cmdline.txt dan tambahkan
break=top
, atau lihat di sini untuk info lebih lanjut tentang itu.Ini semua adalah trik yang saya gunakan dan akhirnya saya sampai di sana. Tapi seperti yang saya katakan, itu adalah PITA.
sumber
/proc/cmdline|wc -c
mengatakan ini hanya 508 bytes.Anda dapat menggunakan asplashscreen. Layar boot kustom
sumber
Jawaban oleh @izak berfungsi, tetapi Anda mungkin masih akan mengalami masalah Plymouth segfaulting saat menggunakan paket default Jessie. Untuk memperbaiki segfault, Anda perlu menginstal Plymouth dari repositori pengujian.
Ikuti instruksi dari dokumentasi AptPreferences dan jalankan yang berikut untuk memperbarui paket Plymouth Anda:
apt install plymouth/testing
Ini memperbaiki segalanya untuk saya!
(Saya tidak bisa memposting ini sebagai komentar di @izak postingannya)
sumber