summaryrefslogtreecommitdiff
path: root/resources/scripts/build/boot
diff options
context:
space:
mode:
authorLeah Rowe <leah@libreboot.org>2023-05-08 19:45:32 +0100
committerLeah Rowe <leah@libreboot.org>2023-05-09 20:40:12 +0100
commit3f1ee01507444335bda531b394bcdf36b5a47495 (patch)
tree01cf04bd1789a6c3d28deb71f509a7b74add7139 /resources/scripts/build/boot
parent450f19bd7973d9a6e050ebe91207b93c2ba03e85 (diff)
seabios: do normal config, disable oprom in vgarom
previously, "normal" initmode relied on the vgarom-based seabios config, which enables option roms, but then lbmk would insert pci-optionrom-exec 0 for vgarom, and 2 for normal in libreboot, coreboot roms with "vgarom" in the filename do pci option rom execution from coreboot, and "normal" roms do execution from seabios(where seabios is the only payload provided on normal setups) this is because payloads like grub can also be used, on vgarom setups, where coreboot must handle oprom execution
Diffstat (limited to 'resources/scripts/build/boot')
-rwxr-xr-xresources/scripts/build/boot/roms_helper14
1 files changed, 4 insertions, 10 deletions
diff --git a/resources/scripts/build/boot/roms_helper b/resources/scripts/build/boot/roms_helper
index 9bcc6933..dd4a3b19 100755
--- a/resources/scripts/build/boot/roms_helper
+++ b/resources/scripts/build/boot/roms_helper
@@ -217,7 +217,8 @@ fi
if [ ! -f "${seavgabiosrom}" ] \
|| [ ! -f payload/seabios/seabios_libgfxinit.elf ] \
- || [ ! -f payload/seabios/seabios_vgarom.elf ]; then
+ || [ ! -f payload/seabios/seabios_vgarom.elf ] \
+ || [ ! -f payload/seabios/seabios_normal.elf ]; then
if [ "${payload_seabios}" = "y" ]; then
./build payload seabios
elif [ "${payload_grub}" = "y" ] \
@@ -361,14 +362,7 @@ make_seabios_rom() {
target_opromloadonly="${3}" # 0 or 1. if 1, only load but don't execute oproms
target_initmode="${4}" # e.g. libgfxinit
- if [ "${target_initmode}" = "normal" ]; then
- target_seabioself="payload/seabios/seabios_vgarom.elf"
- # if normal, etc/pci-optionrom-exec will be set to 2
- else
- target_seabioself="payload/seabios/seabios_${target_initmode}.elf"
- # if libgfxinit, etc/pci-optionrom-exec will be set to 2
- # if vgarom, etc/pci-optionrom-exec will be set to 0
- fi
+ target_seabioself="payload/seabios/seabios_${target_initmode}.elf"
target_seavgabios_rom="payload/seabios/seavgabios.bin"
tmprom=$(mktemp -t coreboot_rom.XXXXXXXXXX)
@@ -378,7 +372,7 @@ make_seabios_rom() {
"${cbfstool}" "${tmprom}" add-int -i 3000 -n etc/ps2-keyboard-spinup || exit 1
if [ "${target_initmode}" = "normal" ] || [ "${target_initmode}" = "libgfxinit" ]; then
"${cbfstool}" "${tmprom}" add-int -i 2 -n etc/pci-optionrom-exec || exit 1
- elif [ "${target_initmode}" = "vgarom" ]; then
+ elif [ "${target_initmode}" = "vgarom" ]; then # coreboot executes the rom
"${cbfstool}" "${tmprom}" add-int -i 0 -n etc/pci-optionrom-exec || exit 1
fi # for undefined modes, don't add this integer. rely on SeaBIOS defaults
"${cbfstool}" "${tmprom}" add-int -i 0 -n etc/optionroms-checksum || exit 1