lbmk/config
Leah Rowe ec761c88f2 coreboot: only run GRUB as a secondary payload
See:
https://codeberg.org/libreboot/lbmk/issues/216

Almost all users will be OK running GRUB, but a
minority of users have experienced a fatal error
pertaining to grub_free() or grub_realloc() (as
my investigation of GRUB sources reveal when grepping
the error reported in the link above).

We don't yet know what the bug is, only that the
error occurs, leading to an effective brick if the
user has GRUB as their primary payload.

So far, it has only been reported on some Intel
SandyBridge-based Dell Latitudes in Libreboot, but
we can't be too sure.

The user reported that memtest86+ passes just fine,
and SeaBIOS works; BIOS GRUB also works, which means
that the bug is likely only in an area of GRUB that
runs specifically on the coreboot payload, so it's
probably a driver in GRUB when running on the metal
rather than BIOS/UEFI.

The build system supports a configuration whereby
SeaBIOS is the primary payload, but GRUB is available
in the SeaBIOS boot select menu, and an additional
configuration is available where GRUB is what SeaBIOS
executes first (while still providing boot select);
both of these are now the *only* configurations
available, on all x86 targets except QEMU.

The QEMU target is fine because if the bug occurs there,
you can just close QEMU and try a different image.

Even after this bug is later identified and fixed,
the GRUB source code is vastly over-engineered and there
are likely many more such bugs. SeaBIOS is a reliable
payload; the code is small and robust. Remember always:

Code

equals

bugs

Therefore, this configuration change is likely going
to be permanent. This will apply in the next release.

Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-05-27 14:24:26 +01:00
..
coreboot coreboot: only run GRUB as a secondary payload 2024-05-27 14:24:26 +01:00
dependencies update parabola dependencies for flashprog 2024-01-27 22:06:06 +00:00
flashprog/patches flashprog: bump to 5b4fdd1 from 2 May 2024 2024-05-26 20:30:45 +01:00
git flashprog: bump to 5b4fdd1 from 2 May 2024 2024-05-26 20:30:45 +01:00
grub Merge pull request 'Also try unlocking encrypted volume on NVMe' (#213) from mkukri/lbmk:master into master 2024-05-21 19:09:37 +00:00
ifd config/ifd/dell_ivybridge: Add ifd_nogbe 2024-02-20 17:04:39 -07:00
memtest86plus/patches disable 32-bit memtest86plus, only build 64-bit 2023-10-09 06:06:20 +01:00
seabios bump seabios to e5f2e4c69643bc3cd385306a9e5d29e11578148c 2024-05-10 05:52:12 +01:00
submodule/coreboot config: add backup coreboot submodule repositories 2024-05-24 23:42:05 +01:00
u-boot allow multitree projects to define xgcc tree 2024-01-21 05:59:37 +00:00
uefitool update/trees: generic cmake handling 2023-12-30 19:03:03 +00:00
vendor remove haswell mrc blob (libre raminit stable now) 2024-05-11 19:12:11 +01:00