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>
master
Leah Rowe 2024-10-06 10:31:36 +01:00
parent c99dced5b1
commit f4de640e45
2 changed files with 4 additions and 2 deletions

View File

@ -9,4 +9,4 @@ vcfg="3050micro"
build_depend="seabios/default grub/xhci memtest86plus" build_depend="seabios/default grub/xhci memtest86plus"
IFD_platform="sklkbl" IFD_platform="sklkbl"
grubname="fallback/payload" # make GRUB the primary payload on this board 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

View File

@ -135,7 +135,8 @@ add_seabios()
[ "$payload_grub" = "y" ] && add_grub [ "$payload_grub" = "y" ] && add_grub
cprom && [ "$payload_grub" = "y" ] && pname="seagrub" && mkseagrub; : [ "$seabiosname" = "fallback/payload" ] && cprom
[ "$payload_grub" = "y" ] && pname="seagrub" && mkseagrub; :
} }
add_grub() add_grub()
@ -149,6 +150,7 @@ add_grub()
mkseagrub() mkseagrub()
{ {
[ "$grubname" = "fallback/payload" ] && pname="grub"
cbfs "$tmprom" "$grubdata/bootorder" bootorder raw cbfs "$tmprom" "$grubdata/bootorder" bootorder raw
for keymap in config/data/grub/keymap/*.gkb; do for keymap in config/data/grub/keymap/*.gkb; do
[ -f "$keymap" ] && cprom "${keymap##*/}"; : [ -f "$keymap" ] && cprom "${keymap##*/}"; :