blob: 0ce275a1a06840c806abb97fa0cdfa9f5c55c824 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
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 -S
rm -rf ${tempdir}
|