summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLeah Rowe <leah@libreboot.org>2024-10-06 10:31:36 +0100
committerLeah Rowe <leah@libreboot.org>2024-10-06 10:31:36 +0100
commitf4de640e451ce3bb7b0bb19705ba3847471079d0 (patch)
tree16620a32ee01d75336c284639717086801f02e43
parentc99dced5b1022fd2053fa8e47785ce83f4e05f90 (diff)
rom.sh: disable seabios-as-primary if grub is main
on 3050micro, we disable seabios as a primary payload, making grub a pribary payload instead. the way it worked, the roms were still named seagrub and the seabios rom would be compiled, but with the wrong path, so seabios wouldn't be executed; seabios would hang anyway, on this board. instead, engineer it in such a way as to disable seabios_ images on this board. also, rename seagrub_ to grub_. i normally only permit seagrub, and not grub, but i make an exception for 3050micro because we know grub works, but seabios currently hangs on this board (which means no bsd). Signed-off-by: Leah Rowe <leah@libreboot.org>
-rw-r--r--config/coreboot/dell3050micro_fsp_16mb/target.cfg2
-rw-r--r--include/rom.sh4
2 files changed, 4 insertions, 2 deletions
diff --git a/config/coreboot/dell3050micro_fsp_16mb/target.cfg b/config/coreboot/dell3050micro_fsp_16mb/target.cfg
index 03ad3ecb..12448aa7 100644
--- a/config/coreboot/dell3050micro_fsp_16mb/target.cfg
+++ b/config/coreboot/dell3050micro_fsp_16mb/target.cfg
@@ -9,4 +9,4 @@ vcfg="3050micro"
build_depend="seabios/default grub/xhci memtest86plus"
IFD_platform="sklkbl"
grubname="fallback/payload" # make GRUB the primary payload on this board
-seabiosname="seabios.elf" # seabios is known to hang on this board
+seabiosname="seabios.elf" # this actually disables the seabios payload
diff --git a/include/rom.sh b/include/rom.sh
index d4071169..e7745271 100644
--- a/include/rom.sh
+++ b/include/rom.sh
@@ -135,7 +135,8 @@ add_seabios()
[ "$payload_grub" = "y" ] && add_grub
- cprom && [ "$payload_grub" = "y" ] && pname="seagrub" && mkseagrub; :
+ [ "$seabiosname" = "fallback/payload" ] && cprom
+ [ "$payload_grub" = "y" ] && pname="seagrub" && mkseagrub; :
}
add_grub()
@@ -149,6 +150,7 @@ add_grub()
mkseagrub()
{
+ [ "$grubname" = "fallback/payload" ] && pname="grub"
cbfs "$tmprom" "$grubdata/bootorder" bootorder raw
for keymap in config/data/grub/keymap/*.gkb; do
[ -f "$keymap" ] && cprom "${keymap##*/}"; :