NAME¶
fake-hwclock - Control fake hardware clock
SYNOPSIS¶
fake-hwclock [
command ] [
force ]
BACKGROUND¶
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 reasons.
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.
DESCRIPTION¶
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.
COMMANDS¶
- save
- Save the time to the file. If force is specified fake-hwclock will move
the saved clock either backwards or forwards. Otherwise it will only move
it forwards.
- load
- 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
forwards.
FILES¶
- /etc/fake-hwclock.data
- The file used to store the time
- /etc/init.d/fake-hwclock
- The init script used to run fake-hwclock on startup and shutdown
- /lib/systemd/system/fake-hwclock.service
- systemd service used to run fake-hwclock on startup and shutdown
- /etc/default/fake-hwclock
- Settings file for the init script.
- /etc/cron.hourly/fake-hwclock
- Cron job used to save the time hourly
ENVIRONMENT VARIABLES¶
- FILE
- set the file used by fake-hwclock
RETURN VALUES¶
1 is returned for invalid commands. 0 is returned in all other cases.
BUGS¶
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
strongly advised.