diff options
Diffstat (limited to 'script/build')
-rwxr-xr-x | script/build/boot/roms_helper | 44 | ||||
-rwxr-xr-x | script/build/release/roms | 27 | ||||
-rwxr-xr-x | script/build/release/src | 6 |
3 files changed, 25 insertions, 52 deletions
diff --git a/script/build/boot/roms_helper b/script/build/boot/roms_helper index dcadc4b9..506ccedf 100755 --- a/script/build/boot/roms_helper +++ b/script/build/boot/roms_helper @@ -37,7 +37,6 @@ handle_targets() board="${boards%% *}" configure_target build_dependencies - build_target } @@ -47,7 +46,6 @@ configure_target() [ -d "${targetdir}" ] || \ err "Target not defined: ${board}" - [ -f "${targetdir}/target.cfg" ] || \ err "Missing target.cfg for target: ${board}" @@ -93,18 +91,15 @@ configure_target() payload_uboot="n" [ "${payload_uboot}" = "y" ] && [ "${uboot_config}" = "undefined" ] && \ uboot_config="default" - [ "${blobs_required}" != "n" ] && [ "${blobs_required}" != "y" ] && \ blobs_required="y" # Override all payload directives with cmdline args - if [ ! -z ${_payload} ]; then - printf "setting payload to: %s\n" "${_payload}" - eval "$(setvars "n" payload_grub payload_grub_withseabios \ - payload_seabios payload_seabios_withgrub payload_uboot \ - payload_memtest)" - eval "payload_${_payload}=y" - fi + [ -z ${_payload} ] && return 0 + printf "setting payload to: %s\n" "${_payload}" + eval "$(setvars "n" payload_grub payload_memtest payload_seabios \ + payload_seabios_withgrub payload_uboot payload_grub_withseabios)" + eval "payload_${_payload}=y" } build_dependencies() @@ -160,10 +155,9 @@ build_dependency_grub() [ ! -f "elf/grub/keymap_${keymap}.cfg" ] && \ rebuild_grub="y" && break done - if [ "${rebuild_grub}" = "y" ]; then - ./build grub payload || \ - err "build_dependency_grub: cannot build grub payload" - fi + [ "${rebuild_grub}" = "y" ] || return 0 + ./build grub payload || \ + err "build_dependency_grub: cannot build grub payload" } build_dependency_uboot() @@ -176,9 +170,8 @@ build_dependency_uboot() ubootelf="${ubdir}/u-boot.elf" [ ! -f "${ubootelf}" ] && [ -f "${ubdir}/u-boot.bin" ] && \ ubootelf="${ubdir}/u-boot.bin" - if [ ! -f "${ubootelf}" ]; then - err "Could not find u-boot build for board, ${board}" - fi + [ -f "${ubootelf}" ] && return 0 + err "Could not find u-boot build for board, ${board}" } build_target() @@ -227,18 +220,14 @@ build_roms() "${cbfstool}" "${corebootrom}" add-payload \ -f "${memtest_bin}" -n img/memtest -c lzma || \ err "build_roms: cannot add img/memtest to coreboot rom" - [ "${payload_seabios}" = "y" ] && \ build_seabios_roms - [ "${payload_grub}" != "y" ] || \ build_grub_roms "${corebootrom}" "${initmode}" \ "${displaymode}" "grub" || \ err "build_roms: build_grub_roms failed" - - if [ "${payload_uboot}" = "y" ]; then - build_uboot_roms - fi + [ "${payload_uboot}" = "y" ] && return 0 + build_uboot_roms } build_seabios_roms() @@ -369,7 +358,6 @@ mkGrubRom() { err "mkGrubRom: cannot create tmprom" cp "${target_cbrom}" "${tmprom}" || \ err "mkGrubRom: cannot copy to tmprom" - "${cbfstool}" "${tmprom}" add -f "${keymapcfg}" -n keymap.cfg -t raw \ || err "mkGrubRom: cannot add keymap.cfg to tmprom" @@ -382,18 +370,14 @@ mkSeabiosRom() { # (a tmpfile will be made instead) target_seabios_cbfs_path="${2}" # e.g. fallback/payload target_initmode="${3}" # e.g. libgfxinit - target_seabioself="elf/seabios/default/${target_initmode}/bios.bin.elf" - tmprom=$(mktemp -t coreboot_rom.XXXXXXXXXX) cp "${target_cbrom}" "${tmprom}" || \ err "mkSeabiosRom: cannot copy to tmprom" - "${cbfstool}" "${tmprom}" add-payload -f "${target_seabioself}" \ -n ${target_seabios_cbfs_path} -c lzma || \ err "mkSeabiosRom: can't add payload, ${target_seabioself}, to rom" - "${cbfstool}" "${tmprom}" add-int -i 3000 -n etc/ps2-keyboard-spinup \ || err "mkSeabiosRom: cbfs add-int etc/ps2-keyboard-spinup 3000" @@ -410,7 +394,6 @@ mkSeabiosRom() { "${cbfstool}" "${tmprom}" add-int -i 0 -n etc/optionroms-checksum || \ err "mkSeabiosRom: cbfs add-int etc/optionroms-checksum 0" - [ "${target_initmode}" != "libgfxinit" ] || \ "${cbfstool}" "${tmprom}" add -f "${seavgabiosrom}" \ -n vgaroms/seavgabios.bin -t raw || \ @@ -430,8 +413,7 @@ build_uboot_roms() newrompath="${romdir}/uboot_payload_${board}_${initmode}.rom" moverom "${tmprom}" "${newrompath}" || \ err "build_roms: moverom fail (u-boot)" - rm -f "${tmprom}" || \ - err "build_roms: cannot rm u-boot rom" + rm -f "${tmprom}" || err "build_roms: cannot rm u-boot rom" } # make a rom in /tmp/ and then print the path of that ROM diff --git a/script/build/release/roms b/script/build/release/roms index 4a18037d..026f4eae 100755 --- a/script/build/release/roms +++ b/script/build/release/roms @@ -46,10 +46,9 @@ init_check() [ ! -d "release/${version}/roms/" ] || \ rm -Rf "release/${version}/roms/" || \ err "init_check: !rm -Rf release/${version}/roms/" - if [ ! -d "release/${version}/roms/" ]; then - mkdir -p "release/${version}/roms/" || \ - err "init_check: !mkdir -p release/${version}/roms/" - fi + [ -d "release/${version}/roms/" ] && return 0 + mkdir -p "release/${version}/roms/" || \ + err "init_check: !mkdir -p release/${version}/roms/" } make_archive() @@ -161,20 +160,17 @@ strip_archive() strip_ucode() { romfile=${1} - _newrom_b="${romfile%.rom}_nomicrocode.tmprom" cp "${romfile}" "${_newrom_b}" || \ err "strip_rom_image: cp \"${romfile}\" \"${_newrom_b}\"" microcode_present="y" "${cbfstool}" "${_newrom_b}" remove -n \ cpu_microcode_blob.bin 2>/dev/null || microcode_present="n" - if [ "${microcode_present}" = "n" ]; then - printf "REMARK: '%s' already lacks microcode\n" "${romfile}" \ - 1>&2 - printf "Renaming default ROM file instead.\n" 1>&2 - mv "${romfile}" "${_newrom_b}" || \ - err "strip_rom_image: can't rename no-u ${romfile}" - fi + [ "${microcode_present}" = "n" ] || return 0 + printf "REMARK: '%s' already lacks microcode\n" "${romfile}" 1>&2 + printf "Renaming default ROM file instead.\n" 1>&2 + mv "${romfile}" "${_newrom_b}" || \ + err "strip_rom_image: can't rename no-u ${romfile}" } strip_rom_image() @@ -196,10 +192,9 @@ strip_rom_image() err "strip_rom_images: ${1}: can't nuke ecfw2.bin" fi # TODO: replace this board-specific hack - if [ "${target}" = "e6400_4mb" ]; then - "${cbfstool}" "${1}" remove -n "pci10de,06eb.rom" || \ - err "strip_rom_images: ${1}: can't nuke e6400 vga rom" - fi + [ "${target}" = "e6400_4mb" ] || return 0 + "${cbfstool}" "${1}" remove -n "pci10de,06eb.rom" || \ + err "strip_rom_images: ${1}: can't nuke e6400 vga rom" } main $@ diff --git a/script/build/release/src b/script/build/release/src index c29869f5..74854879 100755 --- a/script/build/release/src +++ b/script/build/release/src @@ -36,7 +36,6 @@ main() purge_files create_release_archive - printf "Source code archive available at %s.tar.xz\n\n" "${srcdir}" } @@ -116,9 +115,7 @@ copy_files() purge_files() { ( - cd "${srcdir}/" || \ - err "purge_files 3: !cd ${srcdir}/" - + cd "${srcdir}/" || err "purge_files 3: !cd ${srcdir}/" [ ! -d "coreboot/default/util/kbc1126" ] || \ ./handle make file -c "coreboot/default/util/kbc1126" || \ err "purge_files 1: default/util/kbc1126: ! make clean" @@ -128,7 +125,6 @@ purge_files() ./handle make config -c "${p}" || \ err "purge_files: ${p}: cannot clean the source trees" done - for p in bios_extract flashrom grub uefitool; do ./handle make file -c "${p}" || \ err "purge_files: !./handle make file -c ${p}" |