[Unit] Description=Variable storage overlay setup ConditionPathIsSymbolicLink=!/var DefaultDependencies=no RequiresMountsFor=/run/buildroot/mounts/var [Service] Type=oneshot RemainAfterExit=yes ExecStart=/usr/bin/mkdir -p /run/buildroot/mounts/var/lower /run/buildroot/mounts/var/upper /run/buildroot/mounts/var/work # Ideally, we would like to use a systemd mount unit to manage the bind # mount. Unfortunately, that creates a circular dependency: such a unit # would have What=/var while var.mount has Where=/var so that introduces # an implicit dependency from that unit to var.mount, but var.mount # would have an explicit dependency to be ordered after that unit. # So we handle the bind mount manually. ExecStart=/usr/bin/mount -n -o bind,private /var /run/buildroot/mounts/var/lower ExecStop=/usr/bin/umount -l /run/buildroot/mounts/var/lower