Eu vi que depois de uma inicialização normal o grub-common desabilita o recordfail e entra no status de saída (não vejo mais o processo rodando).
Após eu hibernar e acordar o sistema (ele acorda corretamente), já que o grub-common não está em execução, o recordfail continua ativo. Eu acredito que o grub-common deve estar rodando como um daemon e não deve sair.
Existe uma maneira de conseguir isso alterando os parâmetros grub-common.service?
[Unit]
Documentation=man:systemd-sysv-generator(8)
SourcePath=/etc/init.d/grub-common
Description=LSB: Record successful boot for GRUB
Before=multi-user.target
Before=multi-user.target
Before=multi-user.target
Before=graphical.target
[Service]
Type=forking
Restart=no
TimeoutSec=5min
IgnoreSIGPIPE=no
KillMode=process
GuessMainPID=no
RemainAfterExit=yes
ExecStart=/etc/init.d/grub-common start
ExecStop=/etc/init.d/grub-common stop
Como o recordfail não está desfeito, o próximo despertar pára no grub. Minha solução é um recordfail_timeout = 0 no grub.cfg, mas eu gostaria de ter um grub-common (que não está no estado de saída) que desabilita o recordfail no grubenv como deveria.
Detalhes do processo:
O grub sempre define recordfail (também no wake do hibernate) grub-common faz o unset após o boot - ou wake up - terminar corretamente. Se o grub-common não estiver rodando após o wake up, então o recordfail continuará saindo (eu o vejo na lista grub-editenv). Isso significa que no próximo formulário de ativação o Hibernar GRUB localiza um recordfail no grubenv e pára no menu (a menos que você defina recordfail_tim.eout = 0. Mas ... não é esse o problema. A pergunta é por que o grub-common.service sai Se o serviço continuasse funcionando, ele não ajustaria o recordfail no grubenv.
(Eu testei: parou e começou o grub-common manualmente e a entrada recordfail em grubenv desaparece).
Como resumo: alguém sabe como iniciar um serviço com um caractere Daemon? (não saindo, mas mantendo vivo e chutando)