Muitos sites explicam como fazer uma tela inicial no Pi com o SysV init, mas não consegui encontrar nenhuma informação sobre como fazê-lo com o systemd em Jessie. Tentei apenas "converter" o script init em um serviço systemd, mas ele não faz nada.
Alguém conseguiu fazer isso ou algum conselho útil?
boot
raspbian-jessie
systemd
Kirby
fonte
fonte
Respostas:
Ah, eu já fiz, mas foi uma PITA completa e absoluta.
Primeiro, os arquivos comuns de plymouth, mytheme.plymouth:
E então mytheme.script
Eles são
/usr/share/plymouth/themes/mytheme
exibidos nos locais relevantes junto com mytheme.png.Então você ativa mytheme com o
plymouth-set-default-theme
comandoAgora, alguns truques. O plymouth pode ler apenas os primeiros 1024 bytes do cmdline do kernel ... mas, o carregador Rpi PREPENDE as coisas para / proc / cmdline, portanto, você PENSA que fez direito, mas se quiser
cat /proc/cmdline
mais tarde poderá achar que suas configurações são de fato cair fora do limite de 1024 bytes. Portanto, você deve adicionar o splash silencioso e o plymouth ignore as configurações muito cedo no cmdline.txt.Eu tenho meu cmdline.txt definido para isso (mas usamos a tela de toque adafruit, então ymmv):
Agora, você também deve usar um initramfs, porque a tela inicial é ativada nos scripts de inicialização antecipada. Isso geralmente é tão fácil quanto executar
update-initramfs
e especificarinitramfs initrd.img-4.1.9-v7
(ou semelhante) em /boot/config.txt.No meu caso, eu também tive que atualizar o plymouth porque a versão que acompanha Jessie falhava no driver do framebuffer e, como resultado, não consegui fazê-lo funcionar na tela de toque adafruit.
Depois disso, começou a trabalhar para mim. Mas eu também queria uma tela "segura para desligar" no final, pois o Rpi não tem hardware para desligar. Então eu adicionei um script systemd para isso:
Agora já se passaram pelo menos seis meses desde que fiz isso, mas espero que seja útil.
Editar: adicione mais algumas dicas.
Você pode depurar temas plymouth como esse. Inicie o plymouthd no modo de depuração, por exemplo:
E então você pode testar seu tema usando:
Foi nessa fase que descobri que tinha um segfault.
Você também pode interromper seu processo de inicialização e soltar em um shell para testar isso em um ambiente de tempo de inicialização. Edite /boot/cmdline.txt e adicione
break=top
, ou veja aqui para mais informações sobre isso.Estes são todos os truques que usei e finalmente cheguei lá. Mas como eu disse, era uma PITA.
fonte
/proc/cmdline|wc -c
diz que são apenas 508 bytes, no entanto.Você pode usar asplashscreen. Tela de inicialização personalizada
fonte
A resposta do @izak funciona, mas você provavelmente ainda encontrará o problema de segfaulting do Plymouth ao usar o pacote Jessie padrão. Para corrigir o segfault, você precisará instalar o Plymouth a partir do repositório de testes.
Siga as instruções da documentação do AptPreferences e execute o seguinte para atualizar seu pacote Plymouth:
apt install plymouth/testing
Isso corrigiu tudo para mim!
(Não pude postar isso como um comentário no @izak post dele)
fonte