diff options
author | Leah Rowe <leah@libreboot.org> | 2023-12-22 13:05:32 +0000 |
---|---|---|
committer | Leah Rowe <leah@libreboot.org> | 2023-12-23 02:52:30 +0000 |
commit | b0e5fc9d9c8f648b2b98c48d126cf8e6e828ddd4 (patch) | |
tree | 4b9de2046d8923e7e38754276bf3911741d9a54b /script/build | |
parent | b111f4840a043a7337937c001e1f82b7af3302f2 (diff) |
lbmk scripts: general code cleanup
Signed-off-by: Leah Rowe <leah@libreboot.org>
Diffstat (limited to 'script/build')
-rwxr-xr-x | script/build/roms | 65 |
1 files changed, 29 insertions, 36 deletions
diff --git a/script/build/roms b/script/build/roms index 03dce95e..2926f297 100755 --- a/script/build/roms +++ b/script/build/roms @@ -19,7 +19,7 @@ kmapdir="config/grub/keymap" # Disable all payloads by default. # target.cfg files have to specifically enable [a] payload(s) -pv="payload_grub payload_grub_withseabios payload_seabios payload_memtest" +pv="payload_grub payload_grub_withseabios payload_seabios payload_memtest t" pv="${pv} payload_seabios_withgrub payload_seabios_grubonly payload_uboot memtest_bin" v="romdir cbrom initmode displaymode cbcfg targetdir tree arch" v="${v} grub_timeout ubdir vendorfiles board grub_scan_disk uboot_config" @@ -63,7 +63,7 @@ main() [ -z "${targets}" ] && err "No ROM images were compiled" printf "\nROM images available in these directories:\n" - printf "%s^^ ROM images available in these directories.\n\n" "${targets}" + printf "%s^^ ROM images available in these directories.\n\n" "$targets" printf "DO NOT flash ROM images from elf/ - please use bin/ instead.\n" } @@ -77,29 +77,21 @@ check_target() # Override the above defaults using target.cfg . "${targetdir}/target.cfg" - [ -z "${grub_scan_disk}" ] && \ - grub_scan_disk="both" + [ -z "${grub_scan_disk}" ] && grub_scan_disk="both" [ "${grub_scan_disk}" != "both" ] && [ "${grub_scan_disk}" != "ata" ] \ && [ "${grub_scan_disk}" != "ahci" ] && \ grub_scan_disk="both" - [ -z "${tree}" ] && \ - err "Target '${board}' defines no tree. Skipping build." - [ -z "${arch}" ] && \ - err "Target '${board}' defines no arch. Skipping build." + [ -z "$arch" ] && err "$board: arch not defined" + [ -z "$tree" ] && err "$board: tree not defined" - [ "${payload_memtest}" != "y" ] && \ - payload_memtest="n" - [ "${payload_grub_withseabios}" = "y" ] && \ - payload_grub="y" + [ "${payload_memtest}" != "y" ] && payload_memtest="n" + [ "${payload_grub_withseabios}" = "y" ] && payload_grub="y" [ "${payload_grub_withseabios}" = "y" ] && \ eval "$(setvars "y" payload_seabios payload_seabios_withgrub)" - [ "${payload_seabios_withgrub}" = "y" ] && \ - payload_seabios="y" - if [ "${payload_seabios_grubonly}" = "y" ]; then - payload_seabios="y" - payload_seabios_withgrub="y" - fi + [ "$payload_seabios_withgrub" = "y" ] && payload_seabios="y" + [ "$payload_seabios_grubonly" = "y" ] && payload_seabios="y" + [ "$payload_seabios_grubonly" = "y" ] && payload_seabios_withgrub="y" # The reverse logic must not be applied. If SeaBIOS-with-GRUB works, # that doesn't mean GRUB-withSeaBIOS will. For example, the board @@ -220,13 +212,14 @@ build_roms() cbcfg="${1}" if [ ! -f "${cbcfg}" ]; then printf "'%s' does not exist. Skipping build for %s %s %s\n" \ - "${cbcfg}" "${board}" "${displaymode}" "${initmode}" 1>&2 + "$cbcfg" "$board" "$displaymode" "$initmode" 1>&2 return 0 fi x_ ./update trees -b coreboot ${board} - _cbrom="elf/coreboot_nopayload_DO_NOT_FLASH/${board}/${initmode}_${displaymode}" + _cbrom="elf/coreboot_nopayload_DO_NOT_FLASH" + _cbrom="${_cbrom}/${board}/${initmode}_${displaymode}" [ "${initmode}" = "normal" ] && \ _cbrom="${_cbrom%"_${displaymode}"}" _cbrom="${_cbrom}/coreboot.rom" @@ -248,10 +241,9 @@ build_roms() build_seabios_roms() { if [ "${payload_seabios_withgrub}" = "y" ]; then - tmprom=$(mktemp -t coreboot_rom.XXXXXXXXXX) - x_ cp "${cbrom}" "${tmprom}" - x_ build_grub_roms "${tmprom}" "seabios_withgrub" - x_ rm -f "${tmprom}" + t=$(mktemp -t coreboot_rom.XXXXXXXXXX) + x_ cp "${cbrom}" "${t}" + x_ build_grub_roms "${t}" "seabios_withgrub" else t=$(mkSeabiosRom "${cbrom}" "fallback/payload") || \ err "build_seabios_roms: cannot build tmprom" @@ -259,8 +251,8 @@ build_seabios_roms() [ "${initmode}" = "normal" ] && newrom="${romdir}/seabios" \ && newrom="${newrom}_${board}_${initmode}" x_ moverom "${t}" "${newrom}.rom" - x_ rm -f "${t}" fi + x_ rm -f "${t}" } # Make separate ROM images with GRUB payload, for each supported keymap @@ -270,11 +262,11 @@ build_grub_roms() payload1="${2}" # allow values: grub, seabios, seabios_withgrub grub_cbfs="fallback/payload" - [ "${payload1}" = "grub" ] && [ "${payload_grub_withseabios}" = "y" ] \ - && x_ mv "$(mkSeabiosRom "${tmprom}" "seabios.elf")" "${tmprom}" - [ "${payload1}" != "grub" ] && [ "${payload_seabios_withgrub}" = "y" ] \ + [ "$payload1" = "grub" ] && [ "$payload_grub_withseabios" = "y" ] \ + && x_ mv "$(mkSeabiosRom "$tmprom" "seabios.elf")" "$tmprom" + [ "$payload1" != "grub" ] && [ "$payload_seabios_withgrub" = "y" ] \ && grub_cbfs="img/grub2" && \ - x_ mv "$(mkSeabiosRom "${tmprom}" fallback/payload)" "${tmprom}" + x_ mv "$(mkSeabiosRom "$tmprom" fallback/payload)" "$tmprom" # we only need insert grub.elf once, for each coreboot config: x_ "${cbfstool}" "${tmprom}" add-payload -f "${grubelf}" \ @@ -285,14 +277,15 @@ build_grub_roms() [ "${displaymode}" = "corebootfb" ]; then backgroundfile="config/grub/background/${grub_background}" "${cbfstool}" "${tmprom}" add -f ${backgroundfile} \ - -n background.png -t raw || err "insert background, ${backgroundfile}" + -n background.png -t raw || \ + err "insert background, ${backgroundfile}" fi tmpcfg=$(mktemp -t coreboot_rom.XXXXXXXXXX) - printf "set grub_scan_disk=\"%s\"\n" "${grub_scan_disk}" >"${tmpcfg}" \ - || err "set grub_scandisk, ${grub_scan_disk}, ${tmpcfg}" + printf "set grub_scan_disk=\"%s\"\n" "$grub_scan_disk" >"$tmpcfg" \ + || err "set grub_scandisk, $grub_scan_disk, $tmpcfg" [ "${grub_scan_disk}" = "both" ] || \ - x_ "${cbfstool}" "${tmprom}" add -f "${tmpcfg}" -n scan.cfg -t raw + x_ "$cbfstool" "$tmprom" add -f "$tmpcfg" -n scan.cfg -t raw printf "set timeout=%s\n" "${grub_timeout}" > "${tmpcfg}" || \ err "set timeout, ${grub_timeout}, ${tmpcfg}" [ -z "${grub_timeout}" ] || x_ "${cbfstool}" "${tmprom}" add \ @@ -332,7 +325,7 @@ mkGrubRom() { tmprom=$(mktemp -t coreboot_rom.XXXXXXXXXX) x_ cp "${_cbrom}" "${tmprom}" - x_ "${cbfstool}" "${tmprom}" add -f "${keymapcfg}" -n keymap.cfg -t raw + x_ "$cbfstool" "$tmprom" add -f "$keymapcfg" -n keymap.cfg -t raw printf "%s\n" "${tmprom}" } @@ -348,7 +341,7 @@ mkSeabiosRom() { x_ cp "${_cbrom}" "${tmprom}" x_ "${cbfstool}" "${tmprom}" add-payload -f "${_seabioself}" \ -n "${_seabios_cbfs_path}" -c lzma - x_ "${cbfstool}" "${tmprom}" add-int -i 3000 -n etc/ps2-keyboard-spinup + x_ "$cbfstool" "$tmprom" add-int -i 3000 -n etc/ps2-keyboard-spinup z="2"; [ "${initmode}" = "vgarom" ] && z="0" x_ "${cbfstool}" "${tmprom}" add-int -i $z -n etc/pci-optionrom-exec @@ -369,7 +362,7 @@ mkSeabiosGrubonlyRom() tmpbootorder=$(mktemp -t coreboot_rom.XXXXXXXXXX) # only load grub, by inserting a custom bootorder file - printf "/rom@img/grub2\n" > "${tmpbootorder}" || err "printf bootorder" + printf "/rom@img/grub2\n" > "$tmpbootorder" || err "printf bootorder" x_ "${cbfstool}" "${_grubrom}" \ add -f "${tmpbootorder}" -n bootorder -t raw x_ rm -f "${tmpbootorder}" |