mirror of
https://github.com/netbootxyz/netboot.xyz.git
synced 2026-04-25 15:15:56 +03:00
[GH-ISSUE #1610] Add FreeBSD support for UEFI boot machines #539
Labels
No labels
Hacktoberfest
Hacktoberfest
bootloader
bsd
bug
confirmed
documentation
duplicate
enhancement
enhancement
enhancement
eol
experimental-merged
freebsd
help wanted
invalid
investigate
ipxe
linux
live-os
memdisk
menu
no-issue-activity
no-issue-activity
pull-request
released
todo
upstream
windows
windows
work-in-progress
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/netboot.xyz#539
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @sbraz on GitHub (Apr 15, 2025).
Original GitHub issue: https://github.com/netbootxyz/netboot.xyz/issues/1610
Is your feature request related to a problem? Please describe.
Hi, at the moment, the BSD menu is not available on UEFI boot machines. This was apparently mentioned in #479.
Describe the solution you'd like
It would be nice if https://github.com/netbootxyz/netboot.xyz/blob/master/roles/netbootxyz/templates/menu/freebsd.ipxe.j2 supported UEFI boot machines.
Describe alternatives you've considered
I tried booting an mfsbsd image with iPXE ↓
Additional context
The following script seems to boot on an UEFI machine although I'm not sure it's actually working:
See also https://github.com/mmatuska/mfsbsd/issues/110 and https://reviews.freebsd.org/D45404.
@antonym commented on GitHub (Apr 17, 2025):
This does seem to work and I can get to the root prompt to log in via mfsroot. But it appears that my networking in Proxmox doesn't appear to pick up for me to actually run a full instal.
@mx240 commented on GitHub (Nov 23, 2025):
The suggestion to load mfsbsd via sanboot is working for me on a UEFI-booted system (real computer, not a VM). I don't have Proxmox handy but it sounds like FreeBSD may not be compatible with the NIC that Proxmox is providing, can you try intel e1000?
@russor commented on GitHub (Dec 10, 2025):
Just a FYI, this diff only adds support for BIOS boot, not UEFI. I made an early version of that diff; and my goal was to get memdisk iso booting to work, as it did with many Linux isos. This did make it into FreeBSD 15, which is great.
Unfortunately, memdisk is BIOS only, and I haven't really seen a similar facility for UEFI. UEFI 2.6 did add a Memory Disk Protocol, which seems like it would be useful, but I've not seen it in use. I have seen some developer notes on forums with ideas, but no releases though. But it seems like maybe it makes sense to load the image as a UEFI Memory Disk, and expose it as a NVDIMM and probably OSes that support NVDIMM will see it on boot with no changes needed to the OS (other than ensuring the driver is available)
@klemensn commented on GitHub (Dec 14, 2025):
Linking https://github.com/netbootxyz/netboot.xyz/pull/1722 here for the archives.
@russor commented on GitHub (Jan 5, 2026):
I think sanboot should work for mfsbsd, but after my last message, I realized I could write a memdisk for UEFI, so I did: https://github.com/russor/memdisk_uefi/ (so far, only built for amd64 and lightly tested; I made a discussion thread for memdisk_uefi)
For mfsbsd, I think sanboot or my memdisk_uefi both work, as the loader will read from the mounted filesystem to create a memory disk that works after UEFI boot services ends and the FreeBSD kernel starts.
With a FreeBSD official image, (AFAIK) sanboot from an http(s) URI isn't available once UEFI boot services are exited. My memdisk_uefi sets up NVDIMM ACPI tables that work with FreeBSD (and Linux), but the FreeBSD official image's kernel (GENERIC) has the nvdimm as a loadable module only, not compiled in. You can load it from the loader prompt, but that's not friendly enough to live in netboot.xyz configs. I've got a request in to the person who helped me get the other patch in and hopefully we can get nvdimm enabled in the installer kernel and things could just work with the installer image.