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