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>
audit2-merge1
Leah Rowe 2024-04-28 19:56:25 +01:00 committed by Leah Rowe
parent 79b1a1fee2
commit cbf673fc46
1 changed files with 14 additions and 2 deletions

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"
}