cbmk/config
Leah Rowe 852eb1db4f roms: only support SeaBIOS/SeaGRUB on x86
Never, ever build images where GRUB is the primary payload.

These options have been removed from target.cfg handling:

* seabios_withgrub
* grub_withseabios

The "payload_grub" variable now does the same thing as
the old "seabios_withgrub" variable, if set.

The "grubonly" configuration is retained, and enabled by
default when SeaGRUB is enabled (non-grubonly also available).

Due to lbmk issue #216, it is no longer Libreboot policy to
make GRUB the primary payload on any board. GRUB's sheer size
and complexity, plus the large number of memory corruption issues
similar to it that *have* been fixed over the years, tells me
that GRUB is a liability when it is the primary payload.

SeaBIOS is a much safer payload to run as primary, on x86, due
to its smaller size and much more conservative development; it
is simply far less likely to break.

If GRUB breaks in the future, the user's machine is not
bricked. This is because SeaBIOS is the default payload.

Since I no longer wish to ever provide GRUB as a primary
payload, supporting it in lbmk adds needless bloat that
will later probably break anyway due to lack of testing,
so let's just assume SeaGRUB in all cases where the user
wants to use a GRUB payload.

You can mitigate potential security issues with SeaBIOS
by disabling option ROM execution, which can be done at
runtime by inserting integers into CBFS. The SeaBIOS
documentation says how to do this.

Libreboot's GRUB hardening guide still says how to add
a bootorder file in CBFS, making SeaBIOS only load GRUB
from CBFS, and nothing else. This, combined with the
disablement of option ROM execution (if using Intel
graphics), pretty much provides the same security benefits
as GRUB-as-primary, for example when setting a GRUB password
and GPG checks, with encrypted /boot as in the hardening guide.

Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-06-23 01:19:47 +01:00
..
coreboot roms: only support SeaBIOS/SeaGRUB on x86 2024-06-23 01:19:47 +01:00
data grub: only enable nvme if needed on a board 2024-06-12 09:17:27 +01:00
dependencies Add dependency scripts for Fedora 40 and Ubuntu 24.04 2024-06-09 07:44:45 +01:00
flashprog/patches flashprog: bump to 5b4fdd1 from 2 May 2024 2024-05-26 20:39:31 +01:00
git lib.sh: more unified config handling 2024-06-22 13:50:43 +01:00
grub roms: don't insert timeout.cfg 2024-06-19 14:34:19 +01:00
ifd/ich9m rebase cbmk 9429287 per lbmk c4d90087..f5b04fa5 2024-01-02 11:55:45 +00:00
memtest86plus/patches Canoeboot 20231026 release 2023-10-27 08:21:04 +01:00
pico-sdk rename nukeblobs to a more generic name 2024-05-26 09:33:27 +01:00
seabios/default handle build.list from config/data/, not config/ 2024-06-07 17:27:45 +01:00
stm32-vserprog/patches Canoeboot 20231026 release 2023-10-27 08:21:04 +01:00
submodule Canoeboot 20240612 release 2024-06-12 10:38:51 +01:00
u-boot minor code cleanup in the build system 2024-06-09 19:18:41 +01:00