diff options
author | Alan Jenkins <alan.christopher.jenkins@gmail.com> | 2017-09-26 18:47:50 +0100 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2017-09-26 19:47:50 +0200 |
commit | 0d18f808a453dff4b47a4929dac6f58271a886f9 (patch) | |
tree | e4923367c7494e75157753f5ccd0b741671976a0 /units | |
parent | dc4a5b4b0607b3c1b24b6ffc5fbb50a7c4d5c345 (diff) | |
download | systemd-0d18f808a453dff4b47a4929dac6f58271a886f9.tar.gz |
Revert "units: don't kill the emergency shell when sysinit.target is triggered (#6765)" (#6904)
This reverts commit f1e24a259ca182b6cd8a723a56da43435ce48aac. Oops.
# systemctl emergency
Failed to start emergency.target: Transaction order is cyclic. See syste...
See system logs and 'systemctl status emergency.target' for details.
# systemctl status emergency.target
● emergency.target - Emergency Mode
Loaded: loaded (/usr/lib/systemd/system/emergency.target; static; vendor preset: disabled)
Active: inactive (dead) since Mon 2017-09-25 10:43:02 BST; 2h 42min ago
Docs: man:systemd.special(7)
systemd[1]: sysinit.target: Found dependency on sysinit.target/stop
sysinit.target: Unable to break cycle starting with sysinit.target/stop
network.target: Found ordering cycle on wpa_supplicant.service/stop
network.target: Found dependency on sysinit.target/stop
network.target: Found dependency on emergency.target/start
network.target: Found dependency on emergency.service/start
network.target: Found dependency on serial-getty@ttyS0.service/stop
network.target: Found dependency on systemd-user-sessions.service/stop
network.target: Found dependency on network.target/stop
network.target: Unable to break cycle starting with network.target/stop
IMO #6509 is ugly enough that we should aim to answer it. But it could
take some time to investigate, so let's re-open the issue as a first step.
Diffstat (limited to 'units')
-rw-r--r-- | units/container-getty@.service.m4.in | 4 | ||||
-rw-r--r-- | units/getty@.service.m4 | 4 | ||||
-rw-r--r-- | units/serial-getty@.service.m4 | 4 | ||||
-rw-r--r-- | units/sysinit.target | 13 |
4 files changed, 9 insertions, 16 deletions
diff --git a/units/container-getty@.service.m4.in b/units/container-getty@.service.m4.in index 3d287b9491..4b822f0e3b 100644 --- a/units/container-getty@.service.m4.in +++ b/units/container-getty@.service.m4.in @@ -19,8 +19,8 @@ ConditionPathExists=/dev/pts/%I # IgnoreOnIsolate is an issue: when someone isolates rescue.target, # tradition expects that we shut down all but the main console. -Conflicts=rescue.service emergency.service -Before=rescue.service emergency.service +Conflicts=rescue.service +Before=rescue.service [Service] # The '-o' option value tells agetty to replace 'login' arguments with an diff --git a/units/getty@.service.m4 b/units/getty@.service.m4 index c2665e3f6b..ff1b3c3d87 100644 --- a/units/getty@.service.m4 +++ b/units/getty@.service.m4 @@ -23,8 +23,8 @@ IgnoreOnIsolate=yes # IgnoreOnIsolate causes issues with sulogin, if someone isolates # rescue.target or starts rescue.service from multi-user.target or # graphical.target. -Conflicts=rescue.service emergency.service -Before=rescue.service emergency.service +Conflicts=rescue.service +Before=rescue.service # On systems without virtual consoles, don't start any getty. Note # that serial gettys are covered by serial-getty@.service, not this diff --git a/units/serial-getty@.service.m4 b/units/serial-getty@.service.m4 index d6da914454..e56f47652c 100644 --- a/units/serial-getty@.service.m4 +++ b/units/serial-getty@.service.m4 @@ -24,8 +24,8 @@ IgnoreOnIsolate=yes # IgnoreOnIsolate causes issues with sulogin, if someone isolates # rescue.target or starts rescue.service from multi-user.target or # graphical.target. -Conflicts=rescue.service emergency.service -Before=rescue.service emergency.service +Conflicts=rescue.service +Before=rescue.service [Service] # The '-o' option value tells agetty to replace 'login' arguments with an diff --git a/units/sysinit.target b/units/sysinit.target index 8d01cbdc1b..ec33503330 100644 --- a/units/sysinit.target +++ b/units/sysinit.target @@ -8,13 +8,6 @@ [Unit] Description=System Initialization Documentation=man:systemd.special(7) -Wants=swap.target local-fs.target -After=swap.target local-fs.target - -# local-fs.target uses OnFailure="emergency.target" to start an emergency -# shell. In that case we also need to cancel everything that relies on -# local-fs.target. Flooding the screen with yellow [DEPEND] failures would -# be unhelpful. Therefore we break the chain here. We use a Wants -# dependency instead of Requires, and use a Conflict with emergency.target, -# so that we are cancelled without actually failing any more units. -Conflicts=emergency.target +Conflicts=emergency.service emergency.target +Wants=local-fs.target swap.target +After=local-fs.target swap.target emergency.service emergency.target |