#!/usr/bin/env bash BOOT_DIR=loader BOOT_FILE=${BOOT_DIR}/loader.efi SHIM_DIR=kc/boot SHIM_FILE=${SHIM_DIR}/efi.os CORE_DIR=kc/core CORE_FILE=${CORE_DIR}/kernel.os FIRMWARE_DIR=/usr/share/ovmf/x64 FIRMWARE_FILE=${FIRMWARE_DIR}/OVMF_CODE.4m.fd FIRMWARE_VARS=${FIRMWARE_DIR}/OVMF_VARS.4m.fd INSTALL_PREFIX=adasoft/sophia make && tempdir=$(mktemp -d) && rundir=${tempdir}/run varsfile=${tempdir}/$(basename ${FIRMWARE_VARS}) efidir=${rundir}/efi efibootdir=${efidir}/boot bootdir=${efidir}/adasoft/sophia bootfile=${efibootdir}/BOOTX64.EFI servdir=${rundir}/adasoft/sophia mkdir -p ${efidir} ${efibootdir} && mkdir -p ${bootdir} ${servdir} && cp ${FIRMWARE_VARS} ${varsfile} && cp ${BOOT_FILE} ${bootdir} && cp ${BOOT_FILE} ${bootfile} && cp ${SHIM_FILE} ${servdir} && cp ${CORE_FILE} ${servdir} && qemu-system-x86_64 -d int \ -drive if=pflash,format=raw,unit=0,file=${FIRMWARE_FILE},readonly=on \ -drive if=pflash,format=raw,unit=1,file=${varsfile} \ -net none -drive file=fat:rw:${rundir} -monitor stdio \ -serial file:sophia.log -no-shutdown -no-reboot -s rm -rf ${tempdir}