Index: update_bootloaders.sh |
diff --git a/update_bootloaders.sh b/update_bootloaders.sh |
index 2dbc138bbb5de66a852b44b560bcef806ef275c6..0b34172dcc3bb1305bfbd96f2879fe83db953e32 100755 |
--- a/update_bootloaders.sh |
+++ b/update_bootloaders.sh |
@@ -7,8 +7,33 @@ |
# Helper script that generates the legacy/efi bootloader partitions. |
# It does not populate the templates, but can update a loop device. |
-. "$(dirname "$0")/common.sh" |
-. "$(dirname "$0")/chromeos-common.sh" # installer |
+# --- 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 --- |
+ |
+# Need to be inside the chroot to load chromeos-common.sh |
+assert_inside_chroot |
+ |
+# Load functions and constants for chromeos-install |
+. "/usr/lib/installer/chromeos-common.sh" || \ |
+ die "Unable to load /usr/lib/installer/chromeos-common.sh" |
get_default_board |