diff --git a/systemd/coreos-installer-generator b/systemd/coreos-installer-generator index b2bcaec..2b85dc5 100755 --- a/systemd/coreos-installer-generator +++ b/systemd/coreos-installer-generator @@ -2,6 +2,8 @@ # -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*- # ex: ts=8 sw=4 sts=4 et filetype=sh +command -v getarg >/dev/null || . /usr/lib/dracut-lib.sh + set -e # Generators don't have logging right now @@ -10,6 +12,14 @@ exec 1>/dev/kmsg; exec 2>&1 UNIT_DIR="${1:-/tmp}" +add_requires() { + local name="$1"; shift + local target="$1"; shift + local requires_dir="${UNIT_DIR}/${target}.requires" + mkdir -p "${requires_dir}" + ln -sf "../${name}" "${requires_dir}/${name}" +} + cmdline=( $( /run/coreos-installer-reboot fi fi + +add_requires run-media-iso.mount default.target + +isoroot=$(getarg edge.liveiso= ||:) + +mkdir -p /run/media/iso +isosrc=dev/disk/by-label/${isoroot} +isosrc_escaped=$(systemd-escape -p --suffix=device "${isosrc}") + +if [ -n "${isoroot}" ]; then +cat >"${UNIT_DIR}/run-media-iso.mount" <