Package: fake-hwclock Version: 0.9 Upon first use of fake-hwclock, if the device does not have a battery-backed clock (and has not saved fake-hwclock.data yet), the clock will typically start at Jan 1, 1970 UTC. This has the following repercussions: - Before manually adjusting the time, it will be behind other files on the system - Manual adjustment of the clock via a UI with a mouse will require several clicks to increment the year from 1970 to the current - If the user does not adjust the time, website certificates will be rejected as not yet valid
While a fake clock is never perfect, we can get closer to reality by keying off of the modification time of a file or directory, so that on first boot the clock will effectively be set to a time that is no earlier than the time at which the file system was built. Using the root directory (/) seems safest as it is a directory that can be assumed to always exist. Below is a proposed change to the "load" case of the fake-hwclock script: load) if [ -e $FILE ] ; then SAVED="$(cat $FILE)" SAVED_SEC=$(date -u -d "$SAVED" '+%s') else echo "Unable to read saved clock information: $FILE does not exist" echo "Using modification time of root directory (/) as saved time" SAVED_SEC=$(stat -c %Y /) SAVED=$(date -u -d "@$SAVED_SEC" '+%Y-%m-%d %H:%M:%S') fi NOW_SEC=$(date -u '+%s') if $FORCE || [ $NOW_SEC -le $SAVED_SEC ] ; then date -u -s "$SAVED" else echo "Current system time: $(date -u '+%Y-%m-%d %H:%M:%S')" echo "fake-hwclock saved clock information is in the past: $SAVED" echo "To set system time to this saved clock anyway, use \"force\"" fi ;; -- ............................................................................ *Roddy Shuler* | +1.585.530.7960 | Endless