Eu acredito que este é um bug no systemd-update-utmp. Veja meu comentário aqui: link
Uma solução alternativa é executar o fake-hwclock no initramfs, antes de passar o controle para a instância principal do systemd.
Eu tenho um pi de framboesa e cada reinicialização vejo essa saída no final:
root@RaspberryPi:~# last | grep boot
reboot system boot 4.4.0-1055-raspi Thu Jan 1 01:00 still running
reboot system boot 4.4.0-1055-raspi Thu Jan 1 01:00 still running
reboot system boot 4.4.0-1055-raspi Thu Jan 1 01:00 - 23:01 (17305+22:01)
reboot system boot 4.4.0-1055-raspi Thu Jan 1 01:00 - 23:01 (17305+22:01)
reboot system boot 4.4.0-1055-raspi Thu Jan 1 01:00 - 23:01 (17305+22:01)
Isso ocorre apesar de ter ambos, o falso-hwclock e um hardware RTC instalado.
Atualmente, o serviço para fake-hwclock.service é iniciado antes de sysinit.target, desta forma:
[Unit]
Before=sysinit.target
[Service]
ExecStart=/sbin/fake-hwclock load
[Install]
WantedBy=sysinit.target
Como posso executá-lo antes que o / var / log / wtmp seja atualizado?
Eu acredito que este é um bug no systemd-update-utmp. Veja meu comentário aqui: link
Uma solução alternativa é executar o fake-hwclock no initramfs, antes de passar o controle para a instância principal do systemd.
Os registros de login "reboot" do wtmp são manipulados pelo serviço systemd-update-utmp systemd. Ele deve ser iniciado antes do destino sysinit, o que significa que, antes que o início seja concluído, este serviço será iniciado SE já não foi iniciado. Isso não significa que o systemd-timesyncd necessariamente iniciará antes do systemd-update-utmp.
Eu testei no meu servidor arch linux e consistentemente o systemd-timesyncd sempre roda bem antes do systemd-update-utmp. Por outro lado, eles estão quase sempre a uma distância um do outro.
Mas como não está explicitamente em execução após o NTP, suponho que isso ainda seja considerado um bug.
No manual do systemd:
"Após = é o inverso de Before =, isto é, enquanto After = assegura que a unidade configurada é iniciada após a unidade listada terminar de iniciar"
O que você deve fazer:
systemctl edit systemd-update-utmp
[Unit]
After=systemd-timesyncd.service
Wants=systemd-timesyncd.service
Tags systemd raspberry-pi wtmp