Hello, For what it’s worth, I am running chrony on a FreeBSD system with a read-only root filesystem (including read-only /etc) just fine. The places chrony writes on this system are /var/run/chrony and /var/db/chrony.
Regards, Jan M. > On 4 Feb 2022, at 17:06, Matthew Eshleman <matt...@covemountainsoftware.com> > wrote: > > Hello all, > > I've been experimenting with chrony for an embedded linux system and we have > decided to move forward, adding NTP as a feature to this device, using > chrony. Previously this device only supported human manual time entry. All > experiments to-date have been on a development unit with a fairly normal > read/write debian rootfs. > > This device is currently using debian stretch, and we use a multistrap > approach to generate our rootfs, which is then packaged into a read only > rootfs using squashfs for our production configuration. > > In my attempts so far, chrony fails to start. We have a ramfs overlay for > /etc/ and I added one for /var/lib/chrony as well. The logs/journal did not > point me to the exact folder/file that is blocking chrony from starting with > a read only root filesystem, and I didn't find specific hints via google > (except for some redhat patch, that I do not believe applies here...) > > Additionally, I configured chrony to use a drift file that is on a separate > read/write partition. > > What additional files/folders does chrony need to be read/write? > > Logs and such are below: > > Feb 04 15:19:34 M systemd[1]: Started Raise network interfaces. > Feb 04 15:19:34 M systemd[1]: Reached target Network. > Feb 04 15:19:34 M systemd[1]: chrony.service: Failed to run 'start' task: > Read-only file system > Feb 04 15:19:34 M systemd[1]: Failed to start chrony, an NTP client/server. > Feb 04 15:19:35 M systemd[1]: chrony.service: Unit entered failed state. > Feb 04 15:19:35 M systemd[1]: chrony.service: Failed with result 'resources'. > > systemctl status chrony > ● chrony.service - chrony, an NTP client/server > Loaded: loaded (/lib/systemd/system/chrony.service; enabled; vendor > preset: e > Active: failed (Result: resources) > Docs: man:chronyd(8) > man:chronyc(1) > man:chrony.conf(5) > > ~# df > Filesystem 1K-blocks Used Available Use% Mounted on > /dev/root 257664 257664 0 100% / > devtmpfs 167400 0 167400 0% /dev > tmpfs 167912 0 167912 0% /dev/shm > tmpfs 167912 960 166952 1% /run > tmpfs 5120 8 5112 1% /run/lock > tmpfs 167912 0 167912 0% /sys/fs/cgroup > tmpfs 1024 0 1024 0% /var/lib/chrony > tmpfs 2048 16 2032 1% /run_etc_tmpfs > tmpfs 167912 0 167912 0% /tmp > tmpfs 1024 4 1020 1% /var/lib/dhcp > overlay 2048 16 2032 1% /etc > /dev/mmcblk0p5 122835 2612 113670 3% /media/settings > > chronyd version 3.0 (+CMDMON +NTP +REFCLOCK +RTC +PRIVDROP +SCFILTER +SECHASH > +SIGND +ASYNCDNS +IPV6 -DEBUG) > > Thank you very much for any pointers, tips, etc. > > Best regards, > > Matthew >