diff options
| author | Ada Christine <adachristine18@gmail.com> | 2026-05-18 18:20:37 +0000 |
|---|---|---|
| committer | Ada Christine <adachristine18@gmail.com> | 2026-05-18 18:20:37 +0000 |
| commit | c8a25997dae70b7083725ebaa030ff363134a191 (patch) | |
| tree | abf7c2cc6a91ec9a1cd8a4a4d661e428b86c5dfd /qemu.sh | |
| parent | 9fbfc6e951e565ef98c49c1dcfc4b6a39514f17d (diff) | |
build and debug system
Diffstat (limited to 'qemu.sh')
| -rwxr-xr-x | qemu.sh | 47 |
1 files changed, 47 insertions, 0 deletions
@@ -0,0 +1,47 @@ +#!/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} + |
