#
f5f08e41 |
|
24-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 section that does not exist. No functional change, however. Sponsored by: Netflix Reviewed by: tsoome, kevans Differential Revision: https://reviews.freebsd.org/D44064
|
#
8ec8413f |
|
24-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 should be a nop. Sponsored by: Netflix Reviewed by: tsoome, kevans Differential Revision: https://reviews.freebsd.org/D44063
|
#
b4e85f76 |
|
24-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 augmentation linker set to be uniquely named. Sponsored by: Netflix Reviewed by: tsoome, kevans Differential Revision: https://reviews.freebsd.org/D44062
|
#
5b3b9a58 |
|
24-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. Sponsored by: Netflix Reviewed by: tsoome, kevans, emaste Differential Revision: https://reviews.freebsd.org/D44056
|
#
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. Reviewed by: imp MFC after: 1 week Sponsored by: Innovate UK Differential Revision: https://reviews.freebsd.org/D42486
|
#
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
|
#
dfbe8f64 |
|
31-Oct-2022 |
Mitchell Horne <mhorne@FreeBSD.org> |
loader.efi: include help.fdt for FDT-enabled loader
|
#
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 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
|
#
0f97a0d4 |
|
15-Sep-2022 |
Guido van Rooij <guido@FreeBSD.org> |
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 <imp@FreeBSD.org> |
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
|
#
8bd5e2f1 |
|
02-Feb-2022 |
John Baldwin <jhb@FreeBSD.org> |
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
|
#
6c789c55 |
|
22-Jan-2021 |
Toomas Soome <tsoome@FreeBSD.org> |
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 <tsoome@FreeBSD.org> |
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.
|
#
3630506b |
|
20-Dec-2020 |
Toomas Soome <tsoome@FreeBSD.org> |
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
|
#
253e820a |
|
12-Oct-2020 |
Alex Richardson <arichardson@FreeBSD.org> |
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
|
#
e307eb94 |
|
21-Sep-2020 |
Toomas Soome <tsoome@FreeBSD.org> |
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
|
#
f2be828f |
|
19-Jul-2020 |
Simon J. Gerraty <sjg@FreeBSD.org> |
Revert that!
|
#
e17f5b1d |
|
19-Jul-2020 |
Simon J. Gerraty <sjg@FreeBSD.org> |
Oops missed Makefile.config
|
#
fac6dee9 |
|
12-May-2020 |
Eric van Gyzen <vangyzen@FreeBSD.org> |
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
|
#
a64f0b83 |
|
19-Feb-2020 |
Warner Losh <imp@FreeBSD.org> |
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
|
#
08b86a1a |
|
01-Nov-2019 |
Warner Losh <imp@FreeBSD.org> |
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).
|
#
13ea0450 |
|
05-Mar-2019 |
Marcin Wojtas <mw@FreeBSD.org> |
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 <mindal@semihalf.com> Reviewed by: sjg Obtained from: Semihalf Sponsored by: Stormshield Differential Revision: https://reviews.freebsd.org/D19093
|
#
fbeb31a2 |
|
05-Jan-2019 |
Matt Macy <mmacy@FreeBSD.org> |
MK_ZFS -> {MK_ZFS|MK_LOADER_ZFS}, this is so we can diable userland / kernel ZFS but keep the boot-loaders when using ZoL port. MFC after: 1 week Reviewed by: rgrimes Differential Revision: https://reviews.freebsd.org/D18739
|
#
4ad3fab6 |
|
16-Aug-2018 |
Warner Losh <imp@FreeBSD.org> |
Install links for loader.efi. Submitted by: ben wilber
|
#
9d45c24c |
|
14-Aug-2018 |
Warner Losh <imp@FreeBSD.org> |
Create a loader for each interpreter for x86 BIOS and all EFI Create loader_{4th,lua,simp}{,.efi}. All of these are installed by default. Create LOADER_DEFAULT_INTERP to specify the default interpreter when no other is specified. LOADER_INTERP is the current interpreter language building. Turn building of lua on by default to match 4th. simploader is a simplified loader build w/o any interpreter language (but with a simple loader). This is the historic behavir you got with WITHOUT_FORTH. Make a hard link to the default loader. This has to be a hard link rather than the more desirable soft link because older zfsboot blocks don't support symlinks. RelNotes: Yes Differential Revision: https://reviews.freebsd.org/D16705
|
#
1f9bd5f6 |
|
19-Jul-2018 |
Warner Losh <imp@FreeBSD.org> |
Hoist EFI_TARGET and SOURCE_DATE_EPOCH up into efi/Makefile.inc
|
#
fdcfd483 |
|
19-Jul-2018 |
Warner Losh <imp@FreeBSD.org> |
NM and OBJCOPY are already defined for all builds. There's no need to conditionally define them here.
|
#
b8902de1 |
|
08-Jul-2018 |
Warner Losh <imp@FreeBSD.org> |
Move ZFS files into libsa Move the libzfs stuff into libsa. There's no need for it to be a separate library. The separate library adds to the issues of build ordering that we see from time to time. Move the filesystem support into libsa, like all the other filesystem support rather than making zfs the odd-duck out. Discussed with: allanjude@
|
#
4784aef9 |
|
21-Feb-2018 |
Warner Losh <imp@FreeBSD.org> |
Consolidate three copies of ZFS commands into a central location. There's no reason to have multiple copies of lszfs and reloadbe. Consolidate them into one location. Also ldi_get_size is the same everywhere (except sparc64). Make it the same everywhere as the common definition is more general and will work on spar64.
|
#
891b84a3 |
|
02-Feb-2018 |
Warner Losh <imp@FreeBSD.org> |
Invent new LDR_INTERP for the loader interpreter to use. Use this in preference to LIBFICL{,32}. LIBFICL{,32} are now always defined, but LDR_INTERP{,32} is defined empty when building w/o forth (aka the simple interpreter) and defined to LIBFICL{,32} when we are building forth.
|
#
8299b37f |
|
01-Feb-2018 |
Warner Losh <imp@FreeBSD.org> |
Centralize several variables. MK_CTF, MK_SSP, MK_PROFILE, NO_PIC, and INTERNALLIB are always the same, so set them in defs.mk. MAN= is common, so set it here too. This removes a lot of boring repetition from the Makefiles that added almost no value.
|
#
25c2f4cb |
|
17-Dec-2017 |
Warner Losh <imp@FreeBSD.org> |
Move loader help file definitions to being 100% inside of loader.mk. HELP_FILES is a loader only thing, so move it to loader.mk. Only generate the help file if HELP_FILES is defined. Adjust Makefiles to new convention. Fix a few cases where ${.CURDIR}/ was missing resulting in missing bits from the help files. Sponsored by: Netflix
|
#
ca987d46 |
|
14-Nov-2017 |
Warner Losh <imp@FreeBSD.org> |
Move sys/boot to stand. Fix all references to new location Sponsored by: Netflix
|