summaryrefslogtreecommitdiff
path: root/script/roms
diff options
context:
space:
mode:
Diffstat (limited to 'script/roms')
-rwxr-xr-xscript/roms52
1 files changed, 21 insertions, 31 deletions
diff --git a/script/roms b/script/roms
index 292193e9..b375d939 100755
--- a/script/roms
+++ b/script/roms
@@ -56,7 +56,9 @@ main()
[ "${all}" != "y" ] || boards=$(items config/coreboot) || \
$err "Cannot generate list of boards for building"
for x in ${boards}; do
- handle_coreboot_target "$x"
+ [ -d "config/coreboot/$x/config" ] && \
+ handle_coreboot_target "$x" && continue
+ printf "No configs for %s; skipping\n" "$x"
done
fi
@@ -99,7 +101,7 @@ handle_serprog()
done
fi
- [ "$xbmk_release" = "y" ] && mktar_release "bin/serprog_$1"; return 0
+ [ "$xbmk_release" = "y" ] && mkrom_tarball "bin/serprog_$1"; return 0
}
build_rp2040_rom()
@@ -148,10 +150,8 @@ handle_coreboot_target()
[ -d "bin/${board}" ] || return 0
[ "$xbmk_release" = "y" ] || targets="* bin/${board}\n${targets}"
- [ "$xbmk_release" = "y" ] || return 0
-
- targets="* bin/${relname}_$board.tar.xz\n$targets"
- mktar_release "bin/$board"
+ [ "$xbmk_release" = "y" ] && mkrom_tarball "bin/$board" && \
+ targets="* bin/${relname}_$board.tar.xz\n$targets"; return 0
}
configure_target()
@@ -179,11 +179,10 @@ configure_target()
[ "$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
- # might have a graphics card whose vga rom coreboot doesn't execute
+ # that doesn't mean GRUB-with-SeaBIOS will, e.g. VGA ROM execution
[ "$payload_grub" != "y" ] && [ "$payload_seabios" != "y" ] && \
- [ "${payload_uboot}" != "y" ] && ! check_defconfig "$targetdir" \
- && $err "target '$board' defines no payload"
+ [ "${payload_uboot}" != "y" ] && \
+ $err "target '$board' defines no payload"
[ "$payload_uboot" != "n" ] && [ "$payload_uboot" != "y" ] && \
payload_uboot="n"
@@ -192,7 +191,6 @@ configure_target()
# Override all payload directives with cmdline args
[ -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 \
payload_seabios_grubonly)"
@@ -235,13 +233,9 @@ build_grub_payload()
[ -f "$grubelf" ] && return 0
[ -f "src/grub/grub-mkstandalone" ] || x_ ./update trees -b grub
- ./src/grub/grub-mkstandalone \
- --grub-mkimage="src/grub/grub-mkimage" \
- -O i386-coreboot \
- -o "elf/grub/grub.elf" \
- -d "src/grub/grub-core/" \
- --fonts= --themes= --locales= \
- --modules="${grub_modules}" \
+ ./src/grub/grub-mkstandalone --grub-mkimage="src/grub/grub-mkimage" \
+ -O i386-coreboot -o "elf/grub/grub.elf" -d "src/grub/grub-core/" \
+ --fonts= --themes= --locales= --modules="${grub_modules}" \
--install-modules="${grub_install_modules}" \
"/boot/grub/grub.cfg=${grubcfgsdir}/config/grub_memdisk.cfg" \
"/boot/grub/grub_default.cfg=${grubcfgsdir}/config/grub.cfg" || \
@@ -255,8 +249,7 @@ build_uboot_payload()
ubootelf="${ubdir}/u-boot.elf"
[ ! -f "${ubootelf}" ] && [ -f "${ubdir}/u-boot" ] && \
ubootelf="${ubdir}/u-boot"
- [ -f "${ubootelf}" ] && return 0
- $err "Can't find u-boot build for board, $board";
+ [ -f "${ubootelf}" ] || $err "$board: Can't find u-boot"; return 0
}
build_target_mainboard()
@@ -281,7 +274,6 @@ build_target_mainboard()
done
}
-# Main ROM building function. This calls all other functions below
build_roms()
{
cbcfg="${1}"
@@ -323,7 +315,7 @@ build_seabios_roms()
newrom="${romdir}/seabios_${board}_${initmode}_${displaymode}"
[ "${initmode}" = "normal" ] && newrom="${romdir}/seabios" \
&& newrom="${newrom}_${board}_${initmode}"
- x_ moverom "${t}" "${newrom}.rom"
+ x_ copyrom "${t}" "${newrom}.rom"
fi
x_ rm -f "${t}"
}
@@ -387,14 +379,14 @@ build_grub_roms()
[ "${initmode}" = "normal" ] && \
newrom="${romdir}/${payload1}_${board}_" && \
newrom="${newrom}${initmode}_${keymap}.rom"
- x_ moverom "${tmpgrubrom}" "${newrom}"
+ x_ copyrom "${tmpgrubrom}" "${newrom}"
if [ "${payload_seabios_grubonly}" = "y" ]; then
x_ "$cbfstool" "$tmpgrubrom" add \
-f "config/grub/bootorder" -n bootorder -t raw
- x_ moverom "$tmpgrubrom" "${newrom%.rom}_grubfirst.rom"
+ x_ copyrom "$tmpgrubrom" "${newrom%.rom}_grubfirst.rom"
x_ "$cbfstool" "$tmpgrubrom" add-int -i 0 \
-n etc/show-boot-menu
- x_ moverom "$tmpgrubrom" "${newrom%.rom}_grubonly.rom"
+ x_ copyrom "$tmpgrubrom" "${newrom%.rom}_grubonly.rom"
fi
x_ rm -f "${tmpgrubrom}"
done
@@ -428,7 +420,7 @@ build_uboot_roms()
tmprom=$(mkUbootRom "${cbrom}" "fallback/payload") || \
$err "build_uboot_roms $board: could not create tmprom"
newrom="${romdir}/uboot_payload_${board}_${initmode}_${displaymode}.rom"
- x_ moverom "${tmprom}" "${newrom}"
+ x_ copyrom "${tmprom}" "${newrom}"
x_ rm -f "${tmprom}"
}
@@ -451,16 +443,14 @@ mkUbootRom() {
printf "%s\n" "${tmprom}"
}
-moverom()
+copyrom()
{
printf "Creating target image: %s\n" "$2"
x_ mkdir -p "${2%/*}"
x_ cp "$1" "$2"
- [ "$xbmk_release" = "y" ] || return 0
-
- mksha512sum "${2}" "vendorhashes"
- x_ ./vendor inject -r "${2}" -b "$board" -n nuke
+ [ "$xbmk_release" = "y" ] && mksha512sum "${2}" "vendorhashes" && \
+ x_ ./vendor inject -r "${2}" -b "$board" -n nuke; return 0
}
main $@