| Index: src/scripts/mod_image_for_test.sh
|
| diff --git a/src/scripts/mod_image_for_test.sh b/src/scripts/mod_image_for_test.sh
|
| index 53907eb6b6d5786daf49a7b457b4f4b20fc86589..b106c05bebf6458f531195580466c62cdbd9220c 100755
|
| --- a/src/scripts/mod_image_for_test.sh
|
| +++ b/src/scripts/mod_image_for_test.sh
|
| @@ -20,17 +20,20 @@ get_default_board
|
|
|
| DEFINE_string board "$DEFAULT_BOARD" "Board for which the image was built" b
|
| DEFINE_boolean factory $FLAGS_FALSE \
|
| - "Modify the image for manufacturing testing" f
|
| + "Modify the image for manufacturing testing" f
|
| DEFINE_boolean factory_install $FLAGS_FALSE \
|
| "Modify the image for factory install shim"
|
| DEFINE_string image "" "Location of the rootfs raw image file" i
|
| DEFINE_boolean installmask $FLAGS_TRUE \
|
| - "Use INSTALL_MASK to shrink the resulting image." m
|
| + "Use INSTALL_MASK to shrink the resulting image." m
|
| DEFINE_integer jobs -1 \
|
| - "How many packages to build in parallel at maximum." j
|
| + "How many packages to build in parallel at maximum." j
|
| DEFINE_string qualdb "/tmp/run_remote_tests.*" \
|
| "Location of qualified component file" d
|
| DEFINE_boolean yes $FLAGS_FALSE "Answer yes to all prompts" y
|
| +DEFINE_string build_root "/build" \
|
| + "The root location for board sysroots."
|
| +
|
|
|
| # Parse command line
|
| FLAGS "$@" || exit 1
|
| @@ -91,6 +94,35 @@ emerge_chromeos_test() {
|
| --usepkgonly chromeos-test $EMERGE_JOBS
|
| }
|
|
|
| +
|
| +install_autotest() {
|
| + SYSROOT="${FLAGS_build_root}/${FLAGS_board}"
|
| + AUTOTEST_SRC="${SYSROOT}/usr/local/autotest"
|
| + stateful_root="${ROOT_FS_DIR}/usr/local"
|
| + autotest_client="/autotest"
|
| +
|
| + echo "Install autotest into stateful partition from $AUTOTEST_SRC"
|
| +
|
| + sudo mkdir -p "${stateful_root}${autotest_client}"
|
| + sudo mkdir -p "/tmp/autotest"
|
| + sudo rm -rf /tmp/autotest/*
|
| +
|
| + sudo cp -fpru ${AUTOTEST_SRC}/client/* \
|
| + "/tmp/autotest"
|
| + # Remove outrageously large tests.
|
| + # TODO(nsanders): is there a better way to do this?
|
| + sudo rm -rf /tmp/autotest/deps/realtimecomm_playground
|
| + sudo rm -rf /tmp/autotest/tests/ltp
|
| + sudo rm -rf /tmp/autotest/site_tests/graphics_O3DSelenium
|
| + sudo rm -rf /tmp/autotest/realtimecomm_GTalk*
|
| + sudo rm -rf /tmp/autotest/site_tests/platform_StackProtector
|
| +
|
| + sudo cp -fpru /tmp/autotest/* \
|
| + "${stateful_root}/${autotest_client}"
|
| + sudo chmod 755 "${stateful_root}/${autotest_client}"
|
| + sudo chown -R 1000:1000 "${stateful_root}/${autotest_client}"
|
| +}
|
| +
|
| # main process begins here.
|
|
|
| # Make sure this is really what the user wants, before nuking the device
|
| @@ -125,7 +157,7 @@ if [ ${FLAGS_factory_install} -eq ${FLAGS_TRUE} ]; then
|
|
|
| # Run factory setup script to modify the image.
|
| sudo emerge-${FLAGS_board} --root=$ROOT_FS_DIR --usepkgonly \
|
| - --root-deps=rdeps chromeos-factoryinstall
|
| + --root-deps=rdeps --nodeps chromeos-factoryinstall
|
|
|
| # Set factory server if necessary.
|
| if [ "${FACTORY_SERVER}" != "" ]; then
|
| @@ -143,14 +175,23 @@ else
|
| "${MOD_TEST_ROOT}/test_setup.sh"
|
|
|
| if [ ${FLAGS_factory} -eq ${FLAGS_TRUE} ]; then
|
| + install_autotest
|
| +
|
| MOD_FACTORY_ROOT="${GCLIENT_ROOT}/src/scripts/mod_for_factory_scripts"
|
| # Run factory setup script to modify the image
|
| sudo GCLIENT_ROOT="${GCLIENT_ROOT}" ROOT_FS_DIR="${ROOT_FS_DIR}" \
|
| - STATEFUL_DIR="${STATEFUL_DIR}/dev_image" QUALDB="${FLAGS_qualdb}" \
|
| + QUALDB="${FLAGS_qualdb}" \
|
| "${MOD_FACTORY_ROOT}/factory_setup.sh"
|
| fi
|
| fi
|
|
|
| +# Let's have a look at the image just in case..
|
| +if [ "${VERIFY}" = "true" ]; then
|
| + pushd "${ROOT_FS_DIR}"
|
| + bash
|
| + popd
|
| +fi
|
| +
|
| cleanup
|
| trap - EXIT
|
|
|
|
|