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 " |