From cbf673fc464bc9d242c924395539b1bec2e36c55 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sun, 28 Apr 2024 19:56:25 +0100 Subject: [PATCH] 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 --- script/build/roms | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/script/build/roms b/script/build/roms index 8357284..6558422 100755 --- a/script/build/roms +++ b/script/build/roms @@ -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" }