X-Git-Url: https://git.madduck.net/code/vinst.git/blobdiff_plain/88d4c549e67f2e2e27d1d25199c7adf8ba078abd..a884ed6a0ffa3d527252bd17b8226271ea86e223:/vinst?ds=sidebyside

diff --git a/vinst b/vinst
index 695ae17..9775cbb 100755
--- a/vinst
+++ b/vinst
@@ -5,6 +5,7 @@ set -e
 # defaults
 RAM=512
 DISK=20
+CPUS=1
 STORAGE_POOL=default
 QEMU_URI=qemu:///system
 SUITE=wheezy
@@ -97,6 +98,14 @@ while [ -n "$1" ]; do
       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
@@ -122,8 +131,8 @@ tmpdir=$(mktemp -d)
 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
@@ -157,7 +166,7 @@ if [ -z "$ARCH" ]; 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
 
@@ -167,6 +176,7 @@ cat >&2 <<_eof
      suite: $SUITE
        ram: $RAM MiB
       disk: $DISK GiB
+      cpus: $CPUS
       wipe: $WIPE
    console: $CONSOLE
    restart: $RESTART
@@ -202,6 +212,7 @@ fi
 virt-install --connect=$QEMU_URI \
   ${DEBUGFLAG:-} \
   -n $HOSTNAME \
+  --vcpus=$CPUS \
   -r $RAM \
   --disk vol=$STORAGE_POOL/virt-$HOSTNAME \
   --network bridge=$BRIDGE,mac=$MAC \
@@ -219,5 +230,6 @@ virt-install --connect=$QEMU_URI \
 virsh --connect=$QEMU_URI console $HOSTNAME
 
 if [ $RESTART = 1 ]; then
+  sleep 5
   virsh --connect=$QEMU_URI "start $HOSTNAME; console $HOSTNAME"
 fi