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