<span>Hello,</span><div><br></div><div><span>I have configured systemd to handle the initrd part of boot (using the systemd hook in mkinitcpio.conf on arch).</span></div><div><br></div><div><span>I've added the following service to my initramfs (with a corresponding .wants symlink)</span></div><div><span>add_symlink "/usr/lib/systemd/system/initrd-root-fs.target.wants/lvm-autosnap-initrd.service" "/usr/lib/systemd/system/lvm-autosnap-initrd.service"</span></div><div><br></div><div><span>[Unit]</span></div><div><span>Description="Run the core lvm-autosnap logic to take manage snapshots during boot"</span></div><div><span>DefaultDependencies=no</span></div><div><span>Before=sysroot.mount</span></div><div><span>After=initrd-root-device.target</span></div><div><br></div><div><span>[Service]</span></div><div><span>Type=oneshot</span></div><div><span>ExecStart=/usr/bin/lvm-autosnap initrd_main</span></div><div><span>Restart=no</span></div><div><span>StandardInput=tty</span></div><div><span>StandardOutput=tty</span></div><div><br></div><div><br></div><div><span>The problem I'm running into is that the service is started multiple times during boot. Here's the relevant snippets from journalctl -b</span></div><div><br></div><div><span>First, the service is started at the correct time (after initrd-root-device.target)</span></div><div><span>Oct 04 11:48:56 archlinux systemd[1]: Reached target Initrd Root Device.</span></div><div><span>Oct 04 11:48:56 archlinux systemd[1]: Starting "Run the core lvm-autosnap logic to take manage snapshots during boot"...</span></div><div style="font-family: Arial; font-size: 14px; color: rgb(0, 0, 0);"><snip><br></div><div><span>Oct 04 11:48:56 archlinux kernel: audit: type=1130 audit(1664909336.153:6): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=system></span></div><div><span>Oct 04 11:48:56 archlinux systemd[1]: lvm-activate-testvg.service: Deactivated successfully.</span></div><div><span>Oct 04 11:48:56 archlinux audit[1]: SERVICE_STOP pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=lvm-activate-testvg comm="systemd></span></div><div><span>Oct 04 11:48:56 archlinux kernel: audit: type=1131 audit(1664909336.159:7): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=lvm-ac></span></div><div><span>Oct 04 11:49:20 archlinux systemd[1]: lvm-autosnap-initrd.service: Deactivated successfully.</span></div><div><span>Oct 04 11:49:20 archlinux systemd[1]: Finished "Run the core lvm-autosnap logic to take manage snapshots during boot".</span></div><div><br></div><div><span>It then completes, and the service enters the inactive state.</span></div><div><br></div><div><span>Shortly afterwards, however, the service gets started again:</span></div><div><br></div><div><span>Oct 04 11:49:20 archlinux systemd[1]: Reached target Initrd Default Target.</span></div><div><span>Oct 04 11:49:20 archlinux systemd[1]: Starting Cleaning Up and Shutting Down Daemons...</span></div><div><span>Oct 04 11:49:20 archlinux systemd[1]: Stopped target Initrd Default Target.</span></div><div><span>Oct 04 11:49:20 archlinux systemd[1]: Stopped target Basic System.</span></div><div><span>Oct 04 11:49:20 archlinux systemd[1]: Stopped target Initrd Root Device.</span></div><div><span>Oct 04 11:49:20 archlinux systemd[1]: Stopped target Path Units.</span></div><div><span>Oct 04 11:49:20 archlinux systemd[1]: Stopped target Slice Units.</span></div><div><span>Oct 04 11:49:20 archlinux systemd[1]: Stopped target Socket Units.</span></div><div><span>Oct 04 11:49:20 archlinux systemd[1]: Stopped target System Initialization.</span></div><div><span>Oct 04 11:49:20 archlinux systemd[1]: Stopped target Local File Systems.</span></div><div><span>Oct 04 11:49:20 archlinux systemd[1]: Stopped target Swaps.</span></div><div><span>Oct 04 11:49:20 archlinux systemd[1]: Stopped target Timer Units.</span></div><div><span>Oct 04 11:49:20 archlinux systemd[1]: Starting "Run the core lvm-autosnap logic to take manage snapshots during boot"...</span></div><div><br></div><div><span>where it is then promptyl killed by the switch root:</span></div><div><span>Oct 04 11:49:20 archlinux systemd[1]: Switching root.</span></div><div><span>Oct 04 11:49:20 archlinux systemd-journald[136]: Journal stopped</span></div><div><span>Oct 04 11:49:21 archvm systemd-journald[136]: Received SIGTERM from PID 1 (systemd).</span></div><div><span>Oct 04 11:49:21 archvm systemd[1]: systemd 251.5-1-arch running in system mode (+PAM +AUDIT -SELINUX -APPARMOR -IMA +SMACK +SECCOMP +GC></span></div><div><span>Oct 04 11:49:21 archvm systemd[1]: Detected virtualization kvm.</span></div><div><span>Oct 04 11:49:21 archvm systemd[1]: Detected architecture x86-64.</span></div><div><span>Oct 04 11:49:21 archvm systemd[1]: Hostname set to <archvm>.</span></div><div><span>Oct 04 11:49:21 archvm systemd[1]: lvm-autosnap-initrd.service: Main process exited, code=killed, status=1/HUP</span></div><div><span>Oct 04 11:49:21 archvm systemd[1]: lvm-autosnap-initrd.service: Failed with result 'signal'.</span></div><div><span>Oct 04 11:49:21 archvm systemd[1]: Stopped "Run the core lvm-autosnap logic to take manage snapshots during boot".</span></div><div><span>Oct 04 11:49:21 archvm systemd[1]: initrd-switch-root.service: Deactivated successfully.</span></div><div><span>Oct 04 11:49:21 archvm systemd[1]: Stopped Switch Root.</span></div><div><br></div><div><br></div><div><span>Is there a way to prevent this second instantiation of the service? (while preserving the oneshot behavior to prevent sysroot.mount from reaching until the service exits)</span></div><div><br></div><div><span>Thanks,</span></div><span>Anil</span><br>