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
|