ipxe currently has no native support to boot the FreeBSD kernel, the only way to get to FreeBSD is by chaining to ISO or PXE+NFS.

there are claims to be found on the internet that ipxe can boot 32 bit FreeBSD as a multiboot image. this is not working for x86.

looking at all options, I found out that ipxe in EFI mode (both x86 as well as amd64) can boot the FreeBSD efi loader (loader.efi), but it cannot be configured to add modules like kernel or rootfs, due to limitations of the loader or other incompatibility.

FreeBSD can be directly booted by non-native loaders, e.g. grub2 has support for this (kernel and modules).

Being a rather widely used system I wonder why ipxe has no native support for FreeBSD.

The kernel is an ELF image, but it seems to require relocation after load. I have not found ELF relocation logic in IPXE. Otherwise the loading logic looks very straightforward (setting up an environment and kicking it off).

I wonder how big an effort it would be to add FreeBSD kernel support and if a team could form to perform this change, provided the idea is backed by the core members of ipxe.