Piholio is live!

My combination stratum 1 NTP server and Pi-hole is up and running.


  1. Definitely boot from Raspbian Stretch Lite, as described in the instructions. No point in having it auto-login to a graphical console, or even having the packages installed, especially since you disable video memory as part of this setup.

  2. NTP first, Pi-hole second; they both want to reconfigure your machine, so you have to be careful with the canned configuration scripts, although there are no direct conflicts at this time. Also, the NTP setup script is far less complex and invasive, so it’s much easier to know what it changes (530 lines versus 2,649).

  3. Pi-hole sets a static IP address in /etc/dhcpcd.conf, which is a bad idea. It prevents you from building a server on one network which will be installed elsewhere, and in a home environment without static leases, it’s only guaranteed for the uptime of the router. I commented out their change (don’t delete it; the installer greps for the current IP address to decide if you’re configured ‘correctly’), and instead uncommented the local nameserver line in /etc/resolvconf.conf.

  4. I went with the Uputronics hat and external antenna, which is the solder-free, battery-free option. Purchased from their US distributor, Airspy.US. This costs basically the same as a Pi and a case, plus shipping.

  5. I used the clockmaker script with only one problem: ntpsec’s configure script blew chunks. Clockmaker pulls down tip-of-tree, and the team develops directly in the main branch, so they sometimes break the build (Eric Raymond made the aes_siv library mandatory before someone else committed the supporting code). The quick fix is to cd into the ntpsec directory and run something like this to switch to the most recent release: git checkout $(git tag --list --sort -taggerdate | head -1)

  6. Note: need to run the CFG-CFG command for the Uputronics board while ntpsec isn’t running.

  7. Fuck Patriot, by the way. I bought a 5-pack of their Class 10 16GB MicroSD cards on Amazon about 14 months ago, and 2 of them came up read-only when I went to use them for this project. They all worked the first time…

  8. I don’t know about the other GPS boards, but the Uputronics shouldn’t be put in a clear/open case, because it has a nice bright LED that flashes once a second. Really lights up a dark room.

  9. I wanted some additional local dnsmasq overrides, so I put them in /etc/dnsmasq.d/00-local.conf.

  10. Naturally I made a copy of my MicroSD card after I got it working…


Changed /etc/ntp.conf to add a static offset for the non-PPS clock: refclock shm unit 0 refid GPS time1 +0.114. See ntpsec issue 9.

…and filed a bug on the clockmaker script.

Comments via Isso

Markdown formatting and simple HTML accepted.

Sometimes you have to double-click to enter text in the form (interaction between Isso and Bootstrap?). Tab is more reliable.