Special case the ec name for reef boards
The model.yaml for all reef boards (other than reef itself) is wrong.
The EC target is defined as "reef", but should match the coreboot
target name.
BUG=b:398900326
TEST=Ran on a leased sand.
Change-Id: Ieaa78a386c2808e51c38b407ff40b83164df3d82
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/dev-util/+/6302311
Tested-by: Jeremy Bettis <jbettis@chromium.org>
Auto-Submit: Jeremy Bettis <jbettis@chromium.org>
Commit-Queue: Jeremy Bettis <jbettis@chromium.org>
Reviewed-by: Kshitij Shah <tij@google.com>
Commit-Queue: Kshitij Shah <tij@google.com>
diff --git a/src/go.chromium.org/chromiumos/test/provision/v2/cros-fw-provision/README.md b/src/go.chromium.org/chromiumos/test/provision/v2/cros-fw-provision/README.md
index d113f69..d371a64 100644
--- a/src/go.chromium.org/chromiumos/test/provision/v2/cros-fw-provision/README.md
+++ b/src/go.chromium.org/chromiumos/test/provision/v2/cros-fw-provision/README.md
@@ -113,7 +113,7 @@
Run cros-fw-provision inside chroot
```
CACHE_SERVER=192.168.100.1
-FW_IMAGE=$(gsutil ls -l gs://chromeos-image-archive/firmware-{brya,glados,oak,${BOARD?}}*-branch/*/${BOARD?}/firmware_from_source.tar.bz2 | grep -v TOTAL | sort -k2 | tail -1 | awk '{print $3}')
+FW_IMAGE=$(gsutil ls -l gs://chromeos-image-archive/firmware-{brya,glados,oak,reef,${BOARD?}}*-branch/*/${BOARD?}/firmware_from_source.tar.bz2 | grep -v TOTAL | sort -k2 | tail -1 | awk '{print $3}')
EC_BRANCH=$(gsutil ls -d gs://firmware-image-archive/firmware-ec-R* | tail -1)
EC_IMAGE=$(gsutil ls -l ${EC_BRANCH}*/${BOARD}/firmware_from_source.tar.bz2 | grep -v TOTAL | sort -k2 | tail -1 | awk '{print $3}')
cat >startup.json <<STARTUP
@@ -178,6 +178,28 @@
}
}
INSTALL
+# Typical case for legacy devices
+cat >install.json <<INSTALL
+{
+ "metadata": {
+ "@type": "chromiumos.test.api.FirmwareProvisionInstallMetadata",
+ "firmware_config": {
+ "mainRoPayload": {
+ "firmwareImagePath": {
+ "hostType": "GS",
+ "path": "${FW_IMAGE?}"
+ }
+ },
+ "ecRoPayload": {
+ "firmwareImagePath": {
+ "hostType": "GS",
+ "path": "${FW_IMAGE?}"
+ }
+ }
+ }
+ }
+}
+INSTALL
~/chromiumos/src/platform/dev/fast_build.sh -b go.chromium.org/chromiumos/test/provision/v2/cros-fw-provision \
-o ~/go/bin/cros-fw-provision && \
~/go/bin/cros-fw-provision cli -startup startup.json -install install.json
diff --git a/src/go.chromium.org/chromiumos/test/provision/v2/cros-fw-provision/service/firmwareservice.go b/src/go.chromium.org/chromiumos/test/provision/v2/cros-fw-provision/service/firmwareservice.go
index e85a8ac..5257bc0 100644
--- a/src/go.chromium.org/chromiumos/test/provision/v2/cros-fw-provision/service/firmwareservice.go
+++ b/src/go.chromium.org/chromiumos/test/provision/v2/cros-fw-provision/service/firmwareservice.go
@@ -893,6 +893,11 @@
}
}
}
+ // Special case for reef boards. See b/398900326
+ if fws.CorebootName != fws.LegacyECName && fws.LegacyECName == "reef" {
+ log.Printf("Overriding EC name to '%q", fws.CorebootName)
+ fws.LegacyECName = fws.CorebootName
+ }
log.Printf("config.yaml image names AP: %s EC(legacy): %s EC(standalone): %s", fws.CorebootName, fws.LegacyECName, fws.StandaloneECName)
return nil
}