it updates the arm64 UEFI firmware to a version newer than 2023.11, as running on qemu >= 9.0 can trigger a bug in the older versions of the EDK2 guest firmware, causing Synchronous Exception and potential bootloops. While doing so it updates the amd64 OVMF firmware, which now has removed support for the 2M firmware and only supports the 4M one. The 4M OVMF firmware comes with split CODE and VARS images, which need to be loaded as pflash drives in the qemu vm, rather than via the -bios flag. For more details on the migration see: https://salsa.debian.org/qemu-team/edk2/-/blob/debian/latest/debian/howto-2M-to-4M-migration.md Fixes https://github.com/gokrazy/tools/issues/80
23 lines
589 B
Makefile
23 lines
589 B
Makefile
.PHONY: test install cover efi
|
|
|
|
all: install
|
|
|
|
test:
|
|
go test -v github.com/gokrazy/tools/...
|
|
|
|
cover:
|
|
go test \
|
|
-coverpkg="$(shell go list ./... | paste -sd ,)" \
|
|
-coverprofile=/tmp/cover.profile \
|
|
-v \
|
|
github.com/gokrazy/tools/...
|
|
|
|
install:
|
|
go install github.com/gokrazy/tools/cmd/...
|
|
|
|
|
|
efi: Dockerfile
|
|
rm -rf thirdparty/edk2-2024.11-4 && \
|
|
docker build --rm -t gokrazy-edk2 . && \
|
|
docker run --rm -v $$(pwd)/third_party/edk2-2024.11-4:/tmp/bins gokrazy-edk2 cp /usr/share/qemu-efi-aarch64/QEMU_EFI.fd /usr/share/OVMF/OVMF_CODE_4M.fd /usr/share/OVMF/OVMF_VARS_4M.fd /tmp/bins
|