#!/bin/sh

BLOCKSIZE=516096
WORKING_DIR=`pwd`

echo "This script will create a bootable ext3 image from buildroot."

echo "Enter the path to the image (${WORKING_DIR})"
read IMG_PATH

if [ "${IMAGE_PATH}" = "" ]; then
	IMAGE_PATH=${WORKING_DIR}
fi

echo "Enter the name of the image file (buildroot.img)"
read IMG_NAME

if [ "${IMAGE_NAME}" = "" ]; then
	IMAGE_NAME="buildroot.img"
fi

IMAGE=${IMAGE_PATH}/${IMAGE_NAME}

echo "Enter the path and filename for the root filesystem"
echo "tarball that you want to install into the image"
read ROOT_PATH

if [ "${ROOT_PATH}" = "" ]; then
	echo "Error: you must specify a path."
	exit 1
fi

CYLINDERS=`du --summarize --block-size=${BLOCKSIZE} ${ROOT_PATH}`
BYTE_SIZE=`du --summarize --block-size=${BLOCKSIZE} --human-readable ${ROOT_PATH}`

CYLINDERS=${CYLINDERS%${ROOT_PATH}}
BYTE_SIZE=${BYTE_SIZE%${ROOT_PATH}}

CYLINDERS=`expr ${CYLINDERS} "*" 2`

echo "Now I will create an ext3 image file"
echo "using ${CYLINDERS} cylinders, with ${BLOCKSIZE} bytes per block"
echo "in other words, ${BYTE_SIZE}bytes..." 

	dd if=/dev/zero of=${IMAGE} bs=${BLOCKSIZE}c count=${CYLINDERS} 

# Create file partition and filesystem

    # STEP 1. create partition
    /sbin/losetup /dev/loop3 ${IMAGE}
	# probably should figure out how to use GNU parted to do this non-interactively
    /sbin/fdisk -u -C${CYLINDERS} -S63 -H16 /dev/loop3
    /sbin/losetup -d /dev/loop3

    # STEP 2. make file system (ext3)
    /sbin/losetup -o 32256 /dev/loop3 ${IMAGE}
    /sbin/mkfs.ext3 /dev/loop3
    /sbin/losetup -d /dev/loop3 

# Install Software to the image
	mkdir -p ${IMAGE_PATH}/temp
    mount -o offset=32256,loop ${IMAGE} ${IMAGE_PATH}/temp
    tar -xvf ${ROOT_PATH} --directory ${IMAGE_PATH}/temp
    # make sure to unmount the image
    umount ${IMAGE_PATH}/temp
	rm -rf ${IMAGE_PATH}/temp

# Create a VMware .vmx file
cat > ${IMAGE_PATH}/buildroot.vmx <<EOF
config.version = "8"
virtualHW.version = "3"

uuid.location = "56 4d 5c cc 3d 4a 43 29-55 89 5c 28 1e 7e 06 58"
uuid.bios = "56 4d 5c cc 3d 4a 43 29-55 89 5c 28 1e 7e 06 58"

uuid.action = "create"
checkpoint.vmState = ""

displayName = "Buildroot"
annotation = ""
guestinfo.vmware.product.long = ""
guestinfo.vmware.product.url = "http://dcgrendel.be/vmbuilder/"

guestOS = "linux"
numvcpus = "1"
memsize = "256"
paevm = "FALSE"
sched.mem.pshare.enable = "TRUE"
MemAllowAutoScaleDown = "FALSE"

MemTrimRate = "-1"

nvram = "nvram"

mks.enable3d = "FALSE"
vmmouse.present = "TRUE"

tools.syncTime = "TRUE"
tools.remindinstall = "FALSE"

isolation.tools.hgfs.disable = "FALSE"
isolation.tools.dnd.disable = "FALSE"
isolation.tools.copy.enable = "TRUE"
isolation.tools.paste.enabled = "TRUE"
gui.restricted = "FALSE"

ethernet0.present = "TRUE"
ethernet0.connectionType = "bridged"
ethernet0.addressType = "generated"
ethernet0.generatedAddress = "00:0c:29:7e:06:58"
ethernet0.generatedAddressOffset = "0"

usb.present = "TRUE"
usb.generic.autoconnect = "FALSE"

sound.present = "TRUE"
sound.virtualdev = "es1371"

ide0:0.present = "TRUE"
ide0:0.fileName = "buildroot.vmdk"
ide0:0.deviceType = "disk"
ide0:0.mode = ""
ide0:0.redo = ""
ide0:0.writeThrough = "FALSE"
ide0:0.startConnected = "TRUE"

ide1:0.present = "FALSE"
ide1:0.fileName = ""
ide1:0.deviceType = "disk"
ide1:0.mode = ""
ide1:0.redo = ""
ide1:0.writeThrough = "FALSE"
ide1:0.startConnected = "FALSE"

floppy0.present = "FALSE"

serial0.present = "FALSE"

serial1.present = "FALSE"

parallel0.present = "FALSE"

EOF

# Install GRUB
     /sbin/grub --no-floppy --batch <<EOT 
     device (hd0) ${IMAGE}
     geometry (hd0) ${CYLINDERS} 16 63
     root (hd0,0)
     setup (hd0)
     quit
     EOT
