diff options
-rwxr-xr-x | script/roms | 37 |
1 files changed, 22 insertions, 15 deletions
diff --git a/script/roms b/script/roms index 2f90653f..c992b447 100755 --- a/script/roms +++ b/script/roms @@ -53,7 +53,7 @@ main() for x in $boards; do [ -n "$ser" ] && mkserprogfw "$ser" "$x" [ -z "$ser" ] && [ -d "config/coreboot/$x/config" ] && \ - configure_target "$x" && build_board && \ + configure_target "$x" && build_payloads && build_board && \ [ -d "bin/$board" ] && targets="$targets, $x"; continue done @@ -120,6 +120,12 @@ configure_target() [ "$payload_uboot" = "y" ] || payload_uboot="n" [ -n "$uboot_config" ] || uboot_config="default" + [ "$xbmk_release" = "y" ] && [ "$release" = "n" ] && return 1 + [ "$board" = "$tree" ] && return 1; return 0 +} + +build_payloads() +{ romdir="bin/$board" cbdir="src/coreboot/$board" [ "$board" = "$tree" ] || cbdir="src/coreboot/$tree" @@ -127,9 +133,20 @@ configure_target() cbrom="$cbdir/build/coreboot.rom" [ -f "$cbfstool" ] || x_ ./update trees -b coreboot utils $tree + [ "$payload_memtest" = "y" ] && x_ ./update trees -b memtest86plus + [ "$payload_seabios" = "y" ] && x_ ./update trees -b seabios - [ "$xbmk_release" = "y" ] && [ "$release" = "n" ] && return 1 - [ "$board" = "$tree" ] && return 1; return 0 + if [ "$payload_grub" = "y" ] || [ "$payload_seabios_withgrub" = "y" ] \ + || [ "$payload_seabios_grubonly" = "y" ]; then + [ -f "$grubelf" ] || x_ ./update trees -b grub $grubtree + fi + + [ "$payload_uboot" = "y" ] || return 0 + x_ ./update trees -b u-boot $board + ubdir="elf/u-boot/$board/$uboot_config" + ubootelf="$ubdir/u-boot.elf" && [ ! -f "$ubootelf" ] && \ + ubootelf="$ubdir/u-boot" + [ -f "$ubootelf" ] || $err "$board: Can't find u-boot"; return 0 } build_board() @@ -162,8 +179,8 @@ build_roms() cbrom="$(mktemp -t coreboot_rom.XXXXXXXXXX)" x_ cp "$_cbrom" "$cbrom" - [ "$payload_memtest" = "y" ] && x_ ./update trees -b memtest86plus && \ - cbfs "$cbrom" "elf/memtest86plus/memtest.bin" img/memtest + [ "$payload_memtest" != "y" ] || cbfs "$cbrom" + "elf/memtest86plus/memtest.bin" img/memtest [ "$payload_seabios" = "y" ] && build_seabios_roms [ "$payload_grub" != "y" ] || build_grub_roms "$cbrom" "grub" [ "$payload_uboot" = "y" ] && x_ cp "$_cbrom" "$cbrom" && \ @@ -193,8 +210,6 @@ build_grub_roms() tmprom="$1" payload1="$2" # allow values: grub, seabios, seabios_withgrub - x_ ./update trees -b grub $grubtree - grub_cbfs="fallback/payload" if [ "$payload1" = "grub" ] && [ "$payload_grub_withseabios" = "y" ] then @@ -233,8 +248,6 @@ mkSeabiosRom() { tmprom="$(mktemp -t coreboot_rom.XXXXXXXXXX)" # 1=cbrom, 2=cbfs path _seabioself="elf/seabios/default/$initmode/bios.bin.elf" - x_ ./update trees -b seabios - x_ cp "$1" "$tmprom" cbfs "$tmprom" "$_seabioself" "$2" x_ "$cbfstool" "$tmprom" add-int -i 3000 -n etc/ps2-keyboard-spinup @@ -250,12 +263,6 @@ mkSeabiosRom() { build_uboot_roms() { - x_ ./update trees -b u-boot $board - ubdir="elf/u-boot/$board/$uboot_config" - ubootelf="$ubdir/u-boot.elf" && [ ! -f "$ubootelf" ] && \ - ubootelf="$ubdir/u-boot" - [ -f "$ubootelf" ] || $err "$board: Can't find u-boot" - tmprom="$(mktemp -t coreboot_rom.XXXXXXXXXX)" newrom="$romdir/uboot_payload_${board}_${initmode}_$displaymode.rom" x_ cp "$cbrom" "$tmprom" |