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
This commit is contained in:
Rebecca Cran 2019-04-26 14:44:46 +00:00
parent d05368940d
commit c1ffbf2da0
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=346748

View File

@ -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}