build_image: Include a list of models in unified builds

When unified builds we want to include a list of models for display on the
login screen if enabled. Update the

BUG=chromium:698012
TEST=Manual:
USE=pcserial ./build_image --board=reef --noenable_rootfs_verification dev \
   --enable_serial ttyS0 dev
Boot it on reef in dev mode and see that the message is displayed on the
login screen.

Change-Id: I4017dd30092eca406985034235ce23ddd0907f44
Reviewed-on: https://chromium-review.googlesource.com/450783
Commit-Ready: Simon Glass <sjg@chromium.org>
Tested-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
diff --git a/build_library/base_image_util.sh b/build_library/base_image_util.sh
index 2e44540..cff8155 100755
--- a/build_library/base_image_util.sh
+++ b/build_library/base_image_util.sh
@@ -4,6 +4,8 @@
 
 . "${SRC_ROOT}/platform/dev/toolchain_utils.sh" || exit 1
 
+CHROMEOS_MASTER_CONFIG_FILE="${BOARD_ROOT}/usr/share/chromeos-config/config.dtb"
+
 check_full_disk() {
   local prev_ret=$?
 
@@ -253,9 +255,18 @@
     builder_path="--builder_path=${FLAGS_builder_path}"
   fi
 
+  # For unified builds, include a list of models, e.g. with --models "reef pyro"
+  local model_flags=()
+  if [[ -f "${CHROMEOS_MASTER_CONFIG_FILE}" ]]; then
+    models=$(fdtget "${CHROMEOS_MASTER_CONFIG_FILE}" -l /chromeos/models \
+      | tr '\n' ' ')
+    [[ -n "${models}" ]] && model_flags+=( --models "${models%% }" )
+  fi
+
   "${GCLIENT_ROOT}/chromite/bin/cros_set_lsb_release" \
     --sysroot="${root_fs_dir}" \
     --board="${BOARD}" \
+    "${model_flags[@]}" \
     ${builder_path} \
     --version_string="${CHROMEOS_VERSION_STRING}" \
     --auserver="${CHROMEOS_VERSION_AUSERVER}" \