diff --git a/dracut/50rdcore/module-setup.sh b/dracut/50rdcore/module-setup.sh
index 27a2ac3..443b5cf 100755
--- a/dracut/50rdcore/module-setup.sh
+++ b/dracut/50rdcore/module-setup.sh
@@ -1,5 +1,47 @@
#!/bin/bash
+install_and_enable_unit() {
+ unit="$1"; shift
+ target="$1"; shift
+ inst_simple "$moddir/$unit" "$systemdsystemunitdir/$unit"
+ # note we `|| exit 1` here so we error out if e.g. the units are missing
+ # see https://github.com/coreos/fedora-coreos-config/issues/799
+ systemctl -q --root="$initdir" add-requires "$target" "$unit" || exit 1
+}
+
install() {
inst_simple "$moddir/rdcore" "/usr/bin/rdcore"
+
+ inst_simple "$moddir/coreos-installer" "/usr/bin/coreos-installer"
+
+ inst_simple "$moddir/coreos-installer-generator" \
+ "$systemdutildir/system-generators/coreos-installer-generator"
+
+ inst_script "$moddir/coreos-installer-service" \
+ "/usr/libexec/coreos-installer-service"
+
+ inst_script "$moddir/coreos-installer-disable-device-auto-activation" \
+ "/usr/libexec/coreos-installer-disable-device-auto-activation"
+
+ install_and_enable_unit "coreos-installer.service" \
+ "default.target"
+
+ install_and_enable_unit "coreos-installer-reboot.service" \
+ "default.target"
+
+# install_and_enable_unit "coreos-installer-noreboot.service" \
+# "basic.target"
+# inst_simple "$moddir/coreos-installer-reboot.service" \
+# "$systemdsystemunitdir/coreos-installer-reboot.service"
+# inst_simple "$moddir/coreos-installer-noreboot.service" \
+# "$systemdsystemunitdir/coreos-installer-noreboot.service"
+#
+# inst_simple "$moddir/coreos-installer.target" \
+# "$systemdsystemunitdir/coreos-installer.target"
+#
+# inst_simple "$moddir/coreos-installer-pre.target" \
+# "$systemdsystemunitdir/coreos-installer-pre.target"
+#
+# inst_simple "$moddir/coreos-installer-post.target" \
+# "$systemdsystemunitdir/coreos-installer-post.target"
}
diff --git a/systemd/coreos-installer-generator b/systemd/coreos-installer-generator
index 804d045..b2bcaec 100755
--- a/systemd/coreos-installer-generator
+++ b/systemd/coreos-installer-generator
@@ -30,11 +30,11 @@ karg_bool() {
}
if [ -n "$(karg coreos.inst.install_dev)" ]; then
- ln -sf "/usr/lib/systemd/system/coreos-installer-post.target" \
- "${UNIT_DIR}/default.target"
+# ln -sf "/usr/lib/systemd/system/coreos-installer-post.target" \
+# "${UNIT_DIR}/basic.target"
# Create precondition for coreos-installer-reboot.service if requested
if ! karg_bool coreos.inst.skip_reboot; then
- touch /run/coreos-installer-reboot
+ > /run/coreos-installer-reboot
fi
fi
diff --git a/systemd/coreos-installer-reboot.service b/systemd/coreos-installer-reboot.service
index 18fdb4b..ad79614 100644
--- a/systemd/coreos-installer-reboot.service
+++ b/systemd/coreos-installer-reboot.service
@@ -1,7 +1,7 @@
[Unit]
Description=Reboot after CoreOS Installer
-Requires=coreos-installer.target
-After=coreos-installer.target
+#Requires=coreos-installer.target
+After=coreos-installer.service
OnFailure=emergency.target
OnFailureJobMode=replace-irreversibly
ConditionPathExists=/run/coreos-installer-reboot
diff --git a/systemd/coreos-installer.service b/systemd/coreos-installer.service
index 5e222f2..716b783 100644
--- a/systemd/coreos-installer.service
+++ b/systemd/coreos-installer.service
@@ -1,12 +1,20 @@
[Unit]
Description=CoreOS Installer
-Before=coreos-installer.target
-After=network-online.target
-Wants=network-online.target
+#Before=coreos-installer.target
+#After=nm-run.service
+#After=network-online.target
+#Wants=network-online.target
# Until we retry HTTP requests let's wait here until
# systemd-resolved comes up if enabled.
# https://github.com/coreos/coreos-installer/issues/283
-After=systemd-resolved.service
+#After=systemd-resolved.service
+
+After=basic.target
+# Network is enabled here
+After=nm-run.service
+# compat: remove when everyone is on dracut 053+
+After=dracut-initqueue.service
+
ConditionKernelCommandLine=coreos.inst.install_dev
OnFailure=emergency.target
OnFailureJobMode=replace-irreversibly