summaryrefslogtreecommitdiff
path: root/units
diff options
context:
space:
mode:
authorDaniel Drake <drake@endlessm.com>2016-05-12 10:42:39 -0600
committerLennart Poettering <lennart@poettering.net>2016-05-12 18:42:39 +0200
commit7163e1ca1108d789ee8b40238ebf0f6978cd58a9 (patch)
treeff949785e1d957d95a9e25fc6d7ea4ea3d8a9558 /units
parent42d35e1301928d08dd32ec51f0205252ae658ba5 (diff)
Create initrd-root-device.target synchronization point (#3239)
Add a synchronization point so that custom initramfs units can run after the root device becomes available, before it is fsck'd and mounted. This is useful for custom initramfs units that may modify the root disk partition table, where the root device is not known in advance (it's dynamically selected by the generators).
Diffstat (limited to 'units')
-rw-r--r--units/initrd-root-device.target15
-rw-r--r--units/initrd.target4
2 files changed, 17 insertions, 2 deletions
diff --git a/units/initrd-root-device.target b/units/initrd-root-device.target
new file mode 100644
index 0000000000..9d44d2d303
--- /dev/null
+++ b/units/initrd-root-device.target
@@ -0,0 +1,15 @@
+# This file is part of systemd.
+#
+# systemd is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Lesser General Public License as published by
+# the Free Software Foundation; either version 2.1 of the License, or
+# (at your option) any later version.
+
+[Unit]
+Description=Initrd Root Device
+Documentation=man:systemd.special(7)
+ConditionPathExists=/etc/initrd-release
+OnFailure=emergency.target
+OnFailureJobMode=replace-irreversibly
+DefaultDependencies=no
+Conflicts=shutdown.target
diff --git a/units/initrd.target b/units/initrd.target
index eae7c703c1..8be7e2b399 100644
--- a/units/initrd.target
+++ b/units/initrd.target
@@ -12,6 +12,6 @@ OnFailure=emergency.target
OnFailureJobMode=replace-irreversibly
ConditionPathExists=/etc/initrd-release
Requires=basic.target
-Wants=initrd-root-fs.target initrd-fs.target initrd-parse-etc.service
-After=initrd-root-fs.target initrd-fs.target basic.target rescue.service rescue.target
+Wants=initrd-root-fs.target initrd-root-device.target initrd-fs.target initrd-parse-etc.service
+After=initrd-root-fs.target initrd-root-device.target initrd-fs.target basic.target rescue.service rescue.target
AllowIsolate=yes