From c1ffbf2da0916f9f686d0e0581c3de1a37673c71 Mon Sep 17 00:00:00 2001 From: Rebecca Cran Date: Fri, 26 Apr 2019 14:44:46 +0000 Subject: [PATCH] Fix tools/boot/ci-qemu-test.sh and make some improvements Update ci-qemu-test.sh o Update the path to the OVMF file, which is now in /usr/local/share/uefi-edk2-qemu. o Use the more modern q35, pc-q35-3.0 (Q35 + ICH9, 2009) QEMU machine instead of the default, obsolete pc, pc-i440fx-3.0 (i440FX + PIIX, 1996). For example this adds ACPI support. o Specify the system firmware using the newer pflash drive syntax instead of bios. o Remove extra, unneeded devices by passing -nodefaults. o Change text to talk about 'firmware' instead of 'bios', since UEFI isn't a BIOS. Reviewed by: imp, emaste Differential Revision: https://reviews.freebsd.org/D20074 --- tools/boot/ci-qemu-test.sh | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/tools/boot/ci-qemu-test.sh b/tools/boot/ci-qemu-test.sh index 8d46182332b5..8507f9dafe20 100755 --- a/tools/boot/ci-qemu-test.sh +++ b/tools/boot/ci-qemu-test.sh @@ -81,10 +81,10 @@ if [ -z "${SRCTOP}" ]; then die "Cannot locate top of source tree" fi -# Locate the uefi bios file used by qemu. -: ${OVMF:=/usr/local/share/UEFI-firmware/QEMU_UEFI_CODE_x86_64.fd} +# Locate the uefi firmware file used by qemu. +: ${OVMF:=/usr/local/share/uefi-edk2-qemu/QEMU_UEFI_CODE-x86_64.fd} if [ ! -r "${OVMF}" ]; then - die "Cannot read UEFI bios file ${OVMF}" + die "Cannot read UEFI firmware file ${OVMF}" fi # Create a temp dir to hold the boot image. @@ -97,7 +97,8 @@ trap tempdir_cleanup EXIT SIGINT SIGHUP SIGTERM SIGQUIT # And, boot in QEMU. : ${BOOTLOG:=${TMPDIR:-/tmp}/ci-qemu-test-boot.log} timeout 300 \ - qemu-system-x86_64 -m 256M -bios ${OVMF} \ + qemu-system-x86_64 -M q35 -m 256M -nodefaults \ + -drive if=pflash,format=raw,readonly,file=${OVMF} \ -serial stdio -vga none -nographic -monitor none \ -snapshot -hda fat:${ROOTDIR} 2>&1 | tee ${BOOTLOG}