Build devstack images
diff --git a/build_pxe_boot.sh b/build_pxe_boot.sh
index 16fa02c..c5ef276 100755
--- a/build_pxe_boot.sh
+++ b/build_pxe_boot.sh
@@ -1,9 +1,10 @@
 #!/bin/bash
 # build_pxe_boot.sh - Create a PXE boot environment
 #
-# build_pxe_boot.sh destdir
+# build_pxe_boot.sh [-k kernel-version] destdir
 #
 # Assumes syslinux is installed
+# Assumes devstack files are in `pwd`/pxe
 # Only needs to run as root if the destdir permissions require it
 
 UBUNTU_MIRROR=http://archive.ubuntu.com/ubuntu/dists/natty/main/installer-amd64/current/images/netboot/ubuntu-installer/amd64
@@ -12,8 +13,15 @@
 MEMTEST_BIN=memtest86+-${MEMTEST_VER}.bin
 MEMTEST_URL=http://www.memtest.org/download/${MEMTEST_VER}/
 
+KVER=`uname -r`
+if [ "$1" = "-k" ]; then
+    KVER=$2
+    shift;shift
+fi
+
 DEST_DIR=${1:-/tmp}/tftpboot
 OPWD=`pwd`
+PROGDIR=`dirname $0`
 
 mkdir -p $DEST_DIR/pxelinux.cfg
 cd $DEST_DIR
@@ -31,17 +39,42 @@
 
 EOF
 
-# Get Ubuntu netboot
+# Setup devstack boot
 mkdir -p $DEST_DIR/ubuntu
-cd $DEST_DIR/ubuntu
-wget -N --quiet $UBUNTU_MIRROR/linux
-wget -N --quiet $UBUNTU_MIRROR/initrd.gz
+if [ ! -d $OPWD/pxe ]; then
+    mkdir -p $OPWD/pxe
+fi
+if [ ! -r $OPWD/pxe/vmlinuz-${KVER}-generic ]; then
+    if [ ! -r /boot/vmlinuz-${KVER}-generic ]; then
+        echo "No kernel found"
+    else
+        cp -p /boot/vmlinuz-${KVER}-generic $OPWD/pxe
+    fi
+fi
+cp -p $OPWD/pxe/vmlinuz-${KVER}-generic $DEST_DIR/ubuntu
+if [ ! -r $OPWD/pxe/stack-initrd.gz ]; then
+    $PROGDIR/build_pxe_ramdisk.sh $OPWD/pxe/stack-initrd.gz
+fi
+cp -p $OPWD/pxe/stack-initrd.gz $DEST_DIR/ubuntu
+cat >>$DEFAULT <<EOF
+
+LABEL devstack
+    MENU LABEL ^devstack
+    MENU DEFAULT
+    KERNEL ubuntu/vmlinuz-$KVER-generic
+    APPEND initrd=ubuntu/stack-initrd.gz ramdisk_size=2109600 root=/dev/ram0
+EOF
+
+# Get Ubuntu
+if [ -d $OPWD/pxe ]; then
+    cp -p $OPWD/pxe/natty-min-initrd.gz $DEST_DIR/ubuntu
+fi
 cat >>$DEFAULT <<EOF
 
 LABEL ubuntu
-	MENU LABEL Ubuntu Natty
-	KERNEL ubuntu/linux
-	APPEND initrd=ubuntu/initrd.gz
+    MENU LABEL ^Ubuntu Natty
+    KERNEL ubuntu/vmlinuz-$KVER-generic
+    APPEND initrd=ubuntu/natty-base-initrd.gz ramdisk_size=419600 root=/dev/ram0
 EOF
 
 # Get Memtest
@@ -53,7 +86,7 @@
 cat >>$DEFAULT <<EOF
 
 LABEL memtest
-    MENU LABEL Memtest86+
+    MENU LABEL ^Memtest86+
     KERNEL $MEMTEST_BIN
 EOF
 
@@ -74,7 +107,7 @@
 cat >>$DEFAULT <<EOF
 
 LABEL local
-    MENU LABEL Local disk
+    MENU LABEL ^Local disk
     MENU DEFAULT
     LOCALBOOT 0
 EOF