You have one of those newfangled routerboards that doesn’t have a CMOS battery. BIOS settings are written to nonvolatile RAM, but the time and date are lost with every power-cycle. How do you make it set the time correctly at boot?
Solution
With good ole ntpdate. First, edit /etc/default/ntp-servers so that it points to pool.ntp.org:
Then create a startup link so it will run at boot:
# ln /etc/init.d/ntpdate /etc/rc2.d/S90ntpdate
Now every time you boot up your routerboard, it will set the correct time. You can verify this with the date command:
# date Mon Jan 29 20:52:50 UTC 2007
Discussion
If you are familiar with the NTP documentation, you’re aware that the fine NTP folks keep trying to get rid of ntpdate and replace it with the nptd -g command. However, ntpdate still works best for large time corrections.
See Also
man 1 ntpdate
Chapter 19, “Keeping Time with NTP,” in Linux Cookbook, by Carla Schroder (O’Reilly)