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.
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.
You'll need nvdimm.ko in the kernel, since that's the vector by which we communicate
this ramdisk exists.
Sponsored by: Netflix