cbmk/config/coreboot
Leah Rowe fca9b19e18 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:59:38 +01:00
..
d510mo coreboot: only run GRUB as a secondary payload 2024-05-27 14:59:38 +01:00
d510mo_16mb remove all status checks. only handle release. 2024-05-13 02:07:22 +01:00
d945gclf_8mb coreboot: only run GRUB as a secondary payload 2024-05-27 14:59:38 +01:00
d945gclf_512kb coreboot: only run GRUB as a secondary payload 2024-05-27 14:59:38 +01:00
default rename nukeblobs to a more generic name 2024-05-26 09:33:27 +01:00
dell rename nukeblobs to a more generic name 2024-05-26 09:33:27 +01:00
e6400_4mb coreboot: only run GRUB as a secondary payload 2024-05-27 14:59:38 +01:00
fam15h_rdimm rename nukeblobs to a more generic name 2024-05-26 09:33:27 +01:00
fam15h_udimm rename nukeblobs to a more generic name 2024-05-26 09:33:27 +01:00
g43t-am3 remove all status checks. only handle release. 2024-05-13 02:07:22 +01:00
g43t-am3_16mb remove all status checks. only handle release. 2024-05-13 02:07:22 +01:00
ga-g41m-es2l remove all status checks. only handle release. 2024-05-13 02:07:22 +01:00
gru_bob remove all status checks. only handle release. 2024-05-13 02:07:22 +01:00
gru_kevin remove all status checks. only handle release. 2024-05-13 02:07:22 +01:00
i945 rename nukeblobs to a more generic name 2024-05-26 09:33:27 +01:00
kcma-d8-rdimm_2mb coreboot: only run GRUB as a secondary payload 2024-05-27 14:59:38 +01:00
kcma-d8-rdimm_16mb coreboot: only run GRUB as a secondary payload 2024-05-27 14:59:38 +01:00
kcma-d8-udimm_2mb coreboot: only run GRUB as a secondary payload 2024-05-27 14:59:38 +01:00
kcma-d8-udimm_16mb coreboot: only run GRUB as a secondary payload 2024-05-27 14:59:38 +01:00
kfsn4-dre_1mb remove all status checks. only handle release. 2024-05-13 02:07:22 +01:00
kfsn4-dre_2mb remove all status checks. only handle release. 2024-05-13 02:07:22 +01:00
kgpe-d16-rdimm_2mb remove all status checks. only handle release. 2024-05-13 02:07:22 +01:00
kgpe-d16-rdimm_16mb remove all status checks. only handle release. 2024-05-13 02:07:22 +01:00
kgpe-d16-udimm_2mb remove all status checks. only handle release. 2024-05-13 02:07:22 +01:00
kgpe-d16-udimm_16mb remove all status checks. only handle release. 2024-05-13 02:07:22 +01:00
macbook11 coreboot: only run GRUB as a secondary payload 2024-05-27 14:59:38 +01:00
macbook11_16mb coreboot: only run GRUB as a secondary payload 2024-05-27 14:59:38 +01:00
macbook21 coreboot: only run GRUB as a secondary payload 2024-05-27 14:59:38 +01:00
macbook21_16mb coreboot: only run GRUB as a secondary payload 2024-05-27 14:59:38 +01:00
qemu_arm64_12mb remove all status checks. only handle release. 2024-05-13 02:07:22 +01:00
qemu_x86_12mb remove all status checks. only handle release. 2024-05-13 02:07:22 +01:00
r400_4mb coreboot: only run GRUB as a secondary payload 2024-05-27 14:59:38 +01:00
r400_8mb coreboot: only run GRUB as a secondary payload 2024-05-27 14:59:38 +01:00
r400_16mb coreboot: only run GRUB as a secondary payload 2024-05-27 14:59:38 +01:00
r500_4mb coreboot: only run GRUB as a secondary payload 2024-05-27 14:59:38 +01:00
t60_16mb_intelgpu coreboot: only run GRUB as a secondary payload 2024-05-27 14:59:38 +01:00
t60_intelgpu coreboot: only run GRUB as a secondary payload 2024-05-27 14:59:38 +01:00
t400_4mb coreboot: only run GRUB as a secondary payload 2024-05-27 14:59:38 +01:00
t400_8mb coreboot: only run GRUB as a secondary payload 2024-05-27 14:59:38 +01:00
t400_16mb coreboot: only run GRUB as a secondary payload 2024-05-27 14:59:38 +01:00
t500_4mb coreboot: only run GRUB as a secondary payload 2024-05-27 14:59:38 +01:00
t500_8mb coreboot: only run GRUB as a secondary payload 2024-05-27 14:59:38 +01:00
t500_16mb coreboot: only run GRUB as a secondary payload 2024-05-27 14:59:38 +01:00
w500_4mb coreboot: only run GRUB as a secondary payload 2024-05-27 14:59:38 +01:00
w500_8mb coreboot: only run GRUB as a secondary payload 2024-05-27 14:59:38 +01:00
w500_16mb coreboot: only run GRUB as a secondary payload 2024-05-27 14:59:38 +01:00
x60 coreboot: only run GRUB as a secondary payload 2024-05-27 14:59:38 +01:00
x60_16mb coreboot: only run GRUB as a secondary payload 2024-05-27 14:59:38 +01:00
x200_4mb coreboot: only run GRUB as a secondary payload 2024-05-27 14:59:38 +01:00
x200_8mb coreboot: only run GRUB as a secondary payload 2024-05-27 14:59:38 +01:00
x200_16mb coreboot: only run GRUB as a secondary payload 2024-05-27 14:59:38 +01:00
x301_4mb coreboot: only run GRUB as a secondary payload 2024-05-27 14:59:38 +01:00
x301_8mb coreboot: only run GRUB as a secondary payload 2024-05-27 14:59:38 +01:00
x301_16mb coreboot: only run GRUB as a secondary payload 2024-05-27 14:59:38 +01:00
build.list Canoeboot 20231026 release 2023-10-27 08:21:04 +01:00