| Index: image_to_usb.sh
|
| diff --git a/image_to_usb.sh b/image_to_usb.sh
|
| index b83708d447de16557fb7e7048d1c365f527528cd..0bd67ce5ee40135793b23d07c5f2e5a9e11d884b 100755
|
| --- a/image_to_usb.sh
|
| +++ b/image_to_usb.sh
|
| @@ -36,6 +36,8 @@ DEFINE_string image_name "chromiumos_image.bin" \
|
| "Base name of the image" i
|
| DEFINE_string build_root "/build" \
|
| "The root location for board sysroots."
|
| +DEFINE_boolean install ${FLAGS_FALSE} "Install to the usb device."
|
| +DEFINE_string arch "" "Architecture of the image."
|
|
|
| # Parse command line
|
| FLAGS "$@" || exit 1
|
| @@ -70,6 +72,12 @@ if [ -z ${FLAGS_from} ] && [ -z ${FLAGS_board} ] ; then
|
| exit 1
|
| fi
|
|
|
| +# No board set during install
|
| +if [ -z "${FLAGS_board}" ] && [ ${FLAGS_install} -eq ${FLAGS_TRUE} ]; then
|
| + setup_board_warning
|
| + exit 1
|
| +fi
|
| +
|
| # We have a board name but no image set. Use image at default location
|
| if [ -z "${FLAGS_from}" ]; then
|
| IMAGES_DIR="${DEFAULT_BUILD_ROOT}/images/${FLAGS_board}"
|
| @@ -96,6 +104,15 @@ if [ "${FLAGS_to}" == "/dev/sdX" ]; then
|
| exit 1
|
| fi
|
|
|
| +# Guess ARCH if it's unset
|
| +if [ "${FLAGS_arch}" = "" ]; then
|
| + if echo "${FLAGS_board}" | grep -qs "x86"; then
|
| + FLAGS_arch=INTEL
|
| + else
|
| + FLAGS_arch=ARM
|
| + fi
|
| +fi
|
| +
|
| # Convert args to paths. Need eval to un-quote the string so that shell
|
| # chars like ~ are processed; just doing FOO=`readlink -f ${FOO}` won't work.
|
| FLAGS_from=`eval readlink -f ${FLAGS_from}`
|
| @@ -169,7 +186,11 @@ fi
|
| if [ -b "${FLAGS_to}" ]
|
| then
|
| # Output to a block device (i.e., a real USB key), so need sudo dd
|
| - echo "Copying USB image ${SRC_IMAGE} to device ${FLAGS_to}..."
|
| + if [ ${FLAGS_install} -ne ${FLAGS_TRUE} ]; then
|
| + echo "Copying USB image ${SRC_IMAGE} to device ${FLAGS_to}..."
|
| + else
|
| + echo "Installing USB image ${SRC_IMAGE} to device ${FLAGS_to}..."
|
| + fi
|
|
|
| # Warn if it looks like they supplied a partition as the destination.
|
| if echo "${FLAGS_to}" | grep -q '[0-9]$'; then
|
| @@ -213,10 +234,28 @@ then
|
| done
|
| sleep 3
|
|
|
| - echo "Copying ${SRC_IMAGE} to ${FLAGS_to}..."
|
| - sudo dd if="${SRC_IMAGE}" of="${FLAGS_to}" bs=4M
|
| - sync
|
| -
|
| + if [ ${FLAGS_install} -ne ${FLAGS_TRUE} ]; then
|
| + echo "Copying ${SRC_IMAGE} to ${FLAGS_to}..."
|
| + sudo dd if="${SRC_IMAGE}" of="${FLAGS_to}" bs=4M
|
| + sync
|
| + else
|
| + if [ ${INSIDE_CHROOT} -ne 1 ]; then
|
| + echo "Installation must be done from inside the chroot."
|
| + exit 1
|
| + fi
|
| + #TODO(kwaters): fix when verified root works on ARM
|
| + [ "${FLAGS_arch}" = "ARM" ] && SKIP_VBLOCK="--skip_vblock"
|
| +
|
| + echo "Installing ${SRC_IMAGE} to ${FLAGS_to}..."
|
| + "${FLAGS_build_root}/${FLAGS_board}/usr/sbin/chromeos-install" \
|
| + --yes \
|
| + --skip_src_removable \
|
| + --skip_dst_removable \
|
| + ${SKIP_VBLOCK:-} \
|
| + --arch="${FLAGS_arch}" \
|
| + --payload_image="${SRC_IMAGE}" \
|
| + --dst="${FLAGS_to}"
|
| + fi
|
| echo "Done."
|
| else
|
| # Output to a file, so just make a copy.
|
|
|