QEMU_URI=qemu:///system
SUITE=wheezy
CONSOLE='console=tty0 console=ttyS0,115200n8'
+DEBUG=0
+WIPE=0
+RESTART=0
while [ -n "$1" ]; do
case "$1" in
fi
DISK="$1"
;;
+ (-a|--arch)
+ shift
+ if [ -z "$1" ]; then
+ echo >&2 'E: --arch/-a needs size argument'
+ exit 1
+ fi
+ ARCH="$1"
+ ;;
+ (--debug)
+ DEBUG=1
+ set -vx
+ ;;
+ (--wipe)
+ WIPE=1
+ ;;
+ (--console)
+ RESTART=1
+ ;;
esac
shift
done
BRIDGE=virt-br
fi
+if [ -z "$ARCH" ]; then
+ ARCH=$(dpkg --print-architecture)
+fi
+
cat >&2 <<_eof
hostname: $HOSTNAME
+ arch: $ARCH
ram: $RAM MiB
disk: $DISK GiB
+ wipe: $WIPE
console: $CONSOLE
+ restart: $RESTART
net bridge: $BRIDGE
_eof
if [ -n "$IPADDRESS" ]; then
_eof
fi
-exit 0
+echo >&2
+
+virsh --connect=$QEMU_URI vol-create-as $STORAGE_POOL virt-$HOSTNAME ${DISK}G
+if [ $WIPE = 1 ]; then
+ virsh --connect=$QEMU_URI vol-wipe --pool $STORAGE_POOL --algorithm zero virt-$HOSTNAME
+fi
+
+if [ $DEBUG = 1 ]; then
+ DEBUGFLAG=--debug
+ extra_args="$extra_args DEBCONF_DEBUG=5"
+fi
-exec virt-install --connect=$QEMU_URI \
+virt-install --connect=$QEMU_URI \
+ ${DEBUGFLAG:-} \
-n $HOSTNAME \
-r $RAM \
--disk vol=$STORAGE_POOL/virt-$HOSTNAME \
-l $BASEDIR/installer-amd64 \
--initrd-inject=$BASEDIR/preseed/$SUITE/preseed.cfg \
--initrd-inject=$tmpdir/commands.tar \
+ --noautoconsole --autostart \
--extra-args="$extra_args" \
- --autostart \
"$@"
+
+virsh --connect=$QEMU_URI console $HOSTNAME
+
+if [ $RESTART = 1]; then
+ virsh --connect=$QEMU_URI "start $HOSTNAME; console $HOSTNAME"
+fi