Support ipxe downloading of a memory disk (either presented to the OS as
a harddisk or a cd). This requires an ipxe server since it uses the ipxe
download protocol to grab the disk. If there is a disk, we add it to the
environment as a disk, and then the rest of the bootloader just sees it
and boots from it.
I've cribbed code from https://github.com/russor/memdisk_uefi and
adapted it to work in the context of the FreeBSD bootloader. However,
I've decided to not include the ACPI table updates since we can use
FreeBSD's md more directly.
The ixpe_download.h file was created from the documentation of the
interface.
So a .ipxe file with the line
boot loader.elf memdisk=${cwduri}FreeBSD-15.1-RELEASE-amd64-bootonly.iso
would use the FreeBSD boot loader to boot the FreeBSD 15.1 release.
gzip, bzip2 and zstd compressed files are automatically decompressed on the fly.
Sponsored by: Netflix