В http://pubs.opengroup.org/onlinepubs/009604599/functions/gettimeofday.html действительно говорится, что это было добавлено в 2001.
Я вижу несколько способов, которыми можно приблизиться к этому
Просканируйте файловую систему для файла с новейшей модификацией или время доступа. Используйте то время для установки часов. Это медленно, и точность, вероятно, будет далекой, но это будет работать. Если у Вас есть каталог/файл, Вы знаете, изменяется справедливо часто, Вы могли бы просто использовать это в качестве источника.
Пойдите с идеей, которую Вы упомянули; 'коснитесь файла каждые несколько секунд'. Много SD-карт имеют выравнивание износа. Таким образом, Вы не пишете в то же самое местоположение все время, и таким образом это не проблема вообще.
Используйте NVRAM. Запишите текущую дату в NVRAM так часто, как Вы хотите и затем восстанавливаете это на начальной загрузке. NVRAM является крошечным, но можно сохранить несколько байтов в нем без проблемы.
Используйте GPS для синхронизации времени. Это - то, что я делаю на устройствах, которые требуются время, но не имеют доступа к сети. USB устройства GPS являются дешевыми, и они обеспечивают очень точные источники времени.
Я подозреваю, что самое легкое должно на самом деле добавить Часы реального времени, как это: http://learn.adafruit.com/adding-a-real-time-clock-to-raspberry-pi/