From c000a21c25bd436f2b3cc2076cb7025cc82d2807 Mon Sep 17 00:00:00 2001 From: Harald Hoyer Date: Wed, 22 Jun 2016 18:12:19 +0200 Subject: [PATCH] dracut-systemd/*.service: conflict with shutdown target make reboot/poweroff/halt work also conflict with emergency.target --- modules.d/98dracut-systemd/dracut-cmdline-ask.service | 2 ++ modules.d/98dracut-systemd/dracut-cmdline.service | 2 ++ modules.d/98dracut-systemd/dracut-emergency.service | 5 +++-- modules.d/98dracut-systemd/dracut-initqueue.service | 2 ++ modules.d/98dracut-systemd/dracut-mount.service | 2 ++ modules.d/98dracut-systemd/dracut-pre-mount.service | 2 ++ modules.d/98dracut-systemd/dracut-pre-pivot.service | 3 +++ modules.d/98dracut-systemd/dracut-pre-trigger.service | 2 ++ modules.d/98dracut-systemd/dracut-pre-udev.service | 2 ++ modules.d/98dracut-systemd/emergency.service | 2 ++ 10 files changed, 22 insertions(+), 2 deletions(-) diff --git a/modules.d/98dracut-systemd/dracut-cmdline-ask.service b/modules.d/98dracut-systemd/dracut-cmdline-ask.service index 8bc7d80..1685479 100644 --- a/modules.d/98dracut-systemd/dracut-cmdline-ask.service +++ b/modules.d/98dracut-systemd/dracut-cmdline-ask.service @@ -16,6 +16,8 @@ Wants=systemd-journald.socket ConditionPathExists=/usr/lib/initrd-release ConditionKernelCommandLine=|rd.cmdline=ask ConditionPathExistsGlob=|/etc/cmdline.d/*.conf +Conflicts=shutdown.target emergency.target +Before=shutdown.target emergency.target [Service] Environment=DRACUT_SYSTEMD=1 diff --git a/modules.d/98dracut-systemd/dracut-cmdline.service b/modules.d/98dracut-systemd/dracut-cmdline.service index 6eeb991..c22856e 100644 --- a/modules.d/98dracut-systemd/dracut-cmdline.service +++ b/modules.d/98dracut-systemd/dracut-cmdline.service @@ -20,6 +20,8 @@ ConditionDirectoryNotEmpty=|/lib/dracut/hooks/cmdline ConditionKernelCommandLine=|rd.break=cmdline ConditionKernelCommandLine=|resume ConditionKernelCommandLine=|noresume +Conflicts=shutdown.target emergency.target +Before=shutdown.target emergency.target [Service] Environment=DRACUT_SYSTEMD=1 diff --git a/modules.d/98dracut-systemd/dracut-emergency.service b/modules.d/98dracut-systemd/dracut-emergency.service index a523671..61077bd 100644 --- a/modules.d/98dracut-systemd/dracut-emergency.service +++ b/modules.d/98dracut-systemd/dracut-emergency.service @@ -12,14 +12,15 @@ Description=Dracut Emergency Shell DefaultDependencies=no After=systemd-vconsole-setup.service Wants=systemd-vconsole-setup.service -Conflicts=emergency.service emergency.target +Conflicts=shutdown.target emergency.target +Before=shutdown.target emergency.target [Service] Environment=HOME=/ Environment=DRACUT_SYSTEMD=1 Environment=NEWROOT=/sysroot WorkingDirectory=/ -ExecStart=/bin/dracut-emergency +ExecStart=-/bin/dracut-emergency ExecStopPost=-/bin/rm -f -- /.console_lock Type=oneshot StandardInput=tty-force diff --git a/modules.d/98dracut-systemd/dracut-initqueue.service b/modules.d/98dracut-systemd/dracut-initqueue.service index fa5ca56..20d6a8c 100644 --- a/modules.d/98dracut-systemd/dracut-initqueue.service +++ b/modules.d/98dracut-systemd/dracut-initqueue.service @@ -18,6 +18,8 @@ Wants=systemd-udev-trigger.service ConditionPathExists=/usr/lib/initrd-release ConditionPathExists=|/lib/dracut/need-initqueue ConditionKernelCommandLine=|rd.break=initqueue +Conflicts=shutdown.target emergency.target +Before=shutdown.target emergency.target [Service] Environment=DRACUT_SYSTEMD=1 diff --git a/modules.d/98dracut-systemd/dracut-mount.service b/modules.d/98dracut-systemd/dracut-mount.service index 1b14f4a..baa8edb 100644 --- a/modules.d/98dracut-systemd/dracut-mount.service +++ b/modules.d/98dracut-systemd/dracut-mount.service @@ -15,6 +15,8 @@ After=dracut-initqueue.service dracut-pre-mount.service ConditionPathExists=/usr/lib/initrd-release ConditionDirectoryNotEmpty=|/lib/dracut/hooks/mount ConditionKernelCommandLine=|rd.break=mount +Conflicts=shutdown.target emergency.target +Before=shutdown.target emergency.target [Service] Environment=DRACUT_SYSTEMD=1 diff --git a/modules.d/98dracut-systemd/dracut-pre-mount.service b/modules.d/98dracut-systemd/dracut-pre-mount.service index 1e4e29f..c7b123c 100644 --- a/modules.d/98dracut-systemd/dracut-pre-mount.service +++ b/modules.d/98dracut-systemd/dracut-pre-mount.service @@ -17,6 +17,8 @@ After=cryptsetup.target ConditionPathExists=/usr/lib/initrd-release ConditionDirectoryNotEmpty=|/lib/dracut/hooks/pre-mount ConditionKernelCommandLine=|rd.break=pre-mount +Conflicts=shutdown.target emergency.target +Before=shutdown.target emergency.target [Service] Environment=DRACUT_SYSTEMD=1 diff --git a/modules.d/98dracut-systemd/dracut-pre-pivot.service b/modules.d/98dracut-systemd/dracut-pre-pivot.service index f5a85ce..20a872a 100644 --- a/modules.d/98dracut-systemd/dracut-pre-pivot.service +++ b/modules.d/98dracut-systemd/dracut-pre-pivot.service @@ -10,6 +10,7 @@ [Unit] Description=dracut pre-pivot and cleanup hook Documentation=man:dracut-pre-pivot.service(8) +DefaultDependencies=no After=initrd.target initrd-parse-etc.service sysroot.mount After=dracut-initqueue.service dracut-pre-mount.service dracut-mount.service Before=initrd-cleanup.service @@ -23,6 +24,8 @@ ConditionKernelCommandLine=|rd.break=cleanup ConditionKernelCommandLine=|rd.break ConditionPathExists=|/dev/root ConditionPathExists=|/dev/nfs +Conflicts=shutdown.target emergency.target +Before=shutdown.target emergency.target [Service] Environment=DRACUT_SYSTEMD=1 diff --git a/modules.d/98dracut-systemd/dracut-pre-trigger.service b/modules.d/98dracut-systemd/dracut-pre-trigger.service index 826b89b..2df9d7b 100644 --- a/modules.d/98dracut-systemd/dracut-pre-trigger.service +++ b/modules.d/98dracut-systemd/dracut-pre-trigger.service @@ -17,6 +17,8 @@ Wants=dracut-pre-udev.service systemd-udevd.service ConditionPathExists=/usr/lib/initrd-release ConditionDirectoryNotEmpty=|/lib/dracut/hooks/pre-trigger ConditionKernelCommandLine=|rd.break=pre-trigger +Conflicts=shutdown.target emergency.target +Before=shutdown.target emergency.target [Service] Environment=DRACUT_SYSTEMD=1 diff --git a/modules.d/98dracut-systemd/dracut-pre-udev.service b/modules.d/98dracut-systemd/dracut-pre-udev.service index 73740be..7fdeb6e 100644 --- a/modules.d/98dracut-systemd/dracut-pre-udev.service +++ b/modules.d/98dracut-systemd/dracut-pre-udev.service @@ -20,6 +20,8 @@ ConditionKernelCommandLine=|rd.break=pre-udev ConditionKernelCommandLine=|rd.driver.blacklist ConditionKernelCommandLine=|rd.driver.pre ConditionKernelCommandLine=|rd.driver.post +Conflicts=shutdown.target emergency.target +Before=shutdown.target emergency.target [Service] Environment=DRACUT_SYSTEMD=1 diff --git a/modules.d/98dracut-systemd/emergency.service b/modules.d/98dracut-systemd/emergency.service index 35d9c31..969a300 100644 --- a/modules.d/98dracut-systemd/emergency.service +++ b/modules.d/98dracut-systemd/emergency.service @@ -12,6 +12,8 @@ Description=Emergency Shell DefaultDependencies=no After=systemd-vconsole-setup.service Wants=systemd-vconsole-setup.service +Conflicts=shutdown.target +Before=shutdown.target [Service] Environment=HOME=/