Index: bin/cros_sign_to_ssd |
diff --git a/bin/cros_sign_to_ssd b/bin/cros_sign_to_ssd |
index d961de1a37b4c69103380eb491068e6033382a95..64960cef721954ef45af0ec335190d20c3aee210 100755 |
--- a/bin/cros_sign_to_ssd |
+++ b/bin/cros_sign_to_ssd |
@@ -7,11 +7,33 @@ |
# Script to resign the kernel partition generated in the output of build_image |
# with SSD keys. |
-# 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 --- |
+ |
+# Need to be inside the chroot to load chromeos-common.sh |
+assert_inside_chroot |
-. "$(dirname "$0")/../chromeos-common.sh" # for partoffset and partsize |
+# Load functions and constants for chromeos-install |
+. "/usr/lib/installer/chromeos-common.sh" || \ |
+ die "Unable to load /usr/lib/installer/chromeos-common.sh" |
locate_gpt |
@@ -44,7 +66,7 @@ fi |
# ../../tests/devkeys/ \ |
# /.../build/images/x86-mario/0.8.68.2/chromiumos_test_ssd_image.bin |
-VBOOT_DIR="$(dirname "$0")/../../platform/vboot_reference" |
+VBOOT_DIR="${SRC_ROOT}/platform/vboot_reference" |
if [ ! -d "${VBOOT_DIR}" ]; then |
die "VBOOT DIR NOT FOUND at \'${VBOOT_DIR}\' .." |
fi |