# Usage: no command-line args.
# "arguments" come in environment:
# TARGET a device filename
-# IMAGESIZE the desired filesystem size in megabytes (rest will be swap)
+# FSSIZE the desired filesystem size in megabytes (rest will be swap)
# ARCH, DIST, MIRROR
# HOSTNAME, IP
set -e
-echo ,"${IMAGESIZE}"$',L,*\n,,S\n;\n;' | sfdisk -uM -H 255 -S 63 "$TARGET"
+echo ,"${FSSIZE}"$',L,*\n,,S\n;\n;' | sfdisk -uM -H 255 -S 63 "$TARGET"
kpartx -a "$TARGET" # should be no-op in guest
--hostname "$HOSTNAME" --ip="$IP" --netmask=255.255.0.0 --gateway=18.181.0.1 \
--arch "$ARCH" --dist "$DIST" --mirror "$MIRROR" --cache=yes
-kpartx -d $VOLUME
+kpartx -d "$TARGET"
exit 0
export ARCH=${x#arch=}
;;
imagesize=*)
- export IMAGESIZE=${x#imagesize=}
+ export FSSIZE=${x#imagesize=}
;;
noinstall)
exit 0
# In particular, it may leave ${TARGET}1 mounted somewhere in tmp.
# Unmount it, then kpartx -d $TARGET to clean up.
+set -e
+
export PATH #WTF?
-LVNAME="$1"
+NAME="$1"
export HOSTNAME="$2"
export DIST="$3"
export MIRROR="$4"
-export IMAGESIZE="$5" # in megabytes
-export IP="$6"
+export FSSIZE="$5" # in megabytes
+SWAPSIZE="$6" # in megabytes
+export IP="$7"
export ARCH=amd64
+VGNAME=xenvg
#LVSIZE=`lvs --noheadings --units M --nosuffix -o Size /dev/xenvg/d_foobar_hda | sed 's/\..*//'`
IP=`host $HOSTNAME.xvm.mit.edu | sed 's/.* //' | head -n 1`
fi
-export TARGET=/dev/mapper/xenvg-$(echo "$LVNAME" | sed -e 's/-/--/g')_hda
+/sbin/lvcreate -L $(($FSSIZE+$SWAPSIZE))M -n "${NAME}_hda" $VGNAME
-/usr/sbin/sipb-xen-create-image
+export TARGET=/dev/mapper/xenvg-"$(echo "${NAME}_hda" | sed -e 's/-/--/g')"
+/usr/sbin/sipb-xen-create-image