From 78a4101bfbcee177a785b35a9ba870d61feb1486 Mon Sep 17 00:00:00 2001 From: Matt DeVillier Date: Mon, 6 Jan 2025 16:51:52 -0600 Subject: [PATCH] util/chromeos/crosfirmware: Add special handling for REEF board The layout of an extracted REEF shellball doesn't conform to the usual ones used by other boards, so add a special-case handler for it. TEST= run `bash croshfirmware.sh reef` and receive the correct firmware image for the board. Change-Id: Ib391f30a77b6aa75aa130ffb525e6e1d1239a588 Signed-off-by: Matt DeVillier Reviewed-on: https://review.coreboot.org/c/coreboot/+/85873 Reviewed-by: Felix Singer Tested-by: build bot (Jenkins) --- util/chromeos/crosfirmware.sh | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/util/chromeos/crosfirmware.sh b/util/chromeos/crosfirmware.sh index ee873290a5..1972aec700 100755 --- a/util/chromeos/crosfirmware.sh +++ b/util/chromeos/crosfirmware.sh @@ -105,8 +105,14 @@ extract_coreboot() { _version=$(cat $_unpacked/VERSION | grep -m 1 -e Model.*$_board -A5 | grep "BIOS version:" | cut -f2 -d: | tr -d \ ) fi - _bios_image=$(grep "IMAGE_MAIN" $_unpacked/models/$_board/setvars.sh | - cut -f2 -d\") + if [ -f $_unpacked/models/$_board/setvars.sh ]; then + _bios_image=$(grep "IMAGE_MAIN" $_unpacked/models/$_board/setvars.sh | + cut -f2 -d'"') + else + # special case for REEF, others? + _version=$(grep -m1 "host" "$_unpacked/manifest.json" | cut -f12 -d'"') + _bios_image=$(grep -m1 "image" "$_unpacked/manifest.json" | cut -f4 -d'"') + fi elif [ -f "$_unpacked/manifest.json" ]; then _version=$(grep -m1 -A1 "$BOARD" "$_unpacked/manifest.json" | grep "host" | cut -f12 -d'"') _bios_image=$(grep -m1 -A3 "$BOARD" "$_unpacked/manifest.json" | grep "image" | cut -f4 -d'"')