1First, you will need a few things. 2 3(1) My latest branch at https://github.com/bsdimp/freebsd/tree/boot-linuxboot 4 (so the boot-linuxboot branch of my freebsd tree, it's sync to Friday). 5 6(2) a small cache of binaries. You'll need to put these into 7 ~/stand-test-root/cache. You can find the tarball at 8 freefall.freebsd.org:~imp/cache.tar. You can just extract this in ~. These are 9 the linux kernels I'm testing with. 10 11(3) The latest qemu-system-aarch64 (I think ports/pkg version of emulators/qemu 12 is recent enough). If not, I know the latest master of qemu project works. 13 14(4) A recent enough universe that the building of stand will work for all the 15 architectures that I build. You can hack the ARCHES line near the top of 16 tools/boot/full-test.sh if need be, but you'll need at least amd64, arm64 and 17 maybe riscv (I don't have a good way to filter arches in this script yet, since 18 it's at an early state of development. 19 20(5) Build the kernel for at least arm64 and use it as an 'override'. I do this 21 by sudo -E make installkernel 22 DESTDIR=$HOME/stand-test-root/override/arm64-aarch64 TARGET=arm64 after 23 building the kernel. The script is designed to use kernels and binaries from 24 the latest CDs to do the testing, but has a way to override the kernel and 25 since we need to fix arm64... 26 27(6) You'll need to build the images. If you've done 1-5 correctly (and I've not 28 missed anything), then "cd <mumble>/src; sh tools/boot/full-test.sh" will create 29 all the images and scripts to run qemu. There should be no errors, though 30 warnings about zfs.ko etc missing from powerpc is fine (and ignored by the 31 script already). 32 33(7) There will be a script to recreate this created in 34 $HOME/stand-test-root/scripts/arm64-aarch64/linuxboot-test.sh. Just run it with 35 'sh'. And extra args are passed to qemu, so '-s -S' for gdb and 36 '-d trace:gicv3\* -D /tmp/gic.log' for verbose gic tracing (spaces are important). 37 38There's also a linuxboot-test-raw.sh which boots w/o EDK2+Linux.efi but loads 39the kernel directly. and freebsd-test.sh which uses EDK2+loader.efi to boot FreeBSD 40w/o kboot at all. 41