sign_official_build: accept arcvm/bertha image

BUG=b:161828692
TEST=sign_official_build.sh base recovery_image.bin mykey signed.bin
TEST=sign_android_unittests.sh
BRANCH=none

Signed-off-by: Victor Hsieh <victorhsieh@chromium.org>
Change-Id: I158cd0c23198ffe8773b5882ba214b3ca4d26cae
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/vboot_reference/+/2310758
Reviewed-by: Mike Frysinger <vapier@chromium.org>
diff --git a/scripts/image_signing/lib/sign_android_lib.sh b/scripts/image_signing/lib/sign_android_lib.sh
index 7de328a..985e709 100644
--- a/scripts/image_signing/lib/sign_android_lib.sh
+++ b/scripts/image_signing/lib/sign_android_lib.sh
@@ -125,7 +125,8 @@
     keyset="aosp"
   elif [[ "${flavor_prop}" == cheets_* ||
     "${flavor_prop}" == sdk_cheets_* ||
-    "${flavor_prop}" == sdk_google_cheets_* ]]; then
+    "${flavor_prop}" == sdk_google_cheets_* ||
+    "${flavor_prop}" == bertha_* ]]; then
     keyset="cheets"
   else
     return 1
diff --git a/scripts/image_signing/sign_android_image.sh b/scripts/image_signing/sign_android_image.sh
index f48a5f0..2558a98 100755
--- a/scripts/image_signing/sign_android_image.sh
+++ b/scripts/image_signing/sign_android_image.sh
@@ -220,7 +220,9 @@
 main() {
   local root_fs_dir=$1
   local key_dir=$2
-  local android_dir="${root_fs_dir}/opt/google/containers/android"
+  local android_system_image="$(echo \
+    "${root_fs_dir}"/opt/google/*/android/system.raw.img)"
+  local android_dir=$(dirname "${android_system_image}")
   local system_img="${android_dir}/system.raw.img"
   # Use the versions in $PATH rather than the system ones.
   local unsquashfs=$(which unsquashfs)
diff --git a/scripts/image_signing/sign_android_unittests.sh b/scripts/image_signing/sign_android_unittests.sh
index 9b0c034..9bb99a8 100755
--- a/scripts/image_signing/sign_android_unittests.sh
+++ b/scripts/image_signing/sign_android_unittests.sh
@@ -175,9 +175,16 @@
   choose_signing_keyset_test_helper "cheets_x86_64-user" "cheets"
   echo "TEST: Keyset for userdebug build."
   choose_signing_keyset_test_helper "cheets_x86-userdebug" "cheets"
+  echo "TEST: Keyset for bertha_x86 build."
+  choose_signing_keyset_test_helper "bertha_x86-user" "cheets"
+  echo "TEST: Keyset for bertha_arm build."
+  choose_signing_keyset_test_helper "bertha_arm-user" "cheets"
+  echo "TEST: Keyset for bertha_x86_64 build."
+  choose_signing_keyset_test_helper "bertha_x86_64-user" "cheets"
 
   choose_signing_keyset_test_invalid_flavors "aosp"
   choose_signing_keyset_test_invalid_flavors "cheets"
+  choose_signing_keyset_test_invalid_flavors "bertha"
   choose_signing_keyset_test_invalid_flavors ""
   choose_signing_keyset_test_invalid_flavors " "
 }
diff --git a/scripts/image_signing/sign_official_build.sh b/scripts/image_signing/sign_official_build.sh
index e8dd9e6..3777032 100755
--- a/scripts/image_signing/sign_official_build.sh
+++ b/scripts/image_signing/sign_official_build.sh
@@ -742,7 +742,7 @@
   local rootfs_dir=$(make_temp_dir)
   mount_loop_image_partition "${loopdev}" 3 "${rootfs_dir}"
 
-  local system_img="${rootfs_dir}/opt/google/containers/android/system.raw.img"
+  local system_img="$(echo "${rootfs_dir}"/opt/google/*/android/system.raw.img)"
   local arc_version=$(grep CHROMEOS_ARC_VERSION= \
     "${rootfs_dir}/etc/lsb-release" | cut -d= -f2)
   if [[ ! -e "${system_img}" || -z "${arc_version}" ]]; then