summaryrefslogtreecommitdiffstats
path: root/modules.d/98dracut-systemd/dracut-pre-trigger.service
diff options
context:
space:
mode:
Diffstat (limited to 'modules.d/98dracut-systemd/dracut-pre-trigger.service')
-rw-r--r--modules.d/98dracut-systemd/dracut-pre-trigger.service27
1 files changed, 27 insertions, 0 deletions
diff --git a/modules.d/98dracut-systemd/dracut-pre-trigger.service b/modules.d/98dracut-systemd/dracut-pre-trigger.service
new file mode 100644
index 0000000..374cd3a
--- /dev/null
+++ b/modules.d/98dracut-systemd/dracut-pre-trigger.service
@@ -0,0 +1,27 @@
+# This file is part of dracut.
+
+[Unit]
+Description=dracut pre-trigger hook
+Documentation=man:dracut-pre-trigger.service(8) man:dracut.bootup(7)
+DefaultDependencies=no
+Before=systemd-udev-trigger.service dracut-initqueue.service
+After=dracut-pre-udev.service systemd-udevd.service systemd-tmpfiles-setup-dev.service
+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
+
+[Service]
+Environment=DRACUT_SYSTEMD=1
+Environment=NEWROOT=/sysroot
+Type=oneshot
+ExecStart=-/bin/dracut-pre-trigger
+StandardInput=null
+StandardError=journal+console
+KillMode=process
+RemainAfterExit=yes
+
+# Bash ignores SIGTERM, so we send SIGHUP instead, to ensure that bash
+# terminates cleanly.
+KillSignal=SIGHUP