Package: util-linux
Version: 2.12r-8

The system time is being set from hardware clock incorrectly on startup
when the following conditions are met:

1. The time in hardware clock is local time, not UTC, and UTC=no is
   correctly set in /etc/default/rcS.
3. Separate partition is mounted on /usr.
4. ntpdate either not installed or has no access to server on startup.

In this case, on startup, the /etc/init.d/hwclock.sh script is run
*before* /usr is mounted[1], so the link /etc/localtime normally
pointing to /usr/share/zoneinfo/Europe/Moscow (in my case) is still
dangling as pointing into not yet mounted /usr subtree. This apparently
results in system time being set exactly to the value stored in the
hardware clock (local time), but still being considered to be UTC.

After bootup process ends, /usr is mounted, and date utility shows
current time as MSD, but shifted by MSD-UTC (4 hours in my case), and
shifted to the same amount w.r.t to the value displayed by hwclock, that
has correct MSD time.

Worse yet, on shutdown, storing to hardware clock the system time that is in
fact UTC but incorrectly marked as being local time results in changing
the hardware clock to incorrect value. The result is that hardware clock
also gets incorrectly moved (by 4 hours in my case) on every reboot.

Re-linking hwclock.sh to, say, /etc/rcS.d/S50hwclock.sh (as it was in
version 2.12p-8 of util-linux) does fix the problem, though any upgrade
of util-linux changes the link back and therefore re-installs the
problem.

[1] Please notice that link to the /etc/init.d/hwclock.sh is installed
as /etc/rcS.d/S22hwclock.sh while mounting is installed as
/etc/rcS.d/S35mountall.sh.

This is Linux 2.6.15.6 i686 running on IMB ThinkPad T43.


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to