| OLD | NEW |
| 1 #!/bin/bash | 1 #!/bin/bash |
| 2 | 2 |
| 3 # Copyright (c) 2009 The Chromium OS Authors. All rights reserved. | 3 # Copyright (c) 2009 The Chromium OS Authors. All rights reserved. |
| 4 # Use of this source code is governed by a BSD-style license that can be | 4 # Use of this source code is governed by a BSD-style license that can be |
| 5 # found in the LICENSE file. | 5 # found in the LICENSE file. |
| 6 | 6 |
| 7 # Script to convert the output of build_image.sh to a usb image. | 7 # Script to convert the output of build_image.sh to a usb image. |
| 8 | 8 |
| 9 # Load common constants. This should be the first executable line. | 9 # Load common constants. This should be the first executable line. |
| 10 # The path to common.sh should be relative to your script's location. | 10 # The path to common.sh should be relative to your script's location. |
| (...skipping 30 matching lines...) Expand all Loading... |
| 41 SYSROOT="${FLAGS_build_root}/${FLAGS_board}" | 41 SYSROOT="${FLAGS_build_root}/${FLAGS_board}" |
| 42 else | 42 else |
| 43 SYSROOT="${DEFAULT_CHROOT_DIR}${FLAGS_build_root}/${FLAGS_board}" | 43 SYSROOT="${DEFAULT_CHROOT_DIR}${FLAGS_build_root}/${FLAGS_board}" |
| 44 fi | 44 fi |
| 45 AUTOTEST_SRC="${SYSROOT}/usr/local/autotest" | 45 AUTOTEST_SRC="${SYSROOT}/usr/local/autotest" |
| 46 | 46 |
| 47 # Die on any errors. | 47 # Die on any errors. |
| 48 set -e | 48 set -e |
| 49 | 49 |
| 50 # No board, no default and no image set then we can't find the image | 50 # No board, no default and no image set then we can't find the image |
| 51 if [ -z ${FLAGS_from} ] && [ -z ${FLAGS_board} ] ; then | 51 if [ -z ${FLAGS_from} ] && [ -z ${FLAGS_board} ] ; then |
| 52 setup_board_warning | 52 setup_board_warning |
| 53 exit 1 | 53 exit 1 |
| 54 fi | 54 fi |
| 55 | 55 |
| 56 # We have a board name but no image set. Use image at default location | 56 # We have a board name but no image set. Use image at default location |
| 57 if [ -z "${FLAGS_from}" ]; then | 57 if [ -z "${FLAGS_from}" ]; then |
| 58 IMAGES_DIR="${DEFAULT_BUILD_ROOT}/images/${FLAGS_board}" | 58 IMAGES_DIR="${DEFAULT_BUILD_ROOT}/images/${FLAGS_board}" |
| 59 FLAGS_from="${IMAGES_DIR}/$(ls -t ${IMAGES_DIR} 2>&-| head -1)" | 59 FLAGS_from="${IMAGES_DIR}/$(ls -t ${IMAGES_DIR} 2>&-| head -1)" |
| 60 fi | 60 fi |
| 61 | 61 |
| (...skipping 21 matching lines...) Expand all Loading... |
| 83 # chars like ~ are processed; just doing FOO=`readlink -f ${FOO}` won't work. | 83 # chars like ~ are processed; just doing FOO=`readlink -f ${FOO}` won't work. |
| 84 FLAGS_from=`eval readlink -f ${FLAGS_from}` | 84 FLAGS_from=`eval readlink -f ${FLAGS_from}` |
| 85 FLAGS_to=`eval readlink -f ${FLAGS_to}` | 85 FLAGS_to=`eval readlink -f ${FLAGS_to}` |
| 86 | 86 |
| 87 # Use this image as the source image to copy | 87 # Use this image as the source image to copy |
| 88 SRC_IMAGE="${FLAGS_from}/chromiumos_image.bin" | 88 SRC_IMAGE="${FLAGS_from}/chromiumos_image.bin" |
| 89 | 89 |
| 90 # If we're asked to modify the image for test, then let's make a copy and | 90 # If we're asked to modify the image for test, then let's make a copy and |
| 91 # modify that instead. | 91 # modify that instead. |
| 92 if [ ${FLAGS_test_image} -eq ${FLAGS_TRUE} ] ; then | 92 if [ ${FLAGS_test_image} -eq ${FLAGS_TRUE} ] ; then |
| 93 # Copy it. | 93 if [ ! -f "${FLAGS_from}/chromiumos_test_image.bin" ] ; then |
| 94 echo "Creating test image from original..." | 94 # Copy it. |
| 95 cp -f "${SRC_IMAGE}" "${FLAGS_from}/chromiumos_test_image.bin" | 95 echo "Creating test image from original..." |
| 96 cp -f "${SRC_IMAGE}" "${FLAGS_from}/chromiumos_test_image.bin" |
| 97 # Modify it. |
| 98 "${SCRIPTS_DIR}/mod_image_for_test.sh" --image \ |
| 99 "${FLAGS_from}/chromiumos_test_image.bin" |
| 100 fi |
| 96 # Use it. | 101 # Use it. |
| 97 SRC_IMAGE="${FLAGS_from}/chromiumos_test_image.bin" | 102 SRC_IMAGE="${FLAGS_from}/chromiumos_test_image.bin" |
| 98 # Modify it. | |
| 99 "${SCRIPTS_DIR}/mod_image_for_test.sh" --image "${SRC_IMAGE}" | |
| 100 fi | 103 fi |
| 101 | 104 |
| 102 STATEFUL_DIR="${FLAGS_from}/stateful_partition" | 105 STATEFUL_DIR="${FLAGS_from}/stateful_partition" |
| 103 mkdir -p "${STATEFUL_DIR}" | 106 mkdir -p "${STATEFUL_DIR}" |
| 104 | 107 |
| 105 function do_cleanup { | 108 function do_cleanup { |
| 106 echo "Cleaning loopback devices: ${STATEFUL_LOOP_DEV}" | 109 echo "Cleaning loopback devices: ${STATEFUL_LOOP_DEV}" |
| 107 if [ "${STATEFUL_LOOP_DEV}" != "" ]; then | 110 if [ "${STATEFUL_LOOP_DEV}" != "" ]; then |
| 108 sudo umount "${STATEFUL_DIR}" | 111 sudo umount "${STATEFUL_DIR}" |
| 109 sudo losetup -d "${STATEFUL_LOOP_DEV}" | 112 sudo losetup -d "${STATEFUL_LOOP_DEV}" |
| (...skipping 22 matching lines...) Expand all Loading... |
| 132 echo "Mounting ${STATEFUL_DIR} loopback" | 135 echo "Mounting ${STATEFUL_DIR} loopback" |
| 133 sudo losetup -o $(( $offset * 512 )) "${stateful_loop_dev}" "${SRC_IMAGE}" | 136 sudo losetup -o $(( $offset * 512 )) "${stateful_loop_dev}" "${SRC_IMAGE}" |
| 134 sudo mount "${stateful_loop_dev}" "${STATEFUL_DIR}" | 137 sudo mount "${stateful_loop_dev}" "${STATEFUL_DIR}" |
| 135 stateful_root="${STATEFUL_DIR}/dev_image" | 138 stateful_root="${STATEFUL_DIR}/dev_image" |
| 136 | 139 |
| 137 echo "Install autotest into stateful partition..." | 140 echo "Install autotest into stateful partition..." |
| 138 autotest_client="/home/autotest-client" | 141 autotest_client="/home/autotest-client" |
| 139 sudo mkdir -p "${stateful_root}${autotest_client}" | 142 sudo mkdir -p "${stateful_root}${autotest_client}" |
| 140 | 143 |
| 141 sudo cp -fpru ${AUTOTEST_SRC}/client/* \ | 144 sudo cp -fpru ${AUTOTEST_SRC}/client/* \ |
| 142 » "${stateful_root}/${autotest_client}" | 145 "${stateful_root}/${autotest_client}" |
| 143 sudo chmod 755 "${stateful_root}/${autotest_client}" | 146 sudo chmod 755 "${stateful_root}/${autotest_client}" |
| 144 sudo chown -R 1000:1000 "${stateful_root}/${autotest_client}" | 147 sudo chown -R 1000:1000 "${stateful_root}/${autotest_client}" |
| 145 | 148 |
| 146 sudo umount ${STATEFUL_DIR} | 149 sudo umount ${STATEFUL_DIR} |
| 147 sudo losetup -d "${stateful_loop_dev}" | 150 sudo losetup -d "${stateful_loop_dev}" |
| 148 trap - INT TERM EXIT | 151 trap - INT TERM EXIT |
| 149 rmdir "${STATEFUL_DIR}" | 152 rmdir "${STATEFUL_DIR}" |
| 150 else | 153 else |
| 151 echo "/usr/local/autotest under ${DEFAULT_CHROOT_DIR} is not installed." | 154 echo "/usr/local/autotest under ${DEFAULT_CHROOT_DIR} is not installed." |
| 152 echo "Please call make_autotest.sh inside chroot first." | 155 echo "Please call make_autotest.sh inside chroot first." |
| 153 exit -1 | 156 exit -1 |
| 154 fi | 157 fi |
| 155 fi | 158 fi |
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 207 echo " sudo dd if=${FLAGS_to} of=/dev/sdb bs=4M" | 210 echo " sudo dd if=${FLAGS_to} of=/dev/sdb bs=4M" |
| 208 echo "where /dev/sdb is the entire keyfob." | 211 echo "where /dev/sdb is the entire keyfob." |
| 209 if [ ${INSIDE_CHROOT} -eq 1 ] | 212 if [ ${INSIDE_CHROOT} -eq 1 ] |
| 210 then | 213 then |
| 211 example=$(basename "${FLAGS_to}") | 214 example=$(basename "${FLAGS_to}") |
| 212 echo "NOTE: Since you are currently inside the chroot, and you'll need to" | 215 echo "NOTE: Since you are currently inside the chroot, and you'll need to" |
| 213 echo "run dd outside the chroot, the path to the USB image will be" | 216 echo "run dd outside the chroot, the path to the USB image will be" |
| 214 echo "different (ex: ~/chromeos/trunk/src/build/images/SOME_DIR/$example)." | 217 echo "different (ex: ~/chromeos/trunk/src/build/images/SOME_DIR/$example)." |
| 215 fi | 218 fi |
| 216 fi | 219 fi |
| OLD | NEW |