| #
4f7475ab |
| 11-Sep-2026 |
Warner Losh <imp@FreeBSD.org> |
loader: Small tweak to how md is configured
Only the EFI loader supports the md devices (as the moment). Create LOADER_MD_SUPPORT and only try to compile md when that's true. For the moment, also al
loader: Small tweak to how md is configured
Only the EFI loader supports the md devices (as the moment). Create LOADER_MD_SUPPORT and only try to compile md when that's true. For the moment, also allow it when only MD_IMAGE_SIZE is defined, but that will be dropped since LOADER_MD_SUPPORT is a superset.
Sponsored by: Netflix Reviewed by: tsoome Differential Revision: https://reviews.freebsd.org/D59416
show more ...
|
|
Revision tags: release/14.5.0, release/15.1.0-p3, release/15.0.0-p13, release/14.4.0-p9, release/15.1.0-p2, release/15.0.0-p12, release/14.4.0-p8 |
|
| #
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 ...
|
| #
dc6c193b |
| 11-Jul-2026 |
Warner Losh <imp@FreeBSD.org> |
loader.efi: Add xz decompression
We can now decompress .xz compressed memory disks, like FreeBSD-15.1-RELEASE-amd64-disc1.iso.xz
Sponsored by: Netflix Differential Revision: https://reviews.freebs
loader.efi: Add xz decompression
We can now decompress .xz compressed memory disks, like FreeBSD-15.1-RELEASE-amd64-disc1.iso.xz
Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D58073
show more ...
|
|
Revision tags: release/15.0.0-p11, release/14.3.0-p16, release/14.4.0-p7, release/15.1.0-p1 |
|
| #
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 ...
|
| #
53811ed6 |
| 26-Jun-2026 |
Warner Losh <imp@FreeBSD.org> |
loader: Add defines for ZLIB_CFLAGS, BZIP2_CFLAGS and ZSTD_CFLAGS
These are scattered in several places, so centralize the setting of these flags.
Sponsored by: Netflix Differential Revision: http
loader: Add defines for ZLIB_CFLAGS, BZIP2_CFLAGS and ZSTD_CFLAGS
These are scattered in several places, so centralize the setting of these flags.
Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D57861
show more ...
|
|
Revision tags: release/15.1.0, release/15.0.0-p10, release/14.4.0-p6, release/14.3.0-p15, release/14.4.0-p5, release/14.3.0-p14, release/15.0.0-p9, release/14.4.0-p4, release/14.3.0-p13, release/13.5.0-p14, release/15.0.0-p8, release/14.4.0-p3, release/14.3.0-p12, release/13.5.0-p13, release/15.0.0-p7, release/13.5.0-p12, release/14.3.0-p11, release/14.4.0-p2, release/15.0.0-p6, release/13.5.0-p11, release/14.3.0-p10, release/14.4.0-p1, release/15.0.0-p5, release/14.4.0, release/13.5.0-p10, release/14.3.0-p9, release/15.0.0-p4, release/15.0.0-p3, release/13.5.0-p9, release/15.0.0-p2, release/14.3.0-p8, release/15.0.0-p1, release/13.5.0-p8, release/14.3.0-p7, release/15.0.0, release/14.3.0-p6, release/13.5.0-p7 |
|
| #
3c857567 |
| 25-Nov-2025 |
Warner Losh <imp@FreeBSD.org> |
stand: Rename ZFSSRC to SAZFSSRC to avoid confusion
ZFSSRC is abiguous on its surface and too clos to ZFSTOP, so rename it to SAZFSSRC.
Sponsored by: Netflix Reviewed by: tsoome Differential Revi
stand: Rename ZFSSRC to SAZFSSRC to avoid confusion
ZFSSRC is abiguous on its surface and too clos to ZFSTOP, so rename it to SAZFSSRC.
Sponsored by: Netflix Reviewed by: tsoome Differential Revision: https://reviews.freebsd.org/D53901
show more ...
|
| #
43b8edb3 |
| 16-Nov-2025 |
Warner Losh <imp@FreeBSD.org> |
stand: Cut over to using the EDK2 files
Remove the old EFI SDK files that we've been nursing along for too many years. Replace them with files from EDK2 edk2-stable202502 and tweak the interfaces we
stand: Cut over to using the EDK2 files
Remove the old EFI SDK files that we've been nursing along for too many years. Replace them with files from EDK2 edk2-stable202502 and tweak the interfaces we need to tweak. Mostly include different things or change the names of the protocols that no longer have old-school compat names.
I gave up in the middle of env.c, too damn tedious to find all those new GUIDs. Also, many of the guids were mystery meat, most likely from the EDK2 sources, but just not the Include subdirectory. Need to investigate those. And the memory info? Is it just an oboslete thing, or embedded knowledge of EDK2.
Delete the now-redundant copies of things in Guid and Protocol. I debated keeping ZeroGuid.h, but EDK2 has moved on from when I snagged it years ago (or maybe I just invented it out of whole cloth: edk2 does radically different things today and I didn't do the git deep-dive to find out).
Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D53655
show more ...
|
|
Revision tags: release/13.5.0-p6, release/14.3.0-p5, release/13.5.0-p5, release/14.2.0-p7, release/14.3.0-p4, release/14.3.0-p3, release/14.2.0-p6, release/13.5.0-p4 |
|
| #
c8b87aa1 |
| 01-Sep-2025 |
kpowkitty <witchikittikat@gmail.com> |
loader: Move ACPI RSDP detection
Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/1843
|
| #
d81b84d6 |
| 09-Sep-2025 |
Ahmad Khalifa <vexeduxr@FreeBSD.org> |
loader/efi: build with -Wall
Reviewed by: tsoome Differential Revision: https://reviews.freebsd.org/D52431
|
|
Revision tags: release/13.5.0-p3, release/14.2.0-p5, release/14.3.0-p2, release/14.3.0-p1, release/14.2.0-p4, release/13.5.0-p2, release/14.3.0 |
|
| #
2982c708 |
| 23-May-2025 |
Simon J. Gerraty <sjg@FreeBSD.org> |
stand allow for local.defs.mk
This allows us to change the VERSION_FILE used for loaders as well as set NEWVERS_DATE and BUILD_UTC to reflect the publish date of loaders for secure-boot.
Sponsored
stand allow for local.defs.mk
This allows us to change the VERSION_FILE used for loaders as well as set NEWVERS_DATE and BUILD_UTC to reflect the publish date of loaders for secure-boot.
Sponsored by: Juniper Networks, Inc.
Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D50478
show more ...
|
|
Revision tags: release/13.4.0-p5, release/13.5.0-p1, release/14.2.0-p3 |
|
| #
b885643b |
| 14-Mar-2025 |
Ed Maste <emaste@FreeBSD.org> |
boot: Always use ELF Tool Chain elfcopy for EFI builds
We now use llvm-objcopy by default (as of commit 1cae7121c667), but it does not support efi-app-x86_64 and similar ouptut formats (for more det
boot: Always use ELF Tool Chain elfcopy for EFI builds
We now use llvm-objcopy by default (as of commit 1cae7121c667), but it does not support efi-app-x86_64 and similar ouptut formats (for more detail see LLVM issue 108609[1]).
Go back to installing ELF Tool Chain's version of objcopy as elfcopy (the standard upstream name) and use it for EFI builds.
[1] https://github.com/llvm/llvm-project/issues/108609).
PR: 280771 Reviewed by: andrew Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D49362
show more ...
|
|
Revision tags: release/13.5.0, release/14.2.0-p2, release/14.1.0-p8, release/13.4.0-p4, release/14.1.0-p7, release/14.2.0-p1, release/13.4.0-p3, release/14.2.0 |
|
| #
f97c7fdc |
| 22-Sep-2024 |
Dimitry Andric <dim@FreeBSD.org> |
Bump lld LINKER_FREEBSD_VERSION for reproducibility fix
The upstream fix to make lld output for our EFI loaders reproducible again was committed in 54521a2ff93a. Bump lld's LINKER_FREEBSD_VERSION to
Bump lld LINKER_FREEBSD_VERSION for reproducibility fix
The upstream fix to make lld output for our EFI loaders reproducible again was committed in 54521a2ff93a. Bump lld's LINKER_FREEBSD_VERSION to be able to check this in the EFI loader Makefile.
MFC after: 3 days
show more ...
|
|
Revision tags: release/13.4.0, release/14.1.0 |
|
| #
f8ca5d45 |
| 14-May-2024 |
Ahmad Khalifa <ahmadkhalifa570@gmail.com> |
stand: Add support for 64-bit machines with 32-bit UEFI implementations
Some machines have 64-bit capable cpus but are stuck on 32-bit uefi firmware.
Add support for them by building a new "loader_
stand: Add support for 64-bit machines with 32-bit UEFI implementations
Some machines have 64-bit capable cpus but are stuck on 32-bit uefi firmware.
Add support for them by building a new "loader_ia32" with LOADER_DEFAULT_INTERP along with the 64-bit one. The loader can be disabled using MK_LOADER_IA32.
Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/1098
show more ...
|
| #
f5ce3f4e |
| 11-Aug-2024 |
Dimitry Andric <dim@FreeBSD.org> |
Fix EFI loader reproducibility with lld
When the various loaders under stand/efi are built, the resulting binaries differ over multiple runs, even if WITH_REPRODUCIBLE_BUILD is used. This is caused
Fix EFI loader reproducibility with lld
When the various loaders under stand/efi are built, the resulting binaries differ over multiple runs, even if WITH_REPRODUCIBLE_BUILD is used. This is caused by lld multithreading and the custom linker scripts for the loaders, and affects the following binaries:
* loader_4th.efi * loader_4th.sym * loader_4th.sym.full * loader_lua.efi * loader_lua.sym * loader_lua.sym.full * loader_simp.efi * loader_simp.sym * loader_simp.sym.full
Work around this by disabling lld threading for these binaries.
Reviewed by: emaste MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D46271
show more ...
|
| #
e9ac4169 |
| 15-Jul-2024 |
Warner Losh <imp@FreeBSD.org> |
Remove residual blank line at start of Makefile
This is a residual of the $FreeBSD$ removal.
MFC After: 3 days (though I'll just run the command on the branches) Sponsored by: Netflix
|
| #
dcc7b369 |
| 29-May-2024 |
Ahmad Khalifa <ahmadkhalifa570@gmail.com> |
loader: Allow overriding NEWVERSWHAT
This can be useful when making alternate versions of the loader.
Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/1098
|
|
Revision tags: release/13.3.0 |
|
| #
f5f08e41 |
| 25-Feb-2024 |
Warner Losh <imp@FreeBSD.org> |
loader/efi: Only include interpreter's linker script
For safety, only include the interpreter's linker script. Note that the simple loader doesn't have one, but it's not an error to copy a ELF secti
loader/efi: Only include interpreter's linker script
For safety, only include the interpreter's linker script. Note that the simple loader doesn't have one, but it's not an error to copy a ELF section that does not exist. No functional change, however.
Sponsored by: Netflix Reviewed by: tsoome, kevans Differential Revision: https://reviews.freebsd.org/D44064
show more ...
|
| #
8ec8413f |
| 25-Feb-2024 |
Warner Losh <imp@FreeBSD.org> |
loader/ficl: Rename the ficl compile set to X4th_compile_set
And upcoming change will need this set to be named this. Since it's only used in the efi Makefile, and inside if ficl itself, the change
loader/ficl: Rename the ficl compile set to X4th_compile_set
And upcoming change will need this set to be named this. Since it's only used in the efi Makefile, and inside if ficl itself, the change should be a nop.
Sponsored by: Netflix Reviewed by: tsoome, kevans Differential Revision: https://reviews.freebsd.org/D44063
show more ...
|
| #
b4e85f76 |
| 25-Feb-2024 |
Warner Losh <imp@FreeBSD.org> |
loader/efi: Use unique linker set for lua
After the linker set cleanup in ldscripts, there's now only one place we need to know the linkerset name, so go ahead and change the lua interpreter augment
loader/efi: Use unique linker set for lua
After the linker set cleanup in ldscripts, there's now only one place we need to know the linkerset name, so go ahead and change the lua interpreter augmentation linker set to be uniquely named.
Sponsored by: Netflix Reviewed by: tsoome, kevans Differential Revision: https://reviews.freebsd.org/D44062
show more ...
|
| #
5b3b9a58 |
| 25-Feb-2024 |
Warner Losh <imp@FreeBSD.org> |
loader: Move ldscripts to match more standard practices
In the larger open source community, ld scripts are foo.ldscrpt rather than ldscript.arch like we use here. This moves the EFI ldscripts.
Spo
loader: Move ldscripts to match more standard practices
In the larger open source community, ld scripts are foo.ldscrpt rather than ldscript.arch like we use here. This moves the EFI ldscripts.
Sponsored by: Netflix Reviewed by: tsoome, kevans, emaste Differential Revision: https://reviews.freebsd.org/D44056
show more ...
|
|
Revision tags: release/14.0.0 |
|
| #
b247ff70 |
| 07-Nov-2023 |
Mark Johnston <markj@FreeBSD.org> |
stand: Rename LIBFDT to LIBSAFDT
Preemptively address a collision with LIBFDT (to be added in the future) from src.libnames.mk, which gets included via bsd.progs.mk. No functional change intended.
stand: Rename LIBFDT to LIBSAFDT
Preemptively address a collision with LIBFDT (to be added in the future) from src.libnames.mk, which gets included via bsd.progs.mk. No functional change intended.
Reviewed by: imp MFC after: 1 week Sponsored by: Innovate UK Differential Revision: https://reviews.freebsd.org/D42486
show more ...
|
| #
d0b2dbfa |
| 16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
Remove $FreeBSD$: one-line sh pattern
Remove /^\s*#[#!]?\s*\$FreeBSD\$.*$\n/
|
| #
3bf9e84f |
| 01-Jul-2023 |
VexedUXR <ahmadkhalifa570@gmail.com> |
Stand: Silence undefined symbols check command
No need to print this...
Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/786
|
|
Revision tags: release/13.2.0, release/12.4.0 |
|
| #
dfbe8f64 |
| 31-Oct-2022 |
Mitchell Horne <mhorne@FreeBSD.org> |
loader.efi: include help.fdt for FDT-enabled loader
|
|
Revision tags: release/13.1.0, release/12.3.0, release/13.0.0 |
|
| #
88599604 |
| 11-Feb-2021 |
Mitchell Horne <mhorne@FreeBSD.org> |
loader: always install help files
Address two issues with current help file logic:
The existing condition prevents the common help file from being installed when there are no additional help files
loader: always install help files
Address two issues with current help file logic:
The existing condition prevents the common help file from being installed when there are no additional help files defined. This results in no loader.help on EFI platforms, for example.
Second, due to the fact that we build and install multiple loader types, each successive install will clobber the previous loader.help. The result is that we could lose type-specific commands, or possibly list them in loaders that do not have such commands.
Instead, give each loader type a uniquely named help file. The EFI loader will look for /boot/loader.help.efi, userboot will look for /boot/loader.help.userboot, etc. The interpreter variant has no effect on which help file is loaded.
This leaves the old /boot/loader.help unused.
Some credit for the final approach goes to Mathieu <sigsys@gmail.com> for their version of the fix in https://reviews.freebsd.org/D22951.
PR: 267134 Reported by: Daniel O'Connor <darius@dons.net.au> Reviewed by: imp MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D28591
show more ...
|