#!/bin/bash
BRIDGE=br-lan
RAM=1024
VCPUS=2
IMAGE=isos/debian-6.0.3-amd64-netinst_preseed.iso
IMAGE_VARIANT=debiansqueeze
NAME=$1
VG=pvl
DISK_NAME=${NAME}
DISK=/dev/mapper/${VG}-$DISK_NAME
DISK_SIZE=10G
PRESEED_FILE=/cdrom/preseed.cfg
PRESEED_CHECKSUM=35ea42c7b0139aab26284a96c0ec8c31
PRESEED_BOOT={preseed/file=$PRESEED_FILE preseed/file/checksum=$PRESEED_CHECKSUM}
# env
LVCREATE=/sbin/lvcreate
VIRT_INSTALL=/usr/bin/virt-install
LIBVIRT_URL=qemu:///system
VIRT_TYPE=kvm
#SEMANAGE=/usr/sbin/semanage
#RESTORECON=/sbin/restorecon
# functions
set -e
function cmd () {
echo ">>> $@"
eval "$@" || exit $?
}
### Go!
## LVM
[ -e $DISK ] || cmd $LVCREATE -L $DISK_SIZE -n $DISK_NAME $VG
## SELinux?
#$SEMANAGE fcontext -a -t virt_image_t $DISK
#$RESTORECON -v $DISK
## virt-install
cmd $VIRT_INSTALL \
--connect $LIBVIRT_URL \
--name $NAME \
--ram $RAM --vcpus $VCPUS \
--cdrom "$IMAGE" \
--os-variant $IMAGE_VARIANT \
--disk path=$DISK,bus=virtio \
--network bridge:$BRIDGE \
--vnc \
--virt-type $VIRT_TYPE \
--accelerate --hvm \
--serial pty