aboutsummaryrefslogtreecommitdiffstats
path: root/runinstallvm.sh
blob: 5d6ea70e823c6594683616f3968ba93ec808c1b2 (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
33
34
#!/bin/bash

OUT=${KEEPME-tmp}
size=${SIZE-16G}
template=${TEMPLATE-/dev/null}

mkdir -p $OUT || exit 1

export DISK=$(mktemp --tmpdir=$OUT XXXXXXXXXXXXXXXX.img)
export EFIVAR=$OUT/$(basename $DISK .img).fd

truncate -s $size $DISK
dd if=$template of=$DISK bs=1M conv=notrunc status=none

truncate -s 64M $EFIVAR

if [ ! -z "$KEEPME" ]; then
    (cat <<EOF
#!/bin/bash

EOF
     export -p
     cat <<EOF
$PWD/runefivm.sh $*
EOF
    ) >"$KEEPME"/runvm.sh
    chmod a+x "$KEEPME"/runvm.sh
fi

./runefivm.sh $*

if [ -z "$KEEPME" ]; then
    rm -f $DISK $EFIVAR
fi