# defaults
RAM=512
DISK=20
+CPUS=1
STORAGE_POOL=default
QEMU_URI=qemu:///system
SUITE=wheezy
(--debug)
DEBUG=1
;;
+ (-S|--suite)
+ shift
+ if [ -z "$1" ]; then
+ echo >&2 'E: --suite/-S needs suite argument'
+ exit 1
+ fi
+ SUITE="$1"
+ ;;
(-n|--name)
shift
if [ -z "$1" ]; then
fi
MAC="$1"
;;
+ (-c|--cpus)
+ shift
+ if [ -z "$1" ]; then
+ echo >&2 'E: --cpus/-c needs integer argument'
+ exit 1
+ fi
+ CPUS="$1"
+ ;;
(--debug)
DEBUG=1
set -vx
tar -C $BASEDIR/preseed/$SUITE -cf $tmpdir/commands.tar commands
extra_kargs="auto $CONSOLE \
-hostname=${HOSTNAME%%.*} \
-domain=${HOSTNAME#*.}"
+netcfg/hostname=${HOSTNAME%%.*} \
+netcfg/domain=${HOSTNAME#*.}"
extra_opts=
if [ -n "$DEBUG" ]; then
fi
if [ -z "$MAC" ]; then
- bytes=$(dd status=none if=/dev/urandom bs=3 count=1 | hexdump -v -e '/1 ":%02X"')
+ bytes=$(dd status=noxfer if=/dev/urandom bs=3 count=1 | hexdump -v -e '/1 ":%02X"')
MAC=52:54:00$bytes
fi
cat >&2 <<_eof
hostname: $HOSTNAME
arch: $ARCH
+ suite: $SUITE
ram: $RAM MiB
disk: $DISK GiB
+ cpus: $CPUS
wipe: $WIPE
console: $CONSOLE
restart: $RESTART
virt-install --connect=$QEMU_URI \
${DEBUGFLAG:-} \
-n $HOSTNAME \
+ --vcpus=$CPUS \
-r $RAM \
--disk vol=$STORAGE_POOL/virt-$HOSTNAME \
--network bridge=$BRIDGE,mac=$MAC \
--graphics=vnc \
--serial=pty \
--watchdog i6300esb,action=reset \
- --os-variant=debian$SUITE \
- -l $BASEDIR/installer-amd64 \
+ --os-variant=debianwheezy \
--initrd-inject=$BASEDIR/preseed/$SUITE/preseed.cfg \
--initrd-inject=$tmpdir/commands.tar \
- --prompt --noautoconsole --autostart \
--extra-args="$extra_kargs" \
+ --prompt --noautoconsole --autostart $extra_opts \
+ -l $BASEDIR/installer-amd64/$SUITE \
"$@"
virsh --connect=$QEMU_URI console $HOSTNAME
if [ $RESTART = 1 ]; then
+ sleep 5
virsh --connect=$QEMU_URI "start $HOSTNAME; console $HOSTNAME"
fi