|
Revision tags: release/13.4.0-p5, release/13.5.0-p1, release/14.2.0-p3, 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 |
|
| #
342240c6 |
| 22-Sep-2024 |
Dimitry Andric <[email protected]> |
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
(cherry picked from commit f97c7fdc59d252cc8611968ffac541d4b8342b8b)
show more ...
|
|
Revision tags: release/13.4.0 |
|
| #
85434cac |
| 11-Aug-2024 |
Dimitry Andric <[email protected]> |
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
(cherry picked from commit f5ce3f4ef562ea9fc4d8f9c13c268f48a5bacba7)
show more ...
|
|
Revision tags: release/14.1.0, release/13.3.0 |
|
| #
7cc0ac56 |
| 25-Feb-2024 |
Warner Losh <[email protected]> |
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
(cherry picked from commit f5f08e41aa57f94e3c127a488a82b4e518781f89)
show more ...
|
| #
36d49fb2 |
| 25-Feb-2024 |
Warner Losh <[email protected]> |
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
(cherry picked from commit 8ec8413faa3573c579d9e6361de904f8251b0c0e)
show more ...
|
| #
88ec6ce7 |
| 25-Feb-2024 |
Warner Losh <[email protected]> |
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
(cherry picked from commit b4e85f760b6b77d276747c9beb6191bfb864e0c2)
show more ...
|
| #
5f4d3f8e |
| 25-Feb-2024 |
Warner Losh <[email protected]> |
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
(cherry picked from commit 5b3b9a58584b101e3ea0fd8dd50dc8d9157c058e)
show more ...
|
|
Revision tags: release/14.0.0 |
|
| #
7d132128 |
| 07-Nov-2023 |
Mark Johnston <[email protected]> |
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
(cherry picked from commit b247ff70e8f1b4bf184b9fc85d2908ec4db2d1ab)
show more ...
|
| #
d0b2dbfa |
| 16-Aug-2023 |
Warner Losh <[email protected]> |
Remove $FreeBSD$: one-line sh pattern
Remove /^\s*#[#!]?\s*\$FreeBSD\$.*$\n/
|
| #
3bf9e84f |
| 01-Jul-2023 |
VexedUXR <[email protected]> |
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 <[email protected]> |
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 <[email protected]> |
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 <[email protected]> for their version of the fix in https://reviews.freebsd.org/D22951.
PR: 267134 Reported by: Daniel O'Connor <[email protected]> Reviewed by: imp MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D28591
show more ...
|
| #
0f97a0d4 |
| 15-Sep-2022 |
Guido van Rooij <[email protected]> |
stand/efi: Clean the proper files
Need to clean the specific loader we build, not the generic loader.efi
Reviewed by: imp
|
| #
df065f69 |
| 26-Aug-2022 |
Warner Losh <[email protected]> |
stand: More sensible defaults when ConOut is missing
When ConOut is missing, we used to default to serial. Except we did it in the worst way possible by just setting the howto bits and not updating
stand: More sensible defaults when ConOut is missing
When ConOut is missing, we used to default to serial. Except we did it in the worst way possible by just setting the howto bits and not updating the console setting, which lead to weird behavior where we'd get some things on the video port, others on serial.
Instead, set console to "efi,comconsole" for this case. Also set RB_MULTIPLE always (so we get dual consoles from the kernel) and or in RB_SERIAL when we can't find GOPs that suggest the precense of a video console. This will put output in the most places and have a sensible default for 'primary' console.
Sponsored by: Netflix Reviewed by: emaste, manu Differential Revision: https://reviews.freebsd.org/D36299
show more ...
|
| #
8bd5e2f1 |
| 02-Feb-2022 |
John Baldwin <[email protected]> |
stand/efi: Pass --no-dynamic-linker to ld.bfd >= 2.34.
ld.bfd in binutils 2.34+ now reports an error in more cases for custom ldscripts that do not place PHDRs in a LOAD segment. However, EFI binar
stand/efi: Pass --no-dynamic-linker to ld.bfd >= 2.34.
ld.bfd in binutils 2.34+ now reports an error in more cases for custom ldscripts that do not place PHDRs in a LOAD segment. However, EFI binaries are not dynamic binaries which need PHDRs, so pass --no-dynamic-linker to disable this check.
Reviewed by: imp, emaste Differential Revision: https://reviews.freebsd.org/D34124
show more ...
|
| #
6c789c55 |
| 22-Jan-2021 |
Toomas Soome <[email protected]> |
loader: create built in font from bold font face
We did replace full version of default font 8x16v with bold, also use bold version for built in font.
|
| #
50180d2b |
| 11-Jan-2021 |
Toomas Soome <[email protected]> |
loader.efi: reworked framebuffer setup
Pass gfx_state to efi_find_framebuffer(), so we can pick between GOP and UGA in efi_find_framebuffer(), also we can then set up struct gen_fb in gfx_state from
loader.efi: reworked framebuffer setup
Pass gfx_state to efi_find_framebuffer(), so we can pick between GOP and UGA in efi_find_framebuffer(), also we can then set up struct gen_fb in gfx_state from efifb and isolate efi fb data processing into framebuffer.c.
This change does allow us to clean up efi_cons_init() and reduce BS->LocateProtocol() calls.
A little downside is that we now need to translate gen_fb back to efifb in bootinfo.c (for passing to kernel), and we need to add few -I options to CFLAGS.
show more ...
|
| #
3630506b |
| 21-Dec-2020 |
Toomas Soome <[email protected]> |
loader: implement framebuffer console
Draw console on efi. Add vbe framebuffer for BIOS loader (vbe off, vbe on, vbe list, vbe set xxx). autoload font (/boot/fonts) based on resolution and font size
loader: implement framebuffer console
Draw console on efi. Add vbe framebuffer for BIOS loader (vbe off, vbe on, vbe list, vbe set xxx). autoload font (/boot/fonts) based on resolution and font size. Add command loadfont (set font by file) and variable screen.font (set font by size). Pass loaded font to kernel.
Export variables: screen.height screen.width screen.depth
Add gfx primitives to draw the screen and put png image on the screen. Rework menu draw to iterate list of consoles to enamble device specific output.
Probably something else I forgot...
Relnotes: yes Differential Revision: https://reviews.freebsd.org/D27420
show more ...
|
|
Revision tags: release/12.2.0 |
|
| #
253e820a |
| 12-Oct-2020 |
Alex Richardson <[email protected]> |
Link efi programs with -pie rather than -shared
This was causing build failures in CheriBSD where we were passing -pie already by default.
Reviewed By: andrew Differential Revision: https://reviews
Link efi programs with -pie rather than -shared
This was causing build failures in CheriBSD where we were passing -pie already by default.
Reviewed By: andrew Differential Revision: https://reviews.freebsd.org/D24787
show more ...
|
| #
e307eb94 |
| 21-Sep-2020 |
Toomas Soome <[email protected]> |
loader: zfs should support bootonce an nextboot
bootonce feature is temporary, one time boot, activated by "bectl activate -t BE", "bectl activate -T BE" will reset the bootonce flag.
By default, t
loader: zfs should support bootonce an nextboot
bootonce feature is temporary, one time boot, activated by "bectl activate -t BE", "bectl activate -T BE" will reset the bootonce flag.
By default, the bootonce setting is reset on attempt to boot and the next boot will use previously active BE.
By setting zfs_bootonce_activate="YES" in rc.conf, the bootonce BE will be set permanently active.
bootonce dataset name is recorded in boot pool labels, bootenv area.
in case of nextboot, the nextboot_enable boolean variable is recorded in freebsd:nvstore nvlist, also stored in boot pool label bootenv area. On boot, the loader will process /boot/nextboot.conf if nextboot_enable is "YES", and will set nextboot_enable to "NO", preventing /boot/nextboot.conf processing on next boot.
bootonce and nextboot features are usable in both UEFI and BIOS boot.
To use bootonce/nextboot features, the boot loader needs to be updated on disk; if loader.efi is stored on ESP, then ESP needs to be updated and for BIOS boot, stage2 (zfsboot or gptzfsboot) needs to be updated (gpart or other tools).
At this time, only lua loader is updated.
Sponsored by: Netflix, Klara Inc. Differential Revision: https://reviews.freebsd.org/D25512
show more ...
|
| #
f2be828f |
| 19-Jul-2020 |
Simon J. Gerraty <[email protected]> |
Revert that!
|
| #
e17f5b1d |
| 19-Jul-2020 |
Simon J. Gerraty <[email protected]> |
Oops missed Makefile.config
|
|
Revision tags: release/11.4.0 |
|
| #
fac6dee9 |
| 12-May-2020 |
Eric van Gyzen <[email protected]> |
Remove tests for obsolete compilers in the build system
Assume gcc is at least 6.4, the oldest xtoolchain in the ports tree. Assume clang is at least 6, which was in 11.2-RELEASE. Drop conditions f
Remove tests for obsolete compilers in the build system
Assume gcc is at least 6.4, the oldest xtoolchain in the ports tree. Assume clang is at least 6, which was in 11.2-RELEASE. Drop conditions for older compilers.
Reviewed by: imp (earlier version), emaste, jhb MFC after: 2 weeks Sponsored by: Dell EMC Isilon Differential Revision: https://reviews.freebsd.org/D24802
show more ...
|
| #
a64f0b83 |
| 20-Feb-2020 |
Warner Losh <[email protected]> |
Move smbios.c to libsa.
smbios used to be an i386 only kinda weird quirk to the x86 architecture. But UEFI picked it up, dusted it off and now it's many other locations. Make it base technology by m
Move smbios.c to libsa.
smbios used to be an i386 only kinda weird quirk to the x86 architecture. But UEFI picked it up, dusted it off and now it's many other locations. Make it base technology by moving it to libsa and fixing up the compliation. The code has issues with unaligned access still, but that will be addressed in a followup commit.
Differential Revision: https://reviews.freebsd.org/D23660
show more ...
|
| #
08b86a1a |
| 01-Nov-2019 |
Warner Losh <[email protected]> |
We don't support configuring serial PCI cards in EFI. Make this clearer in the source rather than obfuscaring it behind NO_PCI (nothing else declares that, so it's not making the ifdefs clearer).
|
|
Revision tags: release/12.1.0, release/11.3.0 |
|
| #
13ea0450 |
| 06-Mar-2019 |
Marcin Wojtas <[email protected]> |
Extend libsecureboot(old libve) to obtain trusted certificates from UEFI and implement revocation
UEFI related headers were copied from edk2.
A new build option "MK_LOADER_EFI_SECUREBOOT" was added
Extend libsecureboot(old libve) to obtain trusted certificates from UEFI and implement revocation
UEFI related headers were copied from edk2.
A new build option "MK_LOADER_EFI_SECUREBOOT" was added to allow loading of trusted anchors from UEFI.
Certificate revocation support is also introduced. The forbidden certificates are loaded from dbx variable. Verification fails in two cases:
There is a direct match between cert in dbx and the one in the chain. The CA used to sign the chain is found in dbx. One can also insert a hash of TBS section of a certificate into dbx. In this case verifications fails only if a direct match with a certificate in chain is found.
Submitted by: Kornel Duleba <[email protected]> Reviewed by: sjg Obtained from: Semihalf Sponsored by: Stormshield Differential Revision: https://reviews.freebsd.org/D19093
show more ...
|