summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLeah Rowe <leah@libreboot.org>2024-06-19 00:39:15 +0100
committerLeah Rowe <leah@libreboot.org>2024-06-19 00:42:01 +0100
commit3610667e3db08ff1db4f7784ff5a879d8aebce9d (patch)
tree2a8eff3e2ec52d5b91e5441d548e666296b273ba
parent29a7123c0c5bbc6c8ecab4e58950040df7f1ccc4 (diff)
roms: remove build_payloads() and split it up
payloads are compiled before coreboot, but it doesn't matter to the build speed whether this is done first. reduce the lines of code by checking payload builds *while* adding them to the coreboot images. this means that coreboot is now compiled first, before the payloads. Signed-off-by: Leah Rowe <leah@libreboot.org>
-rwxr-xr-xscript/roms37
1 files changed, 15 insertions, 22 deletions
diff --git a/script/roms b/script/roms
index 4cf36e38..865c4909 100755
--- a/script/roms
+++ b/script/roms
@@ -41,7 +41,7 @@ main()
$err "Cannot generate list of boards for building"
for x in $boards; do
[ -d "config/coreboot/$x/config" ] && configure_target "$x" \
- && build_payloads && build_board && [ -d "bin/$board" ] \
+ && build_board && [ -d "bin/$board" ] \
&& targets="$targets, $x"; continue
done
@@ -125,12 +125,6 @@ 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"
@@ -138,20 +132,9 @@ build_payloads()
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
- 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
+ [ "$xbmk_release" = "y" ] && [ "$release" = "n" ] && return 1
+ [ "$board" = "$tree" ] && return 1; return 0
}
build_board()
@@ -184,8 +167,8 @@ build_roms()
cbrom="$(mktemp -t coreboot_rom.XXXXXXXXXX)"
x_ cp "$_cbrom" "$cbrom"
- [ "$payload_memtest" != "y" ] || cbfs "$cbrom"
- "elf/memtest86plus/memtest.bin" img/memtest
+ [ "$payload_memtest" = "y" ] && x_ ./update trees -b memtest86plus && \
+ 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" ] || return 0
@@ -216,6 +199,8 @@ 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
@@ -260,6 +245,8 @@ 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
@@ -275,6 +262,12 @@ 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"