You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
qubes-installer-qubes-os/anaconda/dracut/fetch-kickstart-disk

45 lines
1.1 KiB

#!/bin/bash
# fetch-kickstart-disk - fetch kickstart from a block device
command -v getarg >/dev/null || . /lib/dracut-lib.sh
. /lib/anaconda-lib.sh
dev="$1"
path="${2:-/ks.cfg}"
kickstart="$(getarg ks= inst.ks=)"
[ -e /tmp/ks.cfg.done ] && exit 1
[ -b "$dev" ] || exit 1
info "anaconda: fetching kickstart from $dev:$path"
mnt="$(find_mount $dev)"
if [ -n "$mnt" ]; then
cp $mnt$path /tmp/ks.cfg 2>&1
else
tmpmnt="$(mkuniqdir /run/install tmpmnt)"
if mount -o ro $dev $tmpmnt; then
cp $tmpmnt/$path /tmp/ks.cfg 2>&1
umount $tmpmnt
rmdir $tmpmnt
fi
fi
# if we're waiting for a cdrom kickstart, tell the user so they can swap discs
if str_starts "$kickstart" "cdrom"; then
if [ ! -f /tmp/ks.cfg ]; then
tell_user "Please insert CDROM containing '$path'..."
exit 0
elif [ -f /tmp/anaconda-on-cdrom ]; then
tell_user "Kickstart loaded. Please re-insert installation media."
fi
fi
if [ -f /tmp/ks.cfg ]; then
parse_kickstart /tmp/ks.cfg
run_kickstart
else
warn "Can't get kickstart from $dev:$path"
fi