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