7 echo "invirt-admin create-sysvm {options}"
8 echo " required options: --name, --fs-size, --swap-size, --memory,"
9 echo " --hostname, --ip, --mac, --arch, --dist, --mirror"
11 echo " optional options: --netmask, --gateway. Defaults will be pulled from invirt-getconf"
13 echo " fs-size, swap-size, memory in MiB"
14 echo " fs-size + swap-size will be total disk-image size"
18 if [ create-sysvm != "$1" ]; then
23 vg=$(invirt-getconf lvm.vg)
24 while [ $# -gt 0 ]; do
26 --vg) vg=$2; shift 2;;
27 --name) name=$2; shift 2;;
28 --fs-size) fs_size=$2; shift 2;;
29 --swap-size) swap_size=$2; shift 2;;
30 --memory) memory=$2; shift 2;;
31 --hostname) hostname=$2; shift 2;;
32 --ip) ip=$2; shift 2;;
33 --mac) mac=$2; shift 2;;
34 --arch) arch=$2; shift 2;;
35 --dist) dist=$2; shift 2;;
36 --mirror) mirror=$2; shift 2;;
37 --netmask) netmask=$2; shift 2;;
38 --gateway) gateway=$2; shift 2;;
40 echo "Unknown option: $1"
46 if [ -z "$name" ]; then
49 disk_size=$(( $fs_size + $swap_size ))
52 lvcreate "$vg" --name "s_${name}_hda" --size "$disk_size"m
54 # XXX breaks if $name has dashes
55 TARGET=/dev/mapper/$vg-s_${name}_hda FSSIZE=$fs_size \
56 ARCH=$arch DIST=$dist MIRROR=$mirror \
57 HOSTNAME=$hostname IP=$ip \
58 NETMASK=$netmask GATEWAY=$gateway \
61 cat >/etc/xen/sysvms/s_$name <<EOF
64 release = os.uname()[2]
65 kernel = '/boot/vmlinuz-%s' % release
66 ramdisk = '/boot/initrd.img-%s' % release
69 disk = ['phy:$vg/s_${name}_hda,hda,w']
73 vif = [ 'ip=$ip,mac=$mac' ]
75 on_poweroff = 'destroy'
80 extra = '2 console=xvc0'
84 echo "Configuration written to /etc/xen/sysvms/s_$name."
86 echo " xm create sysvms/s_$name"