build/roms: support SeaGRUB *with menu enabled*

This is useful on desktops, where you want GRUB to
automatically start, but you still want access to the
GRUB menu, in the case where you rely on SeaBIOS to
execute the VGA ROM inside your graphics card.

Signed-off-by: Leah Rowe <leah@libreboot.org>
This commit is contained in:
Leah Rowe
2024-04-28 19:56:25 +01:00
parent a88a8281df
commit 515185a7f5
+14 -2
View File
@@ -398,8 +398,10 @@ build_grub_roms()
newrom="${romdir}/${payload1}_${board}_" && \
newrom="${newrom}${initmode}_${keymap}.rom"
x_ moverom "${tmpgrubrom}" "${newrom}"
[ "${payload_seabios_grubonly}" = "y" ] && \
if [ "${payload_seabios_grubonly}" = "y" ]; then
mkSeagrubRom "${tmpgrubrom}" "${newrom}"
mkSeabiosGrubonlyRom "${tmpgrubrom}" "${newrom}"
fi
x_ rm -f "${tmpgrubrom}"
done
}
@@ -428,7 +430,7 @@ mkSeabiosRom() {
}
# SeaGRUB configuration
mkSeabiosGrubonlyRom()
mkSeagrubRom()
{
_grubrom="${1}"
_newrom="${2}"
@@ -441,7 +443,17 @@ mkSeabiosGrubonlyRom()
add -f "${tmpbootorder}" -n bootorder -t raw
x_ rm -f "${tmpbootorder}"
x_ moverom "${_grubrom}" "${_newrom%.rom}_grubfirst.rom"
}
# SeaGRUB, and disable the SeaBIOS menu (grub only)
mkSeabiosGrubonlyRom()
{
_grubrom="${1}"
_newrom="${2}"
x_ "${cbfstool}" "${_grubrom}" add-int -i 0 -n etc/show-boot-menu
x_ moverom "${_grubrom}" "${_newrom%.rom}_grubonly.rom"
}