Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(207)

Side by Side Diff: src/scripts/image_to_usb.sh

Issue 1780011: Skip dropping caches in each test and between iterations during factory tests. (Closed) Base URL: ssh://git@chromiumos-git/chromiumos
Patch Set: fix bug Created 10 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | src/scripts/mod_for_factory_scripts/400configAutotest » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
83 fi 83 fi
84 84
85 # Convert args to paths. Need eval to un-quote the string so that shell 85 # Convert args to paths. Need eval to un-quote the string so that shell
86 # chars like ~ are processed; just doing FOO=`readlink -f ${FOO}` won't work. 86 # chars like ~ are processed; just doing FOO=`readlink -f ${FOO}` won't work.
87 FLAGS_from=`eval readlink -f ${FLAGS_from}` 87 FLAGS_from=`eval readlink -f ${FLAGS_from}`
88 FLAGS_to=`eval readlink -f ${FLAGS_to}` 88 FLAGS_to=`eval readlink -f ${FLAGS_to}`
89 89
90 # Use this image as the source image to copy 90 # Use this image as the source image to copy
91 SRC_IMAGE="${FLAGS_from}/chromiumos_image.bin" 91 SRC_IMAGE="${FLAGS_from}/chromiumos_image.bin"
92 92
93 # If we're asked to modify the image for test, then let's make a copy and
94 # modify that instead.
95 if [ ${FLAGS_test_image} -eq ${FLAGS_TRUE} ] ; then
96 if [ ! -f "${FLAGS_from}/chromiumos_test_image.bin" ] || \
97 [ ${FLAGS_force_copy} -eq ${FLAGS_TRUE} ] ; then
98 # Copy it.
99 echo "Creating test image from original..."
100 cp -f "${SRC_IMAGE}" "${FLAGS_from}/chromiumos_test_image.bin"
101
102 # Check for manufacturing image.
103 if [ ${FLAGS_factory} -eq ${FLAGS_TRUE} ] ; then
104 FACTORY_ARGS="--factory"
105 fi
106
107 # Modify it. Pass --yes so that mod_image_for_test.sh won't ask us if we
108 # really want to modify the image; the user gave their assent already with
109 # --test-image and the original image is going to be preserved.
110 "${SCRIPTS_DIR}/mod_image_for_test.sh" --image \
111 "${FLAGS_from}/chromiumos_test_image.bin" ${FACTORY_ARGS} --yes
112 echo "Done with mod_image_for_test."
113 else
114 echo "Using cached test image."
115 fi
116 SRC_IMAGE="${FLAGS_from}/chromiumos_test_image.bin"
117 echo "Source test image is: ${SRC_IMAGE}"
118 fi
119
120 STATEFUL_DIR="${FLAGS_from}/stateful_partition" 93 STATEFUL_DIR="${FLAGS_from}/stateful_partition"
121 mkdir -p "${STATEFUL_DIR}" 94 mkdir -p "${STATEFUL_DIR}"
122 95
123 function do_cleanup { 96 function do_cleanup {
124 echo "Cleaning loopback devices: ${STATEFUL_LOOP_DEV}" 97 echo "Cleaning loopback devices: ${STATEFUL_LOOP_DEV}"
125 if [ "${STATEFUL_LOOP_DEV}" != "" ]; then 98 if [ "${STATEFUL_LOOP_DEV}" != "" ]; then
126 sudo umount "${STATEFUL_DIR}" 99 sudo umount "${STATEFUL_DIR}"
127 sudo losetup -d "${STATEFUL_LOOP_DEV}" 100 sudo losetup -d "${STATEFUL_LOOP_DEV}"
128 rmdir "${STATEFUL_DIR}" 101 rmdir "${STATEFUL_DIR}"
129 echo "Cleaned" 102 echo "Cleaned"
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
168 trap - INT TERM EXIT 141 trap - INT TERM EXIT
169 rmdir "${STATEFUL_DIR}" 142 rmdir "${STATEFUL_DIR}"
170 else 143 else
171 echo "/usr/local/autotest under ${DEFAULT_CHROOT_DIR} is not installed." 144 echo "/usr/local/autotest under ${DEFAULT_CHROOT_DIR} is not installed."
172 echo "Please call build_autotest.sh inside chroot first." 145 echo "Please call build_autotest.sh inside chroot first."
173 exit -1 146 exit -1
174 fi 147 fi
175 fi 148 fi
176 149
177 150
151 # If we're asked to modify the image for test, then let's make a copy and
152 # modify that instead.
153 if [ ${FLAGS_test_image} -eq ${FLAGS_TRUE} ] ; then
154 if [ ! -f "${FLAGS_from}/chromiumos_test_image.bin" ] || \
155 [ ${FLAGS_force_copy} -eq ${FLAGS_TRUE} ] ; then
156 # Copy it.
157 echo "Creating test image from original..."
158 cp -f "${SRC_IMAGE}" "${FLAGS_from}/chromiumos_test_image.bin"
159
160 # Check for manufacturing image.
161 if [ ${FLAGS_factory} -eq ${FLAGS_TRUE} ] ; then
162 FACTORY_ARGS="--factory"
163 fi
164
165 # Modify it. Pass --yes so that mod_image_for_test.sh won't ask us if we
166 # really want to modify the image; the user gave their assent already with
167 # --test-image and the original image is going to be preserved.
168 "${SCRIPTS_DIR}/mod_image_for_test.sh" --image \
169 "${FLAGS_from}/chromiumos_test_image.bin" ${FACTORY_ARGS} --yes
170 echo "Done with mod_image_for_test."
171 else
172 echo "Using cached test image."
173 fi
174 SRC_IMAGE="${FLAGS_from}/chromiumos_test_image.bin"
175 echo "Source test image is: ${SRC_IMAGE}"
176 fi
177
178
178 # Let's do it. 179 # Let's do it.
179 if [ -b "${FLAGS_to}" ] 180 if [ -b "${FLAGS_to}" ]
180 then 181 then
181 # Output to a block device (i.e., a real USB key), so need sudo dd 182 # Output to a block device (i.e., a real USB key), so need sudo dd
182 echo "Copying USB image ${SRC_IMAGE} to device ${FLAGS_to}..." 183 echo "Copying USB image ${SRC_IMAGE} to device ${FLAGS_to}..."
183 184
184 # Warn if it looks like they supplied a partition as the destination. 185 # Warn if it looks like they supplied a partition as the destination.
185 if echo "${FLAGS_to}" | grep -q '[0-9]$'; then 186 if echo "${FLAGS_to}" | grep -q '[0-9]$'; then
186 drive=$(echo "${FLAGS_to}" | sed -re 's/[0-9]+$//') 187 drive=$(echo "${FLAGS_to}" | sed -re 's/[0-9]+$//')
187 if [ -b "${drive}" ]; then 188 if [ -b "${drive}" ]; then
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
227 echo " sudo dd if=${FLAGS_to} of=/dev/sdX bs=4M" 228 echo " sudo dd if=${FLAGS_to} of=/dev/sdX bs=4M"
228 echo "where /dev/sdX is the entire drive." 229 echo "where /dev/sdX is the entire drive."
229 if [ ${INSIDE_CHROOT} -eq 1 ] 230 if [ ${INSIDE_CHROOT} -eq 1 ]
230 then 231 then
231 example=$(basename "${FLAGS_to}") 232 example=$(basename "${FLAGS_to}")
232 echo "NOTE: Since you are currently inside the chroot, and you'll need to" 233 echo "NOTE: Since you are currently inside the chroot, and you'll need to"
233 echo "run dd outside the chroot, the path to the USB image will be" 234 echo "run dd outside the chroot, the path to the USB image will be"
234 echo "different (ex: ~/chromeos/trunk/src/build/images/SOME_DIR/$example)." 235 echo "different (ex: ~/chromeos/trunk/src/build/images/SOME_DIR/$example)."
235 fi 236 fi
236 fi 237 fi
OLDNEW
« no previous file with comments | « no previous file | src/scripts/mod_for_factory_scripts/400configAutotest » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698