Есть железяка, у нее 3 источника времени:
1. Внутренние часы RTC 2. NTP 3. GPS-модуль.
Надо, чтобы железяка получала самое точное время из возможных в каждый момент времени.
Есть ntpd, который в состоянии это все обеспечить, но современному ntpd для адекватной работы необходимо чтобы достаточно точное время было изначально выставлено. Ситуацию усугубляет то, что на RTC может отсутствовать батарейка, а GPS может врать (выдавать неправильное время и неправильные данные, рапортуя, что все в порядке).
То есть нужно придумать алгоритм изначального выставления времени. Причем это надо сделать как можно раньше, иначе ничто на железке, включая логгинг, не может правильно работать.
Запуск ntpd завязан на запуск pppd и запуск gpsd.
Хотелось бы найти красивое, не слишком костыльное решение по изначальной установке времени. По тому, что выдает GPS, можно очень точно диагностировать, прав он или нет, и он работает сразу, а шанс получить время по NTP будет только после поднятия pppd, и может пройти значительное время до этого факта.
Делал ли кто подобные архитектуры? Получалось ли что толковое?