summaryrefslogtreecommitdiff
path: root/src/gpt-auto-generator/gpt-auto-generator.c
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 /src/gpt-auto-generator/gpt-auto-generator.c
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 'src/gpt-auto-generator/gpt-auto-generator.c')
-rw-r--r--src/gpt-auto-generator/gpt-auto-generator.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/gpt-auto-generator/gpt-auto-generator.c b/src/gpt-auto-generator/gpt-auto-generator.c
index af96adec06..a4938a7c3a 100644
--- a/src/gpt-auto-generator/gpt-auto-generator.c
+++ b/src/gpt-auto-generator/gpt-auto-generator.c
@@ -956,6 +956,12 @@ static int add_root_mount(void) {
* wait for a root device to show up. A udev rule will create
* the link for us under the right name. */
+ if (in_initrd()) {
+ r = generator_write_initrd_root_device_deps(arg_dest, "/dev/gpt-auto-root");
+ if (r < 0)
+ return 0;
+ }
+
return add_mount(
"root",
"/dev/gpt-auto-root",