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?
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
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.
man 1 ntpdate
Chapter 19, “Keeping Time with NTP,” in Linux Cookbook, by Carla Schroder (O’Reilly)