| 0ca12047 | 11-Sep-2026 |
Warner Losh <imp@FreeBSD.org> |
loader.efi: Eat the character used to break to OK
When we can't find root, we give the user a chance to drop to the boot loader OK prompt. We should eat the character that's pressed to not interfere
loader.efi: Eat the character used to break to OK
When we can't find root, we give the user a chance to drop to the boot loader OK prompt. We should eat the character that's pressed to not interfere with the interactive session.
Sponsored by: Netflix
show more ...
|
| 6de311d3 | 11-Sep-2026 |
Warner Losh <imp@FreeBSD.org> |
loader.efi: download DHCP initmd specified image
When we haven't downloaded an image via mem{disk,cd} and ipxe, try any image specified by the FreeBSD-specific initmd dhcp option. This allows direct
loader.efi: download DHCP initmd specified image
When we haven't downloaded an image via mem{disk,cd} and ipxe, try any image specified by the FreeBSD-specific initmd dhcp option. This allows direct booting of loader.efi with a detached root ramdisk filesystem.
Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D59433
show more ...
|
| d48e9bff | 11-Sep-2026 |
Warner Losh <imp@FreeBSD.org> |
loader.efi: fetch initmd specified by DHCP
Configure net0, read the DHCP-provided initmd URL, and download it through the file API so directly booted loader.efi can construct its root memory disk.
loader.efi: fetch initmd specified by DHCP
Configure net0, read the DHCP-provided initmd URL, and download it through the file API so directly booted loader.efi can construct its root memory disk.
Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D59432
show more ...
|
| f1163b94 | 11-Sep-2026 |
Warner Losh <imp@FreeBSD.org> |
loader.efi: For ipxe booting, fall back to md when ramdisk fails
Some UEFI firmwares do not contain the RamDisk protocol. When this happens, load the file into a md disk instead. This is less desire
loader.efi: For ipxe booting, fall back to md when ramdisk fails
Some UEFI firmwares do not contain the RamDisk protocol. When this happens, load the file into a md disk instead. This is less desireable than the RamDisk (since that allows better chain-booting options), but sufficient to boot an image as a md device for FreeBSD. While most severs have the RamDisk protocol enabled in their builds, I have two IoT class boards from different manufacturers that do not. Since it works just fine with this fallback, that's preferable.
Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D59421
show more ...
|
| 69d1595d | 11-Sep-2026 |
Warner Losh <imp@FreeBSD.org> |
loader.efi: Move probing the md up to before doing bootmgr
When someone has loaded a ram disk, that's a stronger hint about what to boot than the UEFI boot manager. Prefer it and rework a little the
loader.efi: Move probing the md up to before doing bootmgr
When someone has loaded a ram disk, that's a stronger hint about what to boot than the UEFI boot manager. Prefer it and rework a little the #ifdefs to reduce their number.
Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D59419
show more ...
|
| 7db502d5 | 11-Jul-2026 |
Warner Losh <imp@FreeBSD.org> |
loader: Add xzfs support by defualt to BIOS and EFI loaders
For the BIOS, add xzfs support. This is a tiny increase in the loader size, but allows us to fetch compressed files from any of the filesy
loader: Add xzfs support by defualt to BIOS and EFI loaders
For the BIOS, add xzfs support. This is a tiny increase in the loader size, but allows us to fetch compressed files from any of the filesystems we support, including over the network.
For EFI, also add gzipfs and bzip2fs support we well. The increment for these files is tiny.
Sponsored by: Netflix
show more ...
|
| c8842f1d | 10-Jul-2026 |
Warner Losh <imp@FreeBSD.org> |
Revert "loader.efi: Trim ZFS searching for other booting options"
This reverts commit 3e3fd1fde8e168910edc538966111c0b5f03cd5f.
This appears to break chainbooting with boot1.efi and similar scenari
Revert "loader.efi: Trim ZFS searching for other booting options"
This reverts commit 3e3fd1fde8e168910edc538966111c0b5f03cd5f.
This appears to break chainbooting with boot1.efi and similar scenarios with Root-on-ZFS scenarios. Revert until it's better understood.
PR: 296309 Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D58071
show more ...
|
| 1d129826 | 10-Jul-2026 |
Warner Losh <imp@FreeBSD.org> |
loader.efi: Simplify the code for null decompression a little
This code is simpler when we spell it the Unix way. Also, add sanity checks to make sure the offset is where we think it is.
Fixes: afe
loader.efi: Simplify the code for null decompression a little
This code is simpler when we spell it the Unix way. Also, add sanity checks to make sure the offset is where we think it is.
Fixes: afee781523e4 ("loader.efi: Recognize new memdisk=<url> and memcd=<url> options") Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D58070
show more ...
|
| afee7815 | 26-Jun-2026 |
Warner Losh <imp@FreeBSD.org> |
loader.efi: Recognize new memdisk=<url> and memcd=<url> options
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 us
loader.efi: Recognize new memdisk=<url> and memcd=<url> options
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 ipxe_download.h file was created from the documentation of the interface.
So a .ipxe file with the line chain http://10.2.0.1/loader.efi memdisk=${cwduri}FreeBSD-15.1-RELEASE-amd64-bootonly.iso would use the FreeBSD boot loader to boot the FreeBSD 15.1 release.
md(9) has a bug at the moment that prevents it from probing the partitions on it.
Also, we'll automatically decompress gzip, bzip2 and zstd files automatically.
Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D57677
show more ...
|
| 3e3fd1fd | 26-Jun-2026 |
Warner Losh <imp@FreeBSD.org> |
loader.efi: Trim ZFS searching for other booting options
When we're searching the system for all the disks in relaxed mode, we need to do a final pass over all the non-boot disks. We no longer need
loader.efi: Trim ZFS searching for other booting options
When we're searching the system for all the disks in relaxed mode, we need to do a final pass over all the non-boot disks. We no longer need to have two loops since ZFS on boot device is selected properly in try_boot_device_partitions. This also simplifies the code a bit.
Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D57805
show more ...
|