- NetBSD Manual Pages
INITTODR(9) NetBSD Kernel Developer's Manual INITTODR(9)
Powered by man-cgi (2021-06-01).
Maintained for NetBSD
by Kimmo Suominen.
Based on man-cgi by Panagiotis Christias.
inittodr -- initialize system time
The inittodr() function determines the time and sets the system clock.
It tries to pick the correct time using a set of heuristics that examine
the system's battery-backed clock and the time reported by the file sys-
tem, as given in base. Those heuristics include:
· If the battery-backed clock has a valid time, and is not signifi-
cantly behind the time provided by base, it is used.
· If the battery-backed clock does not have a valid time, or is signif-
icantly behind the time provided in base, and the time provided in
base is within reason, base is used as the current time.
· If the battery-backed clock appears invalid, and base appears non-
sensical or was not provided (was given as zero), an arbitrary base
(typically some time within the same year that the kernel was last
updated) will be used.
Once a system time has been determined, it is stored in the time vari-
The inittodr() function prints diagnostic messages if it has trouble fig-
uring out the system time. Conditions that can cause diagnostic messages
to be printed include:
· There is no battery-backed clock present on the system.
· The battery-backed clock's time appears nonsensical.
· The base time appears nonsensical.
· The base time and the battery-backed clock's time differ by a large
clock_ymdhms_to_secs(9), resettodr(9), time_second(9)
Some systems use heuristics for picking the correct time that are
NetBSD 9.0 September 6, 2006 NetBSD 9.0