fake-hwclock - Control fake hardware clock
fake-hwclock [ command ] [ force ]
Many embedded Linux systems do not have a functional hardware clock. Either they
simply don't have a hardware clock at all or they have a hardware clock but it
is not usable (e.g. because Linux doesn't know how to use it or because no
battery is present).
This can lead to time moving backwards to some default value
(often 1970) when the system is rebooted. Since lots of software assumes
that time only moves forward this is a bad thing. NTP can (and should where
practical) be used to sync with an external timeserver but it is not
available early in the boot process and may be unavailable for other
The design expectation of fake-hwclock is that it will be
run very late at shutdown and very early at boot. This will ensure that fsck
has a vaguely sensible idea of system time at boot and won't complain that
the last-modified time in the filesystem is not hugely in the past or
future. Some users may not worry about this too use case, in which case it
is possible to modify the init system configuration to move things
earlier/later as appropriate.
This program was originally written for Debian, which uses an init
system different from runit. To add fake-hwclock as a service,
the system administrator must link the directory /etc/sv/fake-hwclock
fake-hwclock sets and queries a fake "hardware clock" which
stores the time in a file. This program may be run by the system administrator
directly but is typically run by init (to load the time on startup and save it
on shutdown) and cron (to save the time hourly).
If no command is given then fake-hwclock acts as if the save
command was used.
- Save the time to the file. As a sanity check, fake-hwclock will not move
the saved clock backwards to a time/date earlier than its own release
date. Use "force" to over-ride this check.
- Load the time from the file. If force is specified fake-hwclock will move
the clock either backwards or forwards. Otherwise it will only move it
- The file used to store the time
- runit service used to run fake-hwclock on startup and shutdown
- Settings file for the init script.
- Cron job used to save the time hourly
1 is returned for invalid commands. 0 is returned in all other cases.
This approach can only provide a crude approximation of what a real hardware
clock provides. Use of NTP or another method to keep the time in sync is
- set the file used by fake-hwclock