This sounds like another instance of the old problem that the root file system isn't actually the root fs until later in the boot, due to mounting stuff in /etc. Snappy/system-image fell into this trap countless times, and I can just repeat my recommendation to mount everything that belongs into the root file system (/etc/*, /lib/*) in initramfs.
If you don't want this for some reason, I suggest to add a /lib/systemd/system/systemd-sysctl.service.d/snappy.conf with
[Unit]
RequiresMountsFor=/etc/sysctl.d
this should generate the appropriate Requires=/After=etc-sysctl.d.mount dependencies, but avoids hardcoding the unit name.
This sounds like another instance of the old problem that the root file system isn't actually the root fs until later in the boot, due to mounting stuff in /etc. Snappy/system-image fell into this trap countless times, and I can just repeat my recommendation to mount everything that belongs into the root file system (/etc/*, /lib/*) in initramfs.
If you don't want this for some reason, I suggest to add a /lib/systemd/ system/ systemd- sysctl. service. d/snappy. conf with
[Unit] or=/etc/ sysctl. d
RequiresMountsF
this should generate the appropriate Requires= /After= etc-sysctl. d.mount dependencies, but avoids hardcoding the unit name.