#!/usr/bin/env bash L4IMAGE="${OBJ_BASE}/source/tool/bin/l4image" MAKECONF="${OBJ_BASE}/source/tool/bin/makeconf" # Sets MAKECONF_ARCH if [[ -z "${ARCH}" || -z "${CPU}" ]]; then . <("$MAKECONF" "$OBJ_BASE" ARCH CPU) ARCH=${MAKECONF_ARCH} CPU=${MAKECONF_CPU} fi L4_SYSTEM="${ARCH}_${CPU}" if [[ ( "${ARCH}" == "amd64" || "${ARCH}" == "x86" ) && -z "${QEMU_IMAGE_TYPE}" ]] ; then # Trigger rebuild on binary "bootstrap" if necessary BOOTSTRAP_BIN="${OBJ_BASE}/bin/${L4_SYSTEM}/plain/bootstrap" "$(dirname $0)/_platform_rebuild.pl" "$BOOTSTRAP_BIN" || exit 1 source <("$MAKECONF" "$OBJ_BASE" QEMU_PATH QEMU_OPTIONS MODULE_SEARCH_PATH BUILDDIR_SEARCHPATH) export QEMU="$MAKECONF_QEMU_PATH" export QEMU_OPTIONS="$MAKECONF_QEMU_OPTIONS" export SEARCHPATH="${MODULE_SEARCH_PATH}:${SEARCHPATH}:${MAKECONF_MODULE_SEARCH_PATH}:${MAKECONF_BUILDDIR_SEARCHPATH}" export L4DIR="$(realpath "${OBJ_BASE}/source")" exec "${L4DIR}/tool/bin/qemu-x86-launch" "${MODULES_LIST}" "${ENTRY:-${E}}" fi if [[ -z "$TARGET_IMAGE" ]]; then export TARGET_IMAGE="$(mktemp --tmpdir "l4re-qemu-XXXXXXXXXX.elf")" trap 'rm $TARGET_IMAGE' EXIT fi "$(dirname $0)"/"${QEMU_IMAGE_TYPE:-elfimage}" || exit $? $L4IMAGE --verbose -i "$TARGET_IMAGE" launch; exit $?