| Index: image_to_live.sh | 
| diff --git a/image_to_live.sh b/image_to_live.sh | 
| index a8ce40c6b619ca731d144a882b5ae0f013e9ab4c..79e15b1f35a62bb6038ac992bd846f1f00b61661 100755 | 
| --- a/image_to_live.sh | 
| +++ b/image_to_live.sh | 
| @@ -6,11 +6,28 @@ | 
|  | 
| # Script to update an image onto a live running ChromiumOS instance. | 
|  | 
| -# Load common constants.  This should be the first executable line. | 
| -# The path to common.sh should be relative to your script's location. | 
| +# --- 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 --- | 
|  | 
| -. "$(dirname $0)/common.sh" | 
| -. "$(dirname $0)/remote_access.sh" | 
| +. "${SCRIPT_ROOT}/remote_access.sh" || die "Unable to load remote_access.sh" | 
|  | 
| # Flags to control image_to_live. | 
| DEFINE_boolean ignore_hostname ${FLAGS_TRUE} \ | 
| @@ -130,7 +147,7 @@ function start_dev_server { | 
| # IMAGE_PATH should be the newest image and learn the board from | 
| # the target. | 
| learn_board | 
| -    IMAGE_PATH="$($(dirname "$0")/get_latest_image.sh --board="${FLAGS_board}")" | 
| +    IMAGE_PATH="$(${SCRIPTS_DIR}/get_latest_image.sh --board="${FLAGS_board}")" | 
| IMAGE_PATH="${IMAGE_PATH}/chromiumos_image.bin" | 
| devserver_flags="${devserver_flags} \ | 
| --image $(reinterpret_path_for_chroot ${IMAGE_PATH})" | 
| @@ -160,8 +177,7 @@ function start_dev_server { | 
|  | 
| info "Waiting on devserver to start" | 
| info "note: be patient as the server generates the update before starting." | 
| -  until netstat -anp 2>&1 | grep 0.0.0.0:${FLAGS_devserver_port} > /dev/null | 
| -  do | 
| +  until netstat -anp 2>&1 | grep 0.0.0.0:${FLAGS_devserver_port} > /dev/null; do | 
| sleep 5 | 
| echo -n "." | 
| if ! pgrep -f start_devserver > /dev/null; then | 
| @@ -314,7 +330,7 @@ function run_auto_update { | 
|  | 
| function verify_image { | 
| info "Verifying image." | 
| -  "${SCRIPTS_DIR}/mount_gpt_image.sh" --from "$(dirname ${IMAGE_PATH})" \ | 
| +  "${SCRIPTS_DIR}/mount_gpt_image.sh" --from "$(dirname "${IMAGE_PATH}")" \ | 
| --image "$(basename ${IMAGE_PATH})" \ | 
| --read_only | 
|  | 
| @@ -345,7 +361,7 @@ function find_root_dev { | 
| function main() { | 
| assert_outside_chroot | 
|  | 
| -  cd $(dirname "$0") | 
| +  cd "${SCRIPTS_DIR}" | 
|  | 
| FLAGS "$@" || exit 1 | 
| eval set -- "${FLAGS_ARGV}" | 
|  |