FreeBSD: Upgrade to 12.2 release

FreeBSD 12.1 has reached end of life. Use 12.2 instead so that FreeBSD's
project's packages will work.  Update which timezone to pick. Work around a QEMU
bug that incorrectly raises an exception on a CRC32 instruction with the FPU
disabled.  The qemu bug is described here:
https://www.mail-archive.com/qemu-devel@nongnu.org/msg784158.html

Signed-off-by: Warner Losh <imp@bsdimp.com>
Message-Id: <20210307155654.993-2-imp@bsdimp.com>
[thuth: Disable gnutls to work-around a problem with libtasn1]
Signed-off-by: Thomas Huth <thuth@redhat.com>
This commit is contained in:
Warner Losh 2021-03-07 08:56:54 -07:00 committed by Thomas Huth
parent 7e47061d93
commit 262fd27392
1 changed files with 11 additions and 5 deletions

View File

@ -20,12 +20,16 @@ import socket
import subprocess import subprocess
import basevm import basevm
FREEBSD_CONFIG = {
'cpu' : "max,sse4.2=off",
}
class FreeBSDVM(basevm.BaseVM): class FreeBSDVM(basevm.BaseVM):
name = "freebsd" name = "freebsd"
arch = "x86_64" arch = "x86_64"
link = "https://download.freebsd.org/ftp/releases/ISO-IMAGES/12.1/FreeBSD-12.1-RELEASE-amd64-disc1.iso.xz" link = "https://download.freebsd.org/ftp/releases/ISO-IMAGES/12.2/FreeBSD-12.2-RELEASE-amd64-disc1.iso.xz"
csum = "7394c3f60a1e236e7bd3a05809cf43ae39a3b8e5d42d782004cf2f26b1cfcd88" csum = "a4530246cafbf1dd42a9bd3ea441ca9a78a6a0cd070278cbdf63f3a6f803ecae"
size = "20G" size = "20G"
pkgs = [ pkgs = [
# build tools # build tools
@ -61,6 +65,8 @@ class FreeBSDVM(basevm.BaseVM):
"zstd", "zstd",
] ]
# TODO: Enable gnutls again once FreeBSD's libtasn1 got fixed
# See: https://gitlab.com/gnutls/libtasn1/-/merge_requests/71
BUILD_SCRIPT = """ BUILD_SCRIPT = """
set -e; set -e;
rm -rf /home/qemu/qemu-test.* rm -rf /home/qemu/qemu-test.*
@ -68,7 +74,7 @@ class FreeBSDVM(basevm.BaseVM):
mkdir src build; cd src; mkdir src build; cd src;
tar -xf /dev/vtbd1; tar -xf /dev/vtbd1;
cd ../build cd ../build
../src/configure --python=python3.7 {configure_opts}; ../src/configure --python=python3.7 --disable-gnutls {configure_opts};
gmake --output-sync -j{jobs} {target} {verbose}; gmake --output-sync -j{jobs} {target} {verbose};
""" """
@ -125,7 +131,7 @@ class FreeBSDVM(basevm.BaseVM):
self.console_wait_send("IPv6", "n") self.console_wait_send("IPv6", "n")
self.console_wait_send("Resolver", "\n") self.console_wait_send("Resolver", "\n")
self.console_wait_send("Time Zone Selector", "a\n") self.console_wait_send("Time Zone Selector", "0\n")
self.console_wait_send("Confirmation", "y") self.console_wait_send("Confirmation", "y")
self.console_wait_send("Time & Date", "\n") self.console_wait_send("Time & Date", "\n")
self.console_wait_send("Time & Date", "\n") self.console_wait_send("Time & Date", "\n")
@ -206,4 +212,4 @@ class FreeBSDVM(basevm.BaseVM):
self.print_step("All done") self.print_step("All done")
if __name__ == "__main__": if __name__ == "__main__":
sys.exit(basevm.main(FreeBSDVM)) sys.exit(basevm.main(FreeBSDVM, config=FREEBSD_CONFIG))