#!/bin/sh

setvar QEMU_IMAGE = "linuxkit/qemu:4563d58e97958f4941fbef9e74cabc08bd402144@sha256:b2db0b13ba1cbb6b48218f088fe0a4d860e1db2c4c6381b5416536f48a612230"

# if not interactive
if test ! -t 0 -a -z $1
{
	# non interactive, tarball input
	docker run -i --rm $QEMU_IMAGE
	exit $?
}

setvar FILE = "$1"
setvar FILE2 = "$2"
setvar CMDLINE = "$3"
test -z $FILE && setvar FILE = ""$PWD/moby""

setvar BASE = $(basename "$FILE")
setvar DIR = $(dirname "$FILE")
if test ! -f $FILE -a -f $DIR/$BASE-initrd.img -a -f $DIR/$BASE-bzImage
{
	setvar FILE = "$DIR/$BASE-initrd.img"
	setvar FILE2 = "$DIR/$BASE-bzImage"
}

echo $FILE | grep -q '^/' || setvar FILE = ""$PWD/$FILE""
if test ! -z $FILE2
{
	echo $FILE2 | grep -q '^/' || setvar FILE2 = ""$PWD/$FILE2""
}
if test ! -z $CMDLINE
{
	echo $CMDLINE | grep -q '^/' || setvar CMDLINE = ""$PWD/$CMDLINE""
}

if test -c "/dev/kvm"  {
    setvar DEVKVM = ""--device=/dev/kvm""
}
setvar BASE = $(basename "$FILE")
setvar MOUNTS = ""-v $FILE:/tmp/$BASE""
setvar BASE2 = $(basename "$FILE2")
setvar BASE3 = $(basename "$CMDLINE")

test ! -z $FILE2 && setvar MOUNTS = ""$MOUNTS -v $FILE2:/tmp/$BASE2""
test ! -z $CMDLINE && setvar MOUNTS = ""$MOUNTS -v $CMDLINE:/tmp/$BASE3""

docker run -it --rm $MOUNTS $DEVKVM $QEMU_IMAGE