summaryrefslogtreecommitdiffstats
path: root/dracut/fetch-kickstart-disk
blob: 3172049977b9750a2ed2c00f4ab14b7ef809de13 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#!/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}"

[ -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
else
    tmpmnt="$(mkuniqdir /run/install tmpmnt)"
    if mount -o ro $dev $tmpmnt; then
        cp $tmpmnt$path /tmp/ks.cfg
        umount $tmpmnt
        rmdir $tmpmnt
    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