ipxe + EFI loading FreeBSD - should/will this work?

Keve keve at keve.hu
Sat Feb 24 16:43:50 UTC 2018


I am booting several different OSes cleanly with ipxe (http://ipxe.org)
in both physical as well as virtual environments. The only system
resisting so far is FreeBSD.

I can easily boot it from iso (e.g. the excellent mfsbsd isos), but this
reduces flexibility in giving kernel command line arguments, etc.

ipxe can boot multiboot kernels on x86, there are traces of multiboot in
FreeBSD, but I have not succeeded in getting it up. ipxe lacks direct
support for loading the FreeBSD kernel.

With the advent of loader.efi I have tried my luck again - with moderate

On amd64 I can boot loader.efi as the "kernel" passing kernel command
line arguments, but any attempt to pass an initial ramdisk fails.

I tried passing no initrd, a small UFS (40MB) with /boot, a small disk
image with gpt freebsd-ufs partition (50MB), a big UFS (mfsroot), but I
consistently get the same result:

* "Found 1 disk(s) but no logical partition" message, "can't load 'kernel'"

* lsdev shows only the network card

* loader.efi tries to nfs mount / on the tftp-server

The whole point of my investigation was to avoid the nfs-root by
providing a memory disk.

Hence my questions:

Am I missing something in my approach above (some parameter to
loader.efi that will make it use the memory disk) or some other magic to
use the memory disk as the root filesystem?

Are you considering to enrich loader.efi to be able to work with an
initial ramdisk, if yes, where can I sign up to support the process?

Any guidance on how to proceed, what to try is highly appreciated.




More information about the freebsd-questions mailing list