(Emailing the arm@ list because this is a common issue on arm platforms,
although not arm specific. Let me know if I should redirect.)

I run a simple OpenBSD firewall on a RPi 4, which doesn't have a
real-time clock. When the power goes out, the firewall boots faster
than its upstream, so it doesn't have network connectivity in the first
seconds.

This interacts poorly with ntpd's settime logic: ntpd will only use
settime in securelevel 0 (see auto_preconditions() in ntpd.c), and will
only try reaching the Internet twice, with a 1s pause, upon starting.

The result is that the firewall boots, gives up on settime, and ends up
stuck forever with a clock weeks old, enough to break the system, and
too far for ntp to catch up.

I'm not sure what the right solution is. I think I would want ntpd to
wait until it has network connectivity at boot, but I'm not sure if this
is something I should hack myself or maybe there's space for an ntpd CLI
option.

Opinions?

Reply via email to