diff options
author | Leah Rowe <leah@libreboot.org> | 2024-04-28 19:56:25 +0100 |
---|---|---|
committer | Leah Rowe <leah@libreboot.org> | 2024-04-28 19:56:25 +0100 |
commit | 515185a7f5f4ec75392c33737ddb9160fa28070e (patch) | |
tree | 3371a3c56e267efcac1b68ab9231438a8e2aa292 | |
parent | a88a8281df1d3688bb772578a3dd7d7cc1af1091 (diff) |
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>
-rwxr-xr-x | script/build/roms | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/script/build/roms b/script/build/roms index b14213b9..853bbea6 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" } |