diff options
-rwxr-xr-x | kvmx | 21 | ||||
-rw-r--r-- | kvmxfile | 4 |
2 files changed, 20 insertions, 5 deletions
@@ -365,12 +365,23 @@ function kvmx_up { exit 1 fi - echo "Copying base image $baseimage to $image..." - if which rsync &> /dev/null; then - rsync -ah --sparse --progress $baseimage $image + if [ ! -z "$backing_file" ]; then + if [ -e "$backing_file" ]; then + echo "Creating image $image as an overlay of $backing_file..." + backing_file_format="`qemu-img info $backing_file | grep "^file format: " | cut -d : -f 2 | sed -e 's/ //g'` " + qemu-img create -o backing_file=$backing_file,backing_fmt=$backing_file_format -f $format $image + else + echo "Backing file not found: $backing_file" + exit 1 + fi else - # See https://rwmj.wordpress.com/2010/10/19/tip-making-a-disk-image-sparse/ - cp --sparse=always $baseimage $image + echo "Copying base image $baseimage to $image..." + if which rsync &> /dev/null; then + rsync -ah --sparse --progress $baseimage $image + else + # See https://rwmj.wordpress.com/2010/10/19/tip-making-a-disk-image-sparse/ + cp --sparse=always $baseimage $image + fi fi if [ -e "$basekey" ]; then @@ -119,6 +119,10 @@ xrandr="0" # Where the guest image is stored #image="$HOME/.local/share/kvmx/$VM/box.img" +# Backing file for overlay images +# See https://wiki.archlinux.org/index.php/QEMU#Overlay_storage_images +#backing_file="$HOME/.local/share/kvmx/$basebox/box.img" + # Where datafiles are stored: just set this if you know what you're doing #datadir="$HOME/.local/share/kvmx/$VM" |