Blame SOURCES/coidracut4.patch

b78e3a
diff --git a/systemd/coreos-installer-generator b/systemd/coreos-installer-generator
b78e3a
index b2bcaec..2b85dc5 100755
b78e3a
--- a/systemd/coreos-installer-generator
b78e3a
+++ b/systemd/coreos-installer-generator
b78e3a
@@ -2,6 +2,8 @@
b78e3a
 # -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
b78e3a
 # ex: ts=8 sw=4 sts=4 et filetype=sh
b78e3a
 
b78e3a
+command -v getarg >/dev/null || . /usr/lib/dracut-lib.sh
b78e3a
+
b78e3a
 set -e
b78e3a
 
b78e3a
 # Generators don't have logging right now
b78e3a
@@ -10,6 +12,14 @@ exec 1>/dev/kmsg; exec 2>&1
b78e3a
 
b78e3a
 UNIT_DIR="${1:-/tmp}"
b78e3a
 
b78e3a
+add_requires() {
b78e3a
+    local name="$1"; shift
b78e3a
+    local target="$1"; shift
b78e3a
+    local requires_dir="${UNIT_DIR}/${target}.requires"
b78e3a
+    mkdir -p "${requires_dir}"
b78e3a
+    ln -sf "../${name}" "${requires_dir}/${name}"
b78e3a
+}
b78e3a
+
b78e3a
 cmdline=( $(
b78e3a
 karg() {
b78e3a
     local name="$1" value="$2"
b78e3a
@@ -38,3 +48,38 @@ if [ -n "$(karg coreos.inst.install_dev)" ]; then
b78e3a
         > /run/coreos-installer-reboot
b78e3a
     fi
b78e3a
 fi
b78e3a
+
b78e3a
+add_requires run-media-iso.mount default.target
b78e3a
+
b78e3a
+isoroot=$(getarg edge.liveiso= ||:)
b78e3a
+
b78e3a
+mkdir -p /run/media/iso
b78e3a
+isosrc=dev/disk/by-label/${isoroot}
b78e3a
+isosrc_escaped=$(systemd-escape -p --suffix=device "${isosrc}")
b78e3a
+
b78e3a
+if [ -n "${isoroot}" ]; then
b78e3a
+cat >"${UNIT_DIR}/run-media-iso.mount" <
b78e3a
+# Automatically generated by live-generator
b78e3a
+[Unit]
b78e3a
+DefaultDependencies=false
b78e3a
+# HACK for https://github.com/coreos/fedora-coreos-config/issues/437
b78e3a
+Wants=systemd-udev-settle.service
b78e3a
+Wants=systemd-udevd.service
b78e3a
+After=systemd-udevd.service
b78e3a
+After=basic.target
b78e3a
+# Network is enabled here
b78e3a
+After=nm-run.service
b78e3a
+# compat: remove when everyone is on dracut 053+
b78e3a
+After=dracut-initqueue.service
b78e3a
+
b78e3a
+Before=coreos-installer.service
b78e3a
+After=${isosrc_escaped}
b78e3a
+Requires=${isosrc_escaped}
b78e3a
+ConditionKernelCommandLine=coreos.inst.image_file
b78e3a
+[Mount]
b78e3a
+What=/${isosrc}
b78e3a
+Where=/run/media/iso
b78e3a
+Options=ro
b78e3a
+Type=iso9660
b78e3a
+EOF
b78e3a
+fi
b78e3a
\ No newline at end of file
b78e3a
diff --git a/systemd/growfs.service b/systemd/growfs.service
b78e3a
index 6d77aaa..fee934d 100644
b78e3a
--- a/systemd/growfs.service
b78e3a
+++ b/systemd/growfs.service
b78e3a
@@ -5,7 +5,6 @@ DefaultDependencies=false
b78e3a
 After=coreos-installer.service
b78e3a
 Before=coreos-installer-reboot.service
b78e3a
 Requires=dev-disk-by\x2dlabel-root.device
b78e3a
-After=dev-disk-by\x2dlabel-root.device
b78e3a
 
b78e3a
 [Service]
b78e3a
 Type=oneshot