X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=units%2Femergency.service;h=4847f4f0c6ef243c878fa6e635cb8976911becf3;hb=e124e7a4a15f89fc6fbdf3e554a86d5a26160624;hp=3cbca3d01267a550bea21d6c2f8f8aad10ea5f8b;hpb=dfca381db341205b7a68f40ef2b7550ac6972cab;p=elogind.git diff --git a/units/emergency.service b/units/emergency.service index 3cbca3d01..4847f4f0c 100644 --- a/units/emergency.service +++ b/units/emergency.service @@ -9,11 +9,22 @@ [Unit] Description=Emergency Shell +DefaultDependencies=no +Conflicts=shutdown.target +Before=shutdown.target [Service] -ExecStart=/bin/sh -Type=simple -StandardInput=tty -Restart=restart-always -RestartSec=0 +Environment=HOME=/root +WorkingDirectory=/root +ExecStartPre=-/bin/plymouth quit +ExecStartPre=-/bin/echo 'Welcome to emergency mode. Use "systemctl default" or ^D to activate default mode.' +ExecStart=-/sbin/sulogin +ExecStopPost=/bin/systemctl --fail --no-block default +StandardInput=tty-force +StandardOutput=inherit +StandardError=inherit KillMode=process + +# Bash ignores SIGTERM, so we send SIGHUP instead, to ensure that bash +# terminates cleanly. +KillSignal=SIGHUP