test_image_util.sh: Copy DLC(s) for test images
Preload DLC(s) for test images in stateful in order to allow DLC(s) to
have the capability to be provisioned + used during testing.
BUG=chromium:1025983
TEST=./build_image --board=$B --noenable_rootfs_verification test base
TEST=./mount_gpt_image.sh --board=$B --safe --most_recent -i chromiumos_test_image.bin # + base image
TEST=# Verify placement to /var/cache/dlc-images and missing for base image
TEST=cros_generate_stateful_update_payload -i ../build/images/eve/latest/chromiumos_test_image.bin -o outdir/
TEST=# Verify stateful.tgz includes /var_new/cache/dlc-images
Cq-Depend: chromium:1950718, chromium:1921770
Change-Id: I0eab1f870d6d601b045cd9edb20779098401d598
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosutils/+/1950815
Tested-by: Jae Hoon Kim <kimjae@chromium.org>
Commit-Queue: Jae Hoon Kim <kimjae@chromium.org>
Reviewed-by: Amin Hassani <ahassani@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
diff --git a/build_image b/build_image
index 7d974ea..f926a5d 100755
--- a/build_image
+++ b/build_image
@@ -214,7 +214,7 @@
move_image "${BUILD_DIR}" "${OUTPUT_DIR}"
# Move DLC images to the output_root directory.
-build_dlc --sysroot="${BOARD_ROOT}" --install-root-dir="${OUTPUT_DIR}"
+build_dlc --sysroot="${BOARD_ROOT}" --install-root-dir="${OUTPUT_DIR}/dlc"
# Create a named symlink.
LINK_NAME="${FLAGS_output_root}/${BOARD}/${FLAGS_symlink}"
diff --git a/build_library/test_image_util.sh b/build_library/test_image_util.sh
index de8344c..0b5c1f0 100755
--- a/build_library/test_image_util.sh
+++ b/build_library/test_image_util.sh
@@ -42,6 +42,11 @@
restore_fs_contexts "${BOARD_ROOT}" "${root_fs_dir}" "${stateful_fs_dir}"
+ # Move DLC images to the /var/cache directory. The dlc-images directory will
+ # hold DLC(s) that dlcservice will leverage for testing/provisioning.
+ sudo build_dlc --sysroot="${BOARD_ROOT}" \
+ --install-root-dir="${root_fs_dir}/var/cache/dlc-images"
+
unmount_image
trap - EXIT