#!/bin/sh -Cefu set -Cefu cd /root/files/embedded/qemu || exit 1 name="$1" extra_arg="${2:-}" fsck=1 lockf_prepend='daemon -f' case "$extra_arg" in *no-fsck*) fsck= ;; esac case "$extra_arg" in *fg*) lockf_prepend= ;; esac if [ "${3:-}" != run -a "$fsck" ] then ./fsck.sh "$name" fi base_dir=/root/files/qemus dir="$base_dir/$name" lock="$dir/.lock" if [ "${3:-}" != run ] then $lockf_prepend lockf -t 0 "$lock" "$0" "$name" "$extra_arg" run exit fi bin="`cat \"$dir/.bin\"`" lib="`cat \"$dir/.lib\"`" ram="`cat \"$dir/.ram\"`" tap="tap`cat \"$dir/.tap\"`" mac="`cat \"$dir/.mac\"`" img="$dir/.img" ifconfig "$tap" up env "LD_PRELOAD=$lib" "$bin" -M virt -m "$ram" -nographic -rtc base=localtime \ -bios /usr/local/share/u-boot/u-boot-qemu-arm/u-boot.bin \ -nic "tap,ifname=$tap,mac=$mac" \ -drive "file=$img,format=raw,discard=unmap,detect-zeroes=unmap"