diff options
-rwxr-xr-x | share/hydractl/provision-img | 34 |
1 files changed, 31 insertions, 3 deletions
diff --git a/share/hydractl/provision-img b/share/hydractl/provision-img index 9b9cdb2..8522466 100755 --- a/share/hydractl/provision-img +++ b/share/hydractl/provision-img @@ -22,12 +22,13 @@ hydra_config_load # Make sure there is provision config. function hydra_provision_config { - hydra_user_config image /var/cache/qemu/debian.img "Destination image" + hydra_user_config image /var/cache/qemu/debian/box.img "Destination image" hydra_user_config size 3G "Image size" + hydra_user_config format qcow2 "Image format: raw or qcow2" hydra_user_config hostname machine "Hostname" hydra_user_config domain example.org "Domain" hydra_user_config arch amd64 "System arch" - hydra_user_config version jessie "Distro version" + hydra_user_config version stretch "Distro version" hydra_user_config mirror http://http.debian.net/debian/ "Debian mirror" } @@ -37,11 +38,38 @@ hydra_provision_config_load $1 # Get config parameters hydra_provision_config +# Check +if [ -e "$image" ]; then + echo "error: $image already exists." + exit 1 +fi + +# Ensure base folder exists +hydra_sudo_run mkdir -p `dirname $image` + +# +# vmdebootstrap version +# # Check for requirements for req in vmdebootstrap mbr; do hydra_install_package $req done +# Image format +if [ "$format" == "qcow2" ]; then + format="--convert-qcow2" +else + formt="" +fi + # Run hydra_sudo_run vmdebootstrap --verbose --image=$image --size=$size --distribution=$version \ - --mirror=$mirror --arch=$arch --hostname=$hostname.$domain + --mirror=$mirror --arch=$arch --hostname=$hostname.$domain \ + --grub $format + +# Fix permissions +hydra_sudo_run chown -R `whoami`. `dirname $image` + +# Cleanup +hydra_sudo_run rm debootstrap.log +hydra_sudo_run rm ${image}.raw |