169 lines
7.1 KiB
Diff
169 lines
7.1 KiB
Diff
From c000a21c25bd436f2b3cc2076cb7025cc82d2807 Mon Sep 17 00:00:00 2001
|
|
From: Harald Hoyer <harald@redhat.com>
|
|
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=/
|