#!/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