diff options
Diffstat (limited to 'script/build/roms')
-rwxr-xr-x | script/build/roms | 117 |
1 files changed, 34 insertions, 83 deletions
diff --git a/script/build/roms b/script/build/roms index 853bbea6..1ed64004 100755 --- a/script/build/roms +++ b/script/build/roms @@ -33,10 +33,6 @@ main() while [ $# -gt 0 ]; do if [ "$listboards" = "y" ]; then - [ "$1" = "stable" ] || [ "$1" = "unstable" ] || \ - [ "$1" = "broken" ] || [ "$1" = "untested" ] || \ - [ "$1" = "unknown" ] || \ - $err "invalid list type '$1'" list_type="$list_type $1" list_type="${list_type# }" shift 1; continue @@ -62,9 +58,6 @@ main() shift 2 done - [ "$listboards" = "y" ] && [ -z "$list_type" ] && \ - list_type="stable unstable broken untested unknown" - [ "${all}" != "y" ] || boards=$(items config/coreboot) || \ $err "Cannot generate list of boards for building" @@ -72,19 +65,18 @@ main() eval "$(setvars "n" ${pv}) $(setvars "" ${v})" grub_background="background1280x800.png" board="${x}" + status="unknown" configure_target [ "$board" = "$tree" ] && \ continue - handle_status - if [ "$listboards" = "y" ]; then + [ -z "$list_type" ] && printf "%s\n" "$board" for _list_type in $list_type; do [ "$status" != "$_list_type" ] && continue printf "%s\n" "$board" - done - continue + done; continue fi # exclude certain targets from the release @@ -163,50 +155,33 @@ configure_target() eval "payload_${_payload}=y" } -handle_status() -{ - [ "$status" = "stable" ] || [ "$status" = "unstable" ] || \ - [ "$status" = "broken" ] || [ "$status" = "untested" ] || \ - status="unknown" - - [ "$listboards" != "y" ] && \ - printf "Handling target: %s (status=%s)\n" "$board" "$status" - - [ "$status" = "broken" ] && release="n" - [ "$status" = "unknown" ] && release="n" - [ "$status" = "untested" ] && release="n" - - [ "$listboards" != "y" ] && \ - [ "$status" != "stable" ] && [ "$status" != "$release_type" ] && \ - printf "WARNING: %s not marked stable (status=%s):\n\n" \ - "$board" "$status"; return 0 -} - skip_board() { - [ "$release" = "n" ] && [ "$lbmk_release" = "y" ] && \ - return 0 - [ -n "$release_type" ] && [ "$status" = "$release_type" ] && \ - return 1 - - if [ "$lbmk_release" != "y" ] && [ "$status" != "stable" ] && \ - [ "$status" != "$release_type" ] && [ "$lbmk_status" = "y" ]; then - if [ -f "$targetdir/warn.txt" ]; then - printf "Regarding board '%s' (status '%s'):\n" \ - "$board" "$status" - cat -u "$targetdir/warn.txt" || \ - $err "!cat $targetdir/warn.txt" - fi - printf "\nTo disable this dialog when building, do:\n" - printf "export LBMK_STATUS=n\n\n" - while true; do - printf "Board %s has status '%s'. Skip? [y/n]" \ - "$board" "$status" - read -r skip - [ "$skip" = "y" ] && return 0 - [ "$skip" = "n" ] && return 1; continue - done - fi; return 1 + [ "$listboards" != "y" ] && [ "$status" != "stable" ] && \ + printf "WARNING: %s not stable (status=%s):\n\n" \ + "$board" "$status" + + if [ -f "$targetdir/warn.txt" ] && [ "$listboards" != "y" ]; then + printf "Regarding board '%s' (status '%s'):\n" \ + "$board" "$status" + cat -u "$targetdir/warn.txt" || \ + $err "!cat $targetdir/warn.txt" + fi + + [ "$lbmk_release" = "y" ] && [ "$release" = "n" ] && return 0 + [ "$lbmk_release" = "y" ] && [ "$status" != "broken" ] && return 1 + [ "$lbmk_status" = "y" ] || return 1 + [ "$status" = "stable" ] && return 1 + + printf "\nTo disable this dialog when building, do:\n" + printf "export LBMK_STATUS=n\n\n" + while true; do + printf "Board %s has status '%s'. Skip? [y/n]" \ + "$board" "$status" + read -r skip + [ "$skip" = "y" ] && return 0 + [ "$skip" = "n" ] && return 1; continue + done } build_payloads() @@ -399,8 +374,12 @@ build_grub_roms() newrom="${newrom}${initmode}_${keymap}.rom" x_ moverom "${tmpgrubrom}" "${newrom}" if [ "${payload_seabios_grubonly}" = "y" ]; then - mkSeagrubRom "${tmpgrubrom}" "${newrom}" - mkSeabiosGrubonlyRom "${tmpgrubrom}" "${newrom}" + x_ "$cbfstool" "$tmpgrubrom" add \ + -f "config/grub/bootorder" -n bootorder -t raw + x_ moverom "$tmpgrubrom" "${newrom%.rom}_grubfirst.rom" + x_ "$cbfstool" "$tmpgrubrom" add-int -i 0 \ + -n etc/show-boot-menu + x_ moverom "$tmpgrubrom" "${newrom%.rom}_grubonly.rom" fi x_ rm -f "${tmpgrubrom}" done @@ -429,34 +408,6 @@ mkSeabiosRom() { printf "%s\n" "${tmprom}" } -# SeaGRUB configuration -mkSeagrubRom() -{ - _grubrom="${1}" - _newrom="${2}" - - tmpbootorder=$(mktemp -t coreboot_rom.XXXXXXXXXX) - - # only load grub, by inserting a custom bootorder file - printf "/rom@img/grub2\n" > "$tmpbootorder" || $err "printf bootorder" - x_ "${cbfstool}" "${_grubrom}" \ - add -f "${tmpbootorder}" -n bootorder -t raw - x_ rm -f "${tmpbootorder}" - - x_ moverom "${_grubrom}" "${_newrom%.rom}_grubfirst.rom" -} - -# SeaGRUB, and disable the SeaBIOS menu (grub only) -mkSeabiosGrubonlyRom() -{ - _grubrom="${1}" - _newrom="${2}" - - x_ "${cbfstool}" "${_grubrom}" add-int -i 0 -n etc/show-boot-menu - - x_ moverom "${_grubrom}" "${_newrom%.rom}_grubonly.rom" -} - build_uboot_roms() { tmprom=$(mkUbootRom "${cbrom}" "fallback/payload") || \ |