#!/bin/sh setglobal 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 $? } setglobal FILE = $1 setglobal FILE2 = $2 setglobal CMDLINE = $3 test -z $FILE && setglobal FILE = ""$PWD/moby"" setglobal BASE = $[basename $FILE] setglobal DIR = $[dirname $FILE] if test ! -f $FILE -a -f $DIR/$BASE-initrd.img -a -f $DIR/$BASE-bzImage { setglobal FILE = "$DIR/$BASE-initrd.img" setglobal FILE2 = "$DIR/$BASE-bzImage" } echo $FILE | grep -q '^/' || setglobal FILE = ""$PWD/$FILE"" if test ! -z $FILE2 { echo $FILE2 | grep -q '^/' || setglobal FILE2 = ""$PWD/$FILE2"" } if test ! -z $CMDLINE { echo $CMDLINE | grep -q '^/' || setglobal CMDLINE = ""$PWD/$CMDLINE"" } if test -c "/dev/kvm" { setglobal DEVKVM = '"--device=/dev/kvm'" } setglobal BASE = $[basename $FILE] setglobal MOUNTS = ""-v $FILE:/tmp/$BASE"" setglobal BASE2 = $[basename $FILE2] setglobal BASE3 = $[basename $CMDLINE] test ! -z $FILE2 && setglobal MOUNTS = ""$MOUNTS -v $FILE2:/tmp/$BASE2"" test ! -z $CMDLINE && setglobal MOUNTS = ""$MOUNTS -v $CMDLINE:/tmp/$BASE3"" docker run -it --rm $MOUNTS $DEVKVM $QEMU_IMAGE