linux-qubasis
linux oasis port as a qubes template
git clone https://9o.is/git/linux-qubasis.git
volume_import.sh
(702B)
1 set -eu
2 hostdir=out/host
3
4 qvm=$1
5 volume=$2
6 size=$3
7 in=$4
8
9 tmpdir=$(mktemp -d)
10 mnt=$tmpdir/mnt
11 img=$tmpdir/$volume.img
12 loop=
13
14 trap cleanup EXIT
15
16 cleanup() {
17 set +e
18 sudo umount $mnt 2>/dev/null
19 rm -rf $tmpdir
20
21 if [ $loop ]; then
22 sudo losetup -d $loop 2>/dev/null
23 fi
24 }
25
26 count=$(( $size / (128 * 1024) ))
27 dd if=/dev/zero of=$img bs=128k count=$count >/dev/null 2>&1
28 mke2fs -t ext4 $img >/dev/null 2>&1
29
30 loop=$(losetup --find)
31 sudo losetup $loop $img
32 mkdir -p $mnt
33 sudo mount $loop $mnt
34
35 gzip --stdout -d $in | sudo $hostdir/pax -r -p e -s ",^[^/]*,$mnt,"
36
37 sudo umount $mnt
38 sudo losetup -d $loop
39 fsck.ext4 -vf $img
40
41 qvm-volume import --size "$(stat -c%s $img)" $qvm:$volume $img