build_chrony
Table of Contents
Chrony
Chrony has some advantages over old NTPd.
However, the version packaged for Debian/Ubuntu seems to be broken in that SOCKs don't work. If you manually compile and install it you'll be good.
Compile & Install
This assumes a brand new debian-based install.
sudo apt install git bison build-essential asciidoctor -y git clone https://github.com/mlichvar/chrony cd chrony ./configure make ; make docs sudo make install
chronyd.service
A systemd service file is not included, here's a very simple one.
[Unit] Description=chrony, an NTP client/server Documentation=man:chronyd(8) man:chronyc(1) man:chrony.conf(5) Conflicts=openntpd.service ntp.service ntpsec.service Wants=time-sync.target Before=time-sync.target After=network.target [Service] Type=forking ExecStart=/usr/local/sbin/chronyd -f /etc/chrony.conf [Install] Alias=chronyd.service WantedBy=multi-user.target
Install:
cp chronyd.service /lib/systemd/system/ sudo systemctl daemon-reload sudo systemctl enable chronyd
Make sure
After=chronyd.service is in the [Unit] section of gpsd.service AND gpsd.socket. chronyd must be started first because it creates the sock that gpsd writes to.
chrony.conf
Note! Change ttyAMA0 to whatever your UART is coming in on!
server time-a.nist.gov server time-a-wwv.nist.gov server time-a-b.nist.gov refclock SOCK /run/chrony.ttyAMA0.sock refid GPS rtcsync logchange 0.5 local stratum 10 makestep 1.0 3 logdir /var/log/chrony log statistics tracking dumpdir /var/log/chrony driftfile /chrony.drift allow
build_chrony.txt ยท Last modified: by admin
