Hi, after some more testing: the problem is the "+" prefix of ExecStartPre, this does not work together with RootImage. Is this supposed to work? Even if I cannot really imagine a valid use case for this, except enhancing existing service files instead of rewriting them for images. Thanks, Thorsten On Tue, Aug 27, 2024 at 12:38 PM Thorsten Kukuk <kukuk@xxxxxxxx> wrote: > > Hi, > > When playing with soft-reboot and services running from a root image > (in this case btrfs subvolume), I run into something which looks like > a bug for me. > So the service files have: > RootImage=/dev/vda2 > RootImageOptions=ro,subvolid=278 > > If a service file has any of the following three keywords in the > service section (this example is from bind): > Type=forking > KillMode=process > ExecStartPre=+/usr/libexec/bind/named.prep > > Then /run will not be created with tmpfs. If I remove all three > keywords, /run will be created with tmpfs. > > Is there a special logic behind this? Or just a bug? > > With all other services I tested until now, I have in the logs: > Aug 27 08:11:07 microos (rsyncd)[1452]: Applying namespace mount on > /run/systemd/mount-rootfs/run > Aug 27 08:11:07 microos (rsyncd)[1452]: Mounting tmpfs (tmpfs) on > /run/systemd/mount-rootfs/run (0 "")... > > and it is working. But this two lines are missing with bind and all > following operations will fail: > Aug 27 10:25:11 microos (med.prep)[2442]: Applying namespace mount on > /run/systemd/mount-rootfs/run/dbus/system_bus_socket > Aug 27 10:25:11 microos (med.prep)[2442]: Followed source symlinks > /run/dbus/system_bus_socket → /run/dbus/system_bus_socket. > Aug 27 10:25:11 microos (med.prep)[2442]: Bind-mounting > /run/dbus/system_bus_socket on > /run/systemd/mount-rootfs/run/dbus/system_bus_socket (MS_BIND|MS_REC > "")... > Aug 27 10:25:11 microos (med.prep)[2442]: Failed to mount > /run/dbus/system_bus_socket (type n/a) on > /run/systemd/mount-rootfs/run/dbus/system_bus_socket (MS_BIND|MS_REC > ""): No such file or directory > Aug 27 10:25:11 microos (med.prep)[2442]: Failed to create destination > mount point node > '/run/systemd/mount-rootfs/run/dbus/system_bus_socket', ignoring: No > such file or directory > Aug 27 10:25:11 microos (med.prep)[2442]: Failed to mount > /run/dbus/system_bus_socket to > /run/systemd/mount-rootfs/run/dbus/system_bus_socket: No such file or > directory > Aug 27 10:25:11 microos (med.prep)[2442]: bind.service: Failed to set > up mount namespacing: /run/dbus/system_bus_socket: No such file or > directory > > Thanks, > Thorsten > > -- > Thorsten Kukuk, Distinguished Engineer, Senior Architect, Future Technologies > SUSE Software Solutions Germany GmbH, Frankenstraße 146, 90461 > Nuernberg, Germany > Managing Director: Ivo Totev, Andrew McDonald, Werner Knoblich (HRB > 36809, AG Nürnberg) -- Thorsten Kukuk, Distinguished Engineer, Senior Architect, Future Technologies SUSE Software Solutions Germany GmbH, Frankenstraße 146, 90461 Nuernberg, Germany Managing Director: Ivo Totev, Andrew McDonald, Werner Knoblich (HRB 36809, AG Nürnberg)