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

Side by Side Diff: image_to_usb.sh

Issue 6240018: This starts to fix the scripts so that they load from /usr/lib/crosutils (Closed) Base URL: http://git.chromium.org/git/crosutils.git@master
Patch Set: fixing bad merge Created 9 years, 10 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 | Annotate | Revision Log
« no previous file with comments | « image_to_live.sh ('k') | image_to_virtualbox.sh » ('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 # --- BEGIN COMMON.SH BOILERPLATE ---
10 # The path to common.sh should be relative to your script's location. 10 # Load common CrOS utilities. Inside the chroot this file is installed in
11 . "$(dirname "$0")/common.sh" 11 # /usr/lib/crosutils. Outside the chroot we find it relative to the script's
12 # location.
13 find_common_sh() {
14 local common_paths=(/usr/lib/crosutils $(dirname "$(readlink -f "$0")"))
15 local path
16
17 SCRIPT_ROOT=
18 for path in "${common_paths[@]}"; do
19 if [ -r "${path}/common.sh" ]; then
20 SCRIPT_ROOT=${path}
21 break
22 fi
23 done
24 }
25
26 find_common_sh
27 . "${SCRIPT_ROOT}/common.sh" || (echo "Unable to load common.sh" && exit 1)
28 # --- END COMMON.SH BOILERPLATE ---
12 29
13 # Load functions and constants for chromeos-install 30 # Load functions and constants for chromeos-install
14 . "$(dirname "$0")/chromeos-common.sh" 31 [ -f /usr/lib/installer/chromeos-common.sh ] && \
32 INSTALLER_ROOT=/usr/lib/installer || \
33 INSTALLER_ROOT=$(dirname "$(readlink -f "$0")")
34
35 . "${INSTALLER_ROOT}/chromeos-common.sh" || \
36 die "Unable to load chromeos-common.sh"
15 37
16 get_default_board 38 get_default_board
17 39
18 # Flags 40 # Flags
19 DEFINE_string board "${DEFAULT_BOARD}" "Board for which the image was built" 41 DEFINE_string board "${DEFAULT_BOARD}" "Board for which the image was built"
20 DEFINE_string from "" \ 42 DEFINE_string from "" \
21 "Directory containing chromiumos_image.bin" 43 "Directory containing chromiumos_image.bin"
22 DEFINE_string to "/dev/sdX" "${DEFAULT_TO_HELP}" 44 DEFINE_string to "/dev/sdX" "${DEFAULT_TO_HELP}"
23 DEFINE_boolean yes ${FLAGS_FALSE} "Answer yes to all prompts" "y" 45 DEFINE_boolean yes ${FLAGS_FALSE} "Answer yes to all prompts" "y"
24 DEFINE_boolean force_copy ${FLAGS_FALSE} "Always rebuild test image" 46 DEFINE_boolean force_copy ${FLAGS_FALSE} "Always rebuild test image"
(...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after
176 echo "Done with mod_image_for_test." 198 echo "Done with mod_image_for_test."
177 else 199 else
178 echo "Using cached test image." 200 echo "Using cached test image."
179 fi 201 fi
180 SRC_IMAGE="${FLAGS_from}/chromiumos_test_image.bin" 202 SRC_IMAGE="${FLAGS_from}/chromiumos_test_image.bin"
181 echo "Source test image is: ${SRC_IMAGE}" 203 echo "Source test image is: ${SRC_IMAGE}"
182 fi 204 fi
183 205
184 206
185 # Let's do it. 207 # Let's do it.
186 if [ -b "${FLAGS_to}" ] 208 if [ -b "${FLAGS_to}" ]; then
187 then
188 # Output to a block device (i.e., a real USB key), so need sudo dd 209 # Output to a block device (i.e., a real USB key), so need sudo dd
189 if [ ${FLAGS_install} -ne ${FLAGS_TRUE} ]; then 210 if [ ${FLAGS_install} -ne ${FLAGS_TRUE} ]; then
190 echo "Copying USB image ${SRC_IMAGE} to device ${FLAGS_to}..." 211 echo "Copying USB image ${SRC_IMAGE} to device ${FLAGS_to}..."
191 else 212 else
192 echo "Installing USB image ${SRC_IMAGE} to device ${FLAGS_to}..." 213 echo "Installing USB image ${SRC_IMAGE} to device ${FLAGS_to}..."
193 fi 214 fi
194 215
195 # Warn if it looks like they supplied a partition as the destination. 216 # Warn if it looks like they supplied a partition as the destination.
196 if echo "${FLAGS_to}" | grep -q '[0-9]$'; then 217 if echo "${FLAGS_to}" | grep -q '[0-9]$'; then
197 drive=$(echo "${FLAGS_to}" | sed -re 's/[0-9]+$//') 218 drive=$(echo "${FLAGS_to}" | sed -re 's/[0-9]+$//')
198 if [ -b "${drive}" ]; then 219 if [ -b "${drive}" ]; then
199 echo 220 echo
200 echo "NOTE: It looks like you may have supplied a partition as the " 221 echo "NOTE: It looks like you may have supplied a partition as the "
201 echo "destination. This script needs to write to the drive's device " 222 echo "destination. This script needs to write to the drive's device "
202 echo "node instead (i.e. ${drive} rather than ${FLAGS_to})." 223 echo "node instead (i.e. ${drive} rather than ${FLAGS_to})."
203 echo 224 echo
204 fi 225 fi
205 fi 226 fi
206 227
207 # Make sure this is really what the user wants, before nuking the device 228 # Make sure this is really what the user wants, before nuking the device
208 if [ ${FLAGS_yes} -ne ${FLAGS_TRUE} ] 229 if [ ${FLAGS_yes} -ne ${FLAGS_TRUE} ]; then
209 then
210 sudo fdisk -l "${FLAGS_to}" 2>/dev/null | grep Disk | head -1 230 sudo fdisk -l "${FLAGS_to}" 2>/dev/null | grep Disk | head -1
211 [ -n "$disk_manufacturer" ] && echo "Manufacturer: $disk_manufacturer" 231 [ -n "$disk_manufacturer" ] && echo "Manufacturer: $disk_manufacturer"
212 [ -n "$disk_product" ] && echo "Product: $disk_product" 232 [ -n "$disk_product" ] && echo "Product: $disk_product"
213 echo "This will erase all data on this device:" 233 echo "This will erase all data on this device:"
214 read -p "Are you sure (y/N)? " SURE 234 read -p "Are you sure (y/N)? " SURE
215 SURE="${SURE:0:1}" # Get just the first character 235 SURE="${SURE:0:1}" # Get just the first character
216 if [ "${SURE}" != "y" ] 236 if [ "${SURE}" != "y" ]; then
217 then
218 echo "Ok, better safe than sorry." 237 echo "Ok, better safe than sorry."
219 exit 1 238 exit 1
220 fi 239 fi
221 fi 240 fi
222 241
223 echo "Attempting to unmount any mounts on the USB device..." 242 echo "Attempting to unmount any mounts on the USB device..."
224 for i in $(mount | grep ^"${FLAGS_to}" | awk '{print $1}') 243 for i in $(mount | grep ^"${FLAGS_to}" | awk '{print $1}'); do
225 do
226 if sudo umount "$i" 2>&1 >/dev/null | grep "not found"; then 244 if sudo umount "$i" 2>&1 >/dev/null | grep "not found"; then
227 echo 245 echo
228 echo "The device you have specified is already mounted at some point " 246 echo "The device you have specified is already mounted at some point "
229 echo "that is not visible from inside the chroot. Please unmount the " 247 echo "that is not visible from inside the chroot. Please unmount the "
230 echo "device manually from outside the chroot and try again." 248 echo "device manually from outside the chroot and try again."
231 echo 249 echo
232 exit 1 250 exit 1
233 fi 251 fi
234 done 252 done
235 sleep 3 253 sleep 3
(...skipping 27 matching lines...) Expand all
263 echo "Done." 281 echo "Done."
264 else 282 else
265 # Output to a file, so just make a copy. 283 # Output to a file, so just make a copy.
266 echo "Copying ${SRC_IMAGE} to ${FLAGS_to}..." 284 echo "Copying ${SRC_IMAGE} to ${FLAGS_to}..."
267 cp -f "${SRC_IMAGE}" "${FLAGS_to}" 285 cp -f "${SRC_IMAGE}" "${FLAGS_to}"
268 286
269 echo "Done. To copy to a USB drive, do something like:" 287 echo "Done. To copy to a USB drive, do something like:"
270 echo " sudo dd if=${FLAGS_to} of=/dev/sdX bs=4M oflag=sync" 288 echo " sudo dd if=${FLAGS_to} of=/dev/sdX bs=4M oflag=sync"
271 echo "where /dev/sdX is the entire drive." 289 echo "where /dev/sdX is the entire drive."
272 fi 290 fi
OLDNEW
« no previous file with comments | « image_to_live.sh ('k') | image_to_virtualbox.sh » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698