At work I have been trying to get a Raspberry Pi to load up the system clock from a small RTC module that fits on some of the GPIO pins. The major problem, which I was not aware of at first, is that it has to set the system clock before another service starts. If the other service starts first, it overwrites the previous logs with a 1970 date. First I amended the shell file to update the system clock from \etc\init.d\rc.local. That did update the system clock from the RTC, but only after a minute or two. Then I changed the shell files to update the system clock from rc2.d using the update-rc.d commands. This did not seem to work particularly well; I did not really understand what it was doing, but eventually I got it so that the Pi loaded the system time immediately on booting up. Unfortunately, it still had not beaten the other service, so the log files still had the wrong date. Then I heard that there are two (maybe more) ways of configuring Raspberry Pi services (and on other Linux systems) to boot up, and that the service I was trying to beat was booted up via Upstart. This relies on the .conf files in /etc/init (not init.d). I gather Upstart tries to load up the .conf files in parallel, but you can code them to wait until another service has stopped or started, which is what I did. Gotta say I am finding all this Raspberry Pi operating system stuff very difficult.