| Index: src/scripts/image_to_usb.sh
|
| diff --git a/src/scripts/image_to_usb.sh b/src/scripts/image_to_usb.sh
|
| index b89725acfe41718b2985e8e0ffd63f31eab04770..3744ac08260510bfe5249079c8b73c36f17c7649 100755
|
| --- a/src/scripts/image_to_usb.sh
|
| +++ b/src/scripts/image_to_usb.sh
|
| @@ -21,6 +21,9 @@ DEFINE_string from "" \
|
| "Directory containing chromiumos_image.bin"
|
| DEFINE_string to "" "${DEFAULT_TO_HELP}"
|
| DEFINE_boolean yes ${FLAGS_FALSE} "Answer yes to all prompts" "y"
|
| +DEFINE_boolean force_copy ${FLAGS_FALSE} "Always rebuild test image"
|
| +DEFINE_boolean factory ${FLAGS_FALSE} \
|
| + "Whether to generate a factory runin image. Implies aututest and test"
|
| DEFINE_boolean install_autotest ${FLAGS_FALSE} \
|
| "Whether to install autotest to the stateful partition."
|
| DEFINE_boolean copy_kernel ${FLAGS_FALSE} \
|
| @@ -34,6 +37,13 @@ DEFINE_string build_root "/build" \
|
| FLAGS "$@" || exit 1
|
| eval set -- "${FLAGS_ARGV}"
|
|
|
| +# Require autotest for manucaturing image.
|
| +if [ ${FLAGS_factory} -eq ${FLAGS_TRUE} ] ; then
|
| + echo "Factory image requires --install_autotest and --test_image, setting."
|
| + FLAGS_install_autotest=${FLAGS_TRUE}
|
| + FLAGS_test_image=${FLAGS_TRUE}
|
| +fi
|
| +
|
| # Inside the chroot, so output to usb.img in the same dir as the other
|
| # Script can be run either inside or outside the chroot.
|
| if [ ${INSIDE_CHROOT} -eq 1 ]
|
| @@ -84,22 +94,42 @@ fi
|
| FLAGS_from=`eval readlink -f ${FLAGS_from}`
|
| FLAGS_to=`eval readlink -f ${FLAGS_to}`
|
|
|
| +# Done evaluating arguments, lets go!
|
| +echo "Caching sudo authentication"
|
| +sudo -v
|
| +echo "Done"
|
| +
|
| # Use this image as the source image to copy
|
| SRC_IMAGE="${FLAGS_from}/chromiumos_image.bin"
|
|
|
| # If we're asked to modify the image for test, then let's make a copy and
|
| # modify that instead.
|
| if [ ${FLAGS_test_image} -eq ${FLAGS_TRUE} ] ; then
|
| - if [ ! -f "${FLAGS_from}/chromiumos_test_image.bin" ] ; then
|
| + if [ ! -f "${FLAGS_from}/chromiumos_test_image.bin" ] || \
|
| + [ ${FLAGS_force_copy} -eq ${FLAGS_TRUE} ] ; then
|
| # Copy it.
|
| echo "Creating test image from original..."
|
| cp -f "${SRC_IMAGE}" "${FLAGS_from}/chromiumos_test_image.bin"
|
| +
|
| + # Check for manufacturing image.
|
| + if [ ${FLAGS_factory} -eq ${FLAGS_TRUE} ] ; then
|
| + FACTORY_ARGS="--factory"
|
| + fi
|
| + # Check for yes
|
| + if [ ${FLAGS_yes} -eq ${FLAGS_TRUE} ] ; then
|
| + YES="--yes"
|
| + fi
|
| +
|
| +
|
| # Modify it.
|
| "${SCRIPTS_DIR}/mod_image_for_test.sh" --image \
|
| - "${FLAGS_from}/chromiumos_test_image.bin" --yes
|
| + "${FLAGS_from}/chromiumos_test_image.bin" ${FACTORY_ARGS} ${YES}
|
| + echo "Done with mod_image_for_test."
|
| + else
|
| + echo "Using cached test image."
|
| fi
|
| - # Use it.
|
| SRC_IMAGE="${FLAGS_from}/chromiumos_test_image.bin"
|
| + echo "Source test image is: ${SRC_IMAGE}"
|
| fi
|
|
|
| STATEFUL_DIR="${FLAGS_from}/stateful_partition"
|
| @@ -140,6 +170,8 @@ if [ ${FLAGS_install_autotest} -eq ${FLAGS_TRUE} ] ; then
|
| echo "Install autotest into stateful partition..."
|
| autotest_client="/home/autotest-client"
|
| sudo mkdir -p "${stateful_root}${autotest_client}"
|
| + sudo ln -sf /mnt/stateful_partition/dev_image${autotest_client} \
|
| + ${stateful_root}/autotest
|
|
|
| sudo cp -fpru ${AUTOTEST_SRC}/client/* \
|
| "${stateful_root}/${autotest_client}"
|
| @@ -152,7 +184,7 @@ if [ ${FLAGS_install_autotest} -eq ${FLAGS_TRUE} ] ; then
|
| rmdir "${STATEFUL_DIR}"
|
| else
|
| echo "/usr/local/autotest under ${DEFAULT_CHROOT_DIR} is not installed."
|
| - echo "Please call make_autotest.sh inside chroot first."
|
| + echo "Please call build_autotest.sh inside chroot first."
|
| exit -1
|
| fi
|
| fi
|
| @@ -166,7 +198,7 @@ then
|
|
|
| # Warn if it looks like they supplied a partition as the destination.
|
| if echo "${FLAGS_to}" | grep -q '[0-9]$'; then
|
| - local drive=$(echo "${FLAGS_to}" | sed -re 's/[0-9]+$//')
|
| + drive=$(echo "${FLAGS_to}" | sed -re 's/[0-9]+$//')
|
| if [ -b "${drive}" ]; then
|
| echo
|
| echo "NOTE: It looks like you may have supplied a partition as the "
|
|
|