]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
units: make sure systemd-tmpfiles-{setup,clean} don't survive switch-root
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Thu, 5 Aug 2021 11:22:58 +0000 (13:22 +0200)
committerLuca Boccassi <luca.boccassi@gmail.com>
Fri, 6 Aug 2021 10:11:14 +0000 (11:11 +0100)
Normally, these services are killed because we run isolate. But I booted into
emergency mode (because of a futher bug with us timing out improperly on the
luks password prompt), and then continuted to the host system by running
'systemctl start systemd-switch-root.service'. My error, but the results are
confusing and bad: systemd in the host sees 'systemd-tmpfiles-setup.service'
as started successfully, and doesn't restart it, so the setup for /tmp/.X11 is
not done and gdm.service fails. So while we wouldn't encounter this during
normal successful boot, I think it's good to make this more robust.

The dep is added to systemd-tmpfiles-{setup,clean}, because /tmp is not
propagated over switch-root. /dev is, so I didn't touch
systemd-tmpfiles-setup-dev.service.

units/systemd-tmpfiles-clean.service
units/systemd-tmpfiles-setup.service

index e962954f06c0baaa2bc1f47ea51904ceaabb6c47..7aee6463bd54c5cac86379c5640fbf78826a800e 100644 (file)
@@ -11,7 +11,7 @@
 Description=Cleanup of Temporary Directories
 Documentation=man:tmpfiles.d(5) man:systemd-tmpfiles(8)
 DefaultDependencies=no
-Conflicts=shutdown.target
+Conflicts=shutdown.target initrd-switch-root.service
 After=local-fs.target time-set.target
 Before=shutdown.target
 
index 3f028d25337770ed6bb25b6e1228106bf80037c5..bc29dbc8c9c1793a514f0d61faa81ddcf51389e8 100644 (file)
@@ -11,7 +11,7 @@
 Description=Create Volatile Files and Directories
 Documentation=man:tmpfiles.d(5) man:systemd-tmpfiles(8)
 DefaultDependencies=no
-Conflicts=shutdown.target
+Conflicts=shutdown.target initrd-switch-root.service
 After=local-fs.target systemd-sysusers.service systemd-journald.service
 Before=sysinit.target shutdown.target
 RefuseManualStop=yes