summaryrefslogtreecommitdiff
path: root/resources/scripts/build
diff options
context:
space:
mode:
authorLeah Rowe <leah@libreboot.org>2022-11-22 22:45:18 +0000
committerLeah Rowe <leah@libreboot.org>2022-11-22 22:45:18 +0000
commite1bbdadc9584291cf062660d67128e9f17ab788e (patch)
tree2584bd344394f51baea1bc334be31dc228c43dbf /resources/scripts/build
parent7629dfb8afa81af71ead2d7e1b2c3a7b91849c8d (diff)
build/roms: remove seabios_grubfirst logic
the intended use-case scenario was one in which vga rom initialisation would be used, on desktop configurations, but without coreboot itself handling vga rom initialisation, instead leaving that task to seabios it was assumed that grub, when running on the bare metal with build option "--with-platform=coreboot" would be able to display like this, but it is not so when tested in such setups (add-on gpu with grub payload), it is necessary to extract the video bios and insert it into the coreboot rom, having coreboot handle such execution. this is beyond the scope of lbmk, in context of automated building, because we cannot reliably predict things such as PCI IDs do away with this build option entirely, for it does not serve the intended purpose. it will be necessary to run PC GRUB instead (build option --with-platform=i386-pc). PC GRUB can still read from CBFS, and you could provide it as a floppy image file inside CBFS for SeaBIOS to execute. in this setup, GRUB would function as originally intended by the seabios_withgrub option; such a configuration is referred to as "SeaGRUB" by the libreboot project, and experimentation was done with it in the past, to no avail it's better to keep things simple, in the libreboot project. simpler for users, that is
Diffstat (limited to 'resources/scripts/build')
-rwxr-xr-xresources/scripts/build/boot/roms_helper13
1 files changed, 2 insertions, 11 deletions
diff --git a/resources/scripts/build/boot/roms_helper b/resources/scripts/build/boot/roms_helper
index 3fdc53f2..06820b43 100755
--- a/resources/scripts/build/boot/roms_helper
+++ b/resources/scripts/build/boot/roms_helper
@@ -206,7 +206,7 @@ elif [ "${arch}" = "AArch64" ]; then
(
cat version > "${cbdir}/.coreboot-version"
cd "${cbdir}"
- make crossgcc-arm crossgcc-aarch64 CPUS=$(nproc) # This is for aarch64, doesn't apply to armv7
+ make crossgcc-aarch64 CPUS=$(nproc) # This is for aarch64, doesn't apply to armv7
)
fi
@@ -456,19 +456,12 @@ mkRomsWithGrub() {
tmprompath="${1}"
initmode="${2}"
displaymode="${3}"
- firstpayloadname="${4}" # allow values: grub, seabios, seabios_withgrub, seabios_grubfirst
+ firstpayloadname="${4}" # allow values: grub, seabios, seabios_withgrub
if [ "${payload_grub_withseabios}" = "y" ] && [ "${firstpayloadname}" = "grub" ]; then
mv "$(make_seabios_rom "${tmprompath}" "seabios.elf" "${seabios_opromloadonly}" "${initmode}")" "${tmprompath}"
elif [ "${payload_seabios_withgrub}" ] && [ "${firstpayloadname}" != "grub" ]; then
mv "$(make_seabios_rom "${tmprompath}" "fallback/payload" "${seabios_opromloadonly}" "${initmode}")" "${tmprompath}"
- if [ "${firstpayloadname}" = "seabios_grubfirst" ]; then
- tmpbootorder=$(mktemp -t coreboot_rom.XXXXXXXXXX)
- printf "/rom@img/grub2\n" > "${tmpbootorder}"
- "${cbfstool}" "${tmprompath}" add -f "${tmpbootorder}" -n bootorder -t raw
- rm -f "${tmpbootorder}"
- "${cbfstool}" "${tmprompath}" add-int -i 0 -n etc/show-boot-menu
- fi
fi
keymaps=""
@@ -538,8 +531,6 @@ mkRoms() {
tmprom=$(mktemp -t coreboot_rom.XXXXXXXXXX)
cp "${corebootrom}" "${tmprom}"
mkRomsWithGrub "${tmprom}" "${initmode}" "${displaymode}" "seabios_withgrub"
- cp "${corebootrom}" "${tmprom}"
- mkRomsWithGrub "${tmprom}" "${initmode}" "${displaymode}" "seabios_grubfirst"
rm -f "${tmprom}"
fi
fi