I have detected that the BIOS clock is getting some delay every time I boot my PC. After several tests, I have discovered that this delay only happens with kernel 2.6.8-1.521, whereas it doesn't occur with Windows 2000 or kernel 2.6.5-1.358. My motherboard is an Abit NF7-SL, last BIOS updated (26). Any tips to solve this issue?
By default, at startup the system sets its time from the BIOS clock, and then synchronizes with an NTP server.
As one of the final shutdown steps, it sets the hardware clock from the system clock. So even if the BIOS clock was not correct when you started, it should be when you are done.
Is NTP running? If so, does the system have the correct time after it comes up? After it has been running for a while? If you forcibly kill the system, e.g. with the reset button, is the BIOS clock still wrong? How much is the error?
If NTP is not running, is there a good reason, such as not being connected to a network? If NTP should be running, find out why (network problem, firewall, DNS problem, etc.)
If you won't be using NTP, check the BIOS time before booting, the system time right after it starts up, the system time just before shutdown, and the BIOS time after shutdown. That should show whether the time is being lost at startup, during operation, or at shutdown.
As a test, I booted and shut down my 2.6.8-1.521 kernel with the network cable unplugged. The BIOS clock remained within a second of the correct time. (I have a different motherboard.)
It's possible that your problem is not related to the motherboard or BIOS at all -- the system could lose time when an improperly operating driver goes through initialization or cleanup.
--Stewart