build/boot/roms_helper: general code cleanup

Signed-off-by: Leah Rowe <leah@libreboot.org>
This commit is contained in:
Leah Rowe
2023-09-30 22:27:39 +01:00
parent 26fc3f1325
commit c477599c78
+12 -28
View File
@@ -106,8 +106,7 @@ build_dependencies()
{ {
romdir="bin/${board}" romdir="bin/${board}"
cbdir="coreboot/${board}" cbdir="coreboot/${board}"
[ "${board}" = "${tree}" ] || \ [ "${board}" = "${tree}" ] || cbdir="coreboot/${tree}"
cbdir="coreboot/${tree}"
cbfstool="cbutils/${tree}/cbfstool" cbfstool="cbutils/${tree}/cbfstool"
corebootrom="${cbdir}/build/coreboot.rom" corebootrom="${cbdir}/build/coreboot.rom"
@@ -226,7 +225,7 @@ build_roms()
build_grub_roms "${corebootrom}" "${initmode}" \ build_grub_roms "${corebootrom}" "${initmode}" \
"${displaymode}" "grub" || \ "${displaymode}" "grub" || \
err "build_roms: build_grub_roms failed" err "build_roms: build_grub_roms failed"
[ "${payload_uboot}" = "y" ] && return 0 [ "${payload_uboot}" = "y" ] || return 0
build_uboot_roms build_uboot_roms
} }
@@ -253,7 +252,6 @@ build_seabios_roms()
newrompath="${newrompath}${initmode}_" newrompath="${newrompath}${initmode}_"
newrompath="${newrompath}${displaymode}.rom" newrompath="${newrompath}${displaymode}.rom"
fi fi
moverom "${t}" "${newrompath}" || \ moverom "${t}" "${newrompath}" || \
err "build_roms: cannot copy rom" err "build_roms: cannot copy rom"
rm -f "${t}" || err "cannot rm ${t}" rm -f "${t}" || err "cannot rm ${t}"
@@ -267,20 +265,17 @@ build_grub_roms() {
initmode="${2}" initmode="${2}"
displaymode="${3}" displaymode="${3}"
firstpayloadname="${4}" # allow values: grub, seabios, seabios_withgrub firstpayloadname="${4}" # allow values: grub, seabios, seabios_withgrub
grubelf_cbfs="fallback/payload" grubelf_cbfs="fallback/payload"
x=${tmprompath}
y=${initmode}
if [ "${payload_grub_withseabios}" = "y" ] && \ if [ "${payload_grub_withseabios}" = "y" ] && \
[ "${firstpayloadname}" = "grub" ]; then [ "${firstpayloadname}" = "grub" ]; then
mv "$(mkSeabiosRom "${x}" "seabios.elf" "${y}")" \ mv "$(mkSeabiosRom "${tmprompath}" "seabios.elf" \
"${tmprompath}" || \ "${initmode}")" "${tmprompath}" || \
err "build_grub_roms: cannot move tmp rom (seabios.elf)" err "build_grub_roms: cannot move tmp rom (seabios.elf)"
elif [ "${payload_seabios_withgrub}" = "y" ] && \ elif [ "${payload_seabios_withgrub}" = "y" ] && \
[ "${firstpayloadname}" != "grub" ]; then [ "${firstpayloadname}" != "grub" ]; then
mv "$(mkSeabiosRom "${x}" "fallback/payload" "$y")" \ mv "$(mkSeabiosRom "${tmprompath}" "fallback/payload" \
"${tmprompath}" || \ "${initmode}")" "${tmprompath}" || \
err "build_grub_roms: cannot move SeaBIOS ROM to tmprom" err "build_grub_roms: cannot move SeaBIOS ROM to tmprom"
grubelf_cbfs="img/grub2" grubelf_cbfs="img/grub2"
fi fi
@@ -303,8 +298,7 @@ build_grub_roms() {
tmpcfg=$(mktemp -t coreboot_rom.XXXXXXXXXX) || tmpcfg=$(mktemp -t coreboot_rom.XXXXXXXXXX) ||
err "mkGrubRom: cannot create temporary scan.cfg" err "mkGrubRom: cannot create temporary scan.cfg"
printf "set grub_scan_disk=\"%s\"\n" "${grub_scan_disk}" > \ printf "set grub_scan_disk=\"%s\"\n" "${grub_scan_disk}" > \
"${tmpcfg}" || \ "${tmpcfg}" || err "mkGrubRom: cannot insert to temporary scan.cfg"
err "mkGrubRom: cannot insert into temporary scan.cfg"
[ "${grub_scan_disk}" = "both" ] || \ [ "${grub_scan_disk}" = "both" ] || \
"${cbfstool}" "${tmprompath}" add -f "${tmpcfg}" -n scan.cfg \ "${cbfstool}" "${tmprompath}" add -f "${tmpcfg}" -n scan.cfg \
-t raw || err "mkGrubROM: cannot insert scan.cfg into CBFS" -t raw || err "mkGrubROM: cannot insert scan.cfg into CBFS"
@@ -381,17 +375,9 @@ mkSeabiosRom() {
"${cbfstool}" "${tmprom}" add-int -i 3000 -n etc/ps2-keyboard-spinup \ "${cbfstool}" "${tmprom}" add-int -i 3000 -n etc/ps2-keyboard-spinup \
|| err "mkSeabiosRom: cbfs add-int etc/ps2-keyboard-spinup 3000" || err "mkSeabiosRom: cbfs add-int etc/ps2-keyboard-spinup 3000"
if [ "${target_initmode}" = "normal" ] || \ z="2"; [ "${target_initmode}" = "vgarom" ] && z="0"
[ "${target_initmode}" = "libgfxinit" ]; then "${cbfstool}" "${tmprom}" add-int -i $z -n etc/pci-optionrom-exec || \
"${cbfstool}" "${tmprom}" add-int -i 2 \ err "mkSeabiosRom: cbfs add-int etc/pci-optionrom-exec 0"
-n etc/pci-optionrom-exec || \
err "mkSeabiosRom: cbfs add-int etc/pci-optionrom-exec 2"
elif [ "${target_initmode}" = "vgarom" ]; then # coreboot executes it
"${cbfstool}" "${tmprom}" add-int -i 0 \
-n etc/pci-optionrom-exec || \
err "mkSeabiosRom: cbfs add-int etc/pci-optionrom-exec 0"
fi # for undefined modes, don't add this integer. use SeaBIOS defaults
"${cbfstool}" "${tmprom}" add-int -i 0 -n etc/optionroms-checksum || \ "${cbfstool}" "${tmprom}" add-int -i 0 -n etc/optionroms-checksum || \
err "mkSeabiosRom: cbfs add-int etc/optionroms-checksum 0" err "mkSeabiosRom: cbfs add-int etc/optionroms-checksum 0"
[ "${target_initmode}" != "libgfxinit" ] || \ [ "${target_initmode}" != "libgfxinit" ] || \
@@ -404,10 +390,8 @@ mkSeabiosRom() {
build_uboot_roms() build_uboot_roms()
{ {
x=${corebootrom} tmprom="$(mkUbootRom "${corebootrom}" "fallback/payload" \
y=${uboot_config} "${uboot_config}" "${cbfstool}")"
z=${cbfstool}
tmprom="$(mkUbootRom "$x" "fallback/payload" "$y" "$z")"
newrompath="${romdir}/uboot_payload_${board}_${initmode}_${displaymode}.rom" newrompath="${romdir}/uboot_payload_${board}_${initmode}_${displaymode}.rom"
[ "${initmode}" = "normal" ] && \ [ "${initmode}" = "normal" ] && \
newrompath="${romdir}/uboot_payload_${board}_${initmode}.rom" newrompath="${romdir}/uboot_payload_${board}_${initmode}.rom"