Index: build_image |
diff --git a/build_image b/build_image |
index c53793d9ad5b7a669c109ae38d6be7d2dbc864ec..2dc7c7887bc20feeaadd4dc89f2f4e80a059cf66 100755 |
--- a/build_image |
+++ b/build_image |
@@ -9,15 +9,39 @@ |
# the given target's root with binary packages turned on. This script will |
# build the Chrome OS image using only pre-built binary packages. |
-# 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 |
+[ -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" |
-. "$(dirname "$0")/chromeos-common.sh" # for partoffset |
locate_gpt |
# Script must be run inside the chroot. |
-restart_in_chroot_if_needed $* |
+restart_in_chroot_if_needed "$@" |
get_default_board |