summaryrefslogtreecommitdiff
path: root/script
diff options
context:
space:
mode:
authorLeah Rowe <leah@libreboot.org>2024-04-28 19:56:25 +0100
committerLeah Rowe <leah@libreboot.org>2024-04-28 19:56:25 +0100
commit515185a7f5f4ec75392c33737ddb9160fa28070e (patch)
tree3371a3c56e267efcac1b68ab9231438a8e2aa292 /script
parenta88a8281df1d3688bb772578a3dd7d7cc1af1091 (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>
Diffstat (limited to 'script')
-rwxr-xr-xscript/build/roms16
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"
}