| Index: mod_image_for_recovery.sh | 
| diff --git a/mod_image_for_recovery.sh b/mod_image_for_recovery.sh | 
| index 2d6e03151bdf6ce821aa684e8553a2b513ae38f1..4119e59afe7d26157dddf522af6820bccf710298 100755 | 
| --- a/mod_image_for_recovery.sh | 
| +++ b/mod_image_for_recovery.sh | 
| @@ -9,19 +9,37 @@ | 
| # kernel.  Alternatively, a signed recovery kernel can be used to | 
| # create a Chromium OS recovery 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 | 
| +} | 
|  | 
| -# Load functions and constants for chromeos-install | 
| -. "$(dirname "$0")/chromeos-common.sh" | 
| +find_common_sh | 
| +. "${SCRIPT_ROOT}/common.sh" || (echo "Unable to load common.sh" && exit 1) | 
| +# --- END COMMON.SH BOILERPLATE --- | 
|  | 
| -# For update_partition_table | 
| -. "$(dirname "$0")/resize_stateful_partition.sh" | 
| +# 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" | 
|  | 
| -# We need to be in the chroot to emerge test packages. | 
| -assert_inside_chroot | 
| +# For update_partition_table | 
| +. "${SCRIPT_ROOT}/resize_stateful_partition.sh" || \ | 
| +  die "Unable to load ${SCRIPT_ROOT}/resize_stateful_partition.sh" | 
|  | 
| get_default_board | 
|  | 
| @@ -371,7 +389,7 @@ RECOVERY_KERNEL_IMAGE=\ | 
| "${FLAGS_kernel_outfile:-${IMAGE_DIR}/recovery_vmlinuz.image}" | 
| RECOVERY_KERNEL_VBLOCK="${RECOVERY_KERNEL_IMAGE}.vblock" | 
| STATEFUL_DIR="$IMAGE_DIR/stateful_partition" | 
| -SCRIPTS_DIR=$(dirname "$0") | 
| +SCRIPTS_DIR=${SCRIPT_ROOT} | 
|  | 
| # Mounts gpt image and sets up var, /usr/local and symlinks. | 
| # If there's a dev payload, mount stateful | 
|  |