| Index: image_to_usb.sh
|
| diff --git a/image_to_usb.sh b/image_to_usb.sh
|
| index 19eefb1f63f6cb1ee95972984b0d17b18995aa63..db5bd9878720b0ea529e52f007405ceb0828d41b 100755
|
| --- a/image_to_usb.sh
|
| +++ b/image_to_usb.sh
|
| @@ -6,12 +6,34 @@
|
|
|
| # Script to convert the output of build_image.sh to a usb image.
|
|
|
| -# Load common constants. This should be the first executable line.
|
| -# The path to common.sh should be relative to your script's location.
|
| -. "$(dirname "$0")/common.sh"
|
| +# --- BEGIN COMMON.SH BOILERPLATE ---
|
| +# Load common CrOS utilities. Inside the chroot this file is installed in
|
| +# /usr/lib/crosutils. Outside the chroot we find it relative to the script's
|
| +# location.
|
| +find_common_sh() {
|
| + local common_paths=(/usr/lib/crosutils $(dirname "$(readlink -f "$0")"))
|
| + local path
|
| +
|
| + SCRIPT_ROOT=
|
| + for path in "${common_paths[@]}"; do
|
| + if [ -r "${path}/common.sh" ]; then
|
| + SCRIPT_ROOT=${path}
|
| + break
|
| + fi
|
| + done
|
| +}
|
| +
|
| +find_common_sh
|
| +. "${SCRIPT_ROOT}/common.sh" || (echo "Unable to load common.sh" && exit 1)
|
| +# --- END COMMON.SH BOILERPLATE ---
|
|
|
| # Load functions and constants for chromeos-install
|
| -. "$(dirname "$0")/chromeos-common.sh"
|
| +[ -f /usr/lib/installer/chromeos-common.sh ] && \
|
| + INSTALLER_ROOT=/usr/lib/installer || \
|
| + INSTALLER_ROOT=$(dirname "$(readlink -f "$0")")
|
| +
|
| +. "${INSTALLER_ROOT}/chromeos-common.sh" || \
|
| + die "Unable to load chromeos-common.sh"
|
|
|
| get_default_board
|
|
|
| @@ -183,8 +205,7 @@ fi
|
|
|
|
|
| # Let's do it.
|
| -if [ -b "${FLAGS_to}" ]
|
| -then
|
| +if [ -b "${FLAGS_to}" ]; then
|
| # Output to a block device (i.e., a real USB key), so need sudo dd
|
| if [ ${FLAGS_install} -ne ${FLAGS_TRUE} ]; then
|
| echo "Copying USB image ${SRC_IMAGE} to device ${FLAGS_to}..."
|
| @@ -205,24 +226,21 @@ then
|
| fi
|
|
|
| # Make sure this is really what the user wants, before nuking the device
|
| - if [ ${FLAGS_yes} -ne ${FLAGS_TRUE} ]
|
| - then
|
| + if [ ${FLAGS_yes} -ne ${FLAGS_TRUE} ]; then
|
| sudo fdisk -l "${FLAGS_to}" 2>/dev/null | grep Disk | head -1
|
| [ -n "$disk_manufacturer" ] && echo "Manufacturer: $disk_manufacturer"
|
| [ -n "$disk_product" ] && echo "Product: $disk_product"
|
| echo "This will erase all data on this device:"
|
| read -p "Are you sure (y/N)? " SURE
|
| SURE="${SURE:0:1}" # Get just the first character
|
| - if [ "${SURE}" != "y" ]
|
| - then
|
| + if [ "${SURE}" != "y" ]; then
|
| echo "Ok, better safe than sorry."
|
| exit 1
|
| fi
|
| fi
|
|
|
| echo "Attempting to unmount any mounts on the USB device..."
|
| - for i in $(mount | grep ^"${FLAGS_to}" | awk '{print $1}')
|
| - do
|
| + for i in $(mount | grep ^"${FLAGS_to}" | awk '{print $1}'); do
|
| if sudo umount "$i" 2>&1 >/dev/null | grep "not found"; then
|
| echo
|
| echo "The device you have specified is already mounted at some point "
|
|
|