| Index: src/scripts/image_to_usb.sh
 | 
| diff --git a/src/scripts/image_to_usb.sh b/src/scripts/image_to_usb.sh
 | 
| index 1724e5ecea92d1692273f0aaf9b6cc64eb912d57..693a50bd5b8657ed2d28ab2b37555e8895e90e70 100755
 | 
| --- a/src/scripts/image_to_usb.sh
 | 
| +++ b/src/scripts/image_to_usb.sh
 | 
| @@ -24,6 +24,8 @@ DEFINE_boolean copy_kernel ${FLAGS_FALSE} \
 | 
|    "Copy the kernel to the fourth partition."
 | 
|  DEFINE_boolean test_image "${FLAGS_FALSE}" \
 | 
|    "Uses test image if available, otherwise creates one as rootfs_test.image."
 | 
| +DEFINE_string build_root "/build" \
 | 
| +  "The root location for board sysroots."
 | 
|  
 | 
|  # Parse command line
 | 
|  FLAGS "$@" || exit 1
 | 
| @@ -33,10 +35,11 @@ eval set -- "${FLAGS_ARGV}"
 | 
|  # Script can be run either inside or outside the chroot.
 | 
|  if [ ${INSIDE_CHROOT} -eq 1 ]
 | 
|  then
 | 
| -  AUTOTEST_SRC="/usr/local/autotest/${FLAGS_board}"
 | 
| +  SYSROOT="${FLAGS_build_root}/${FLAGS_board}"
 | 
|  else
 | 
| -  AUTOTEST_SRC="${DEFAULT_CHROOT_DIR}/usr/local/autotest/${FLAGS_board}"
 | 
| +  SYSROOT="${DEFAULT_CHROOT_DIR}${FLAGS_build_root}/${FLAGS_board}"
 | 
|  fi
 | 
| +AUTOTEST_SRC="${SYSROOT}/usr/local/autotest"
 | 
|  
 | 
|  # Die on any errors.
 | 
|  set -e
 | 
| @@ -97,10 +100,12 @@ if [ ! -f "${STATEFUL_IMG}" ] ; then
 | 
|    dd if=/dev/zero of="${STATEFUL_IMG}" bs=1 count=1 \
 | 
|        seek=$(( (${PART_SIZE} - 1) ))
 | 
|    set +x
 | 
| +  trap do_cleanup INT TERM EXIT
 | 
|    sudo losetup "$STATEFUL_LOOP_DEV" "$STATEFUL_IMG"
 | 
|    sudo mkfs.ext3 "$STATEFUL_LOOP_DEV"
 | 
|    sudo tune2fs -L "C-STATE" -c 0 -i 0 "$STATEFUL_LOOP_DEV"
 | 
|    sudo losetup -d "${STATEFUL_LOOP_DEV}"
 | 
| +  trap - INT TERM EXIT
 | 
|  fi
 | 
|  
 | 
|  # Modifies image for test if requested
 | 
| @@ -116,10 +121,16 @@ if [ ${FLAGS_test_image} -eq ${FLAGS_TRUE} ] ; then
 | 
|  fi
 | 
|  
 | 
|  function do_cleanup {
 | 
| -  sudo losetup -d "${LOOP_DEV}"
 | 
| +  echo "Cleaning loopback devices: ${STATEFUL_LOOP_DEV}"
 | 
| +  if [ "${STATEFUL_LOOP_DEV}" != "" ]; then
 | 
| +    sudo umount "${STATEFUL_DIR}"
 | 
| +    sudo losetup -d "${STATEFUL_LOOP_DEV}"
 | 
| +    echo "Cleaned"
 | 
| +  fi
 | 
|  }
 | 
|  
 | 
|  function install_autotest {
 | 
| +  echo "Detecting autotest at ${AUTOTEST_SRC}"
 | 
|    if [ -d ${AUTOTEST_SRC} ]
 | 
|    then
 | 
|      local stateful_loop_dev=$(sudo losetup -f)
 | 
| @@ -128,23 +139,26 @@ function install_autotest {
 | 
|        echo "No free loop device. Free up a loop device or reboot. exiting."
 | 
|        exit 1
 | 
|      fi
 | 
| -    
 | 
| +    trap do_cleanup INT TERM EXIT
 | 
| +    STATEFUL_LOOP_DEV=$stateful_loop_dev
 | 
| +    echo "Mounting ${STATEFUL_DIR} loopback"
 | 
| +    sudo losetup "${stateful_loop_dev}" "${STATEFUL_DIR}.image"
 | 
|      sudo mount "${stateful_loop_dev}" "${STATEFUL_DIR}"
 | 
|  
 | 
|      echo -ne "Install autotest into stateful partition..."
 | 
| -	  local autotest_client="/home/autotest-client"
 | 
| +    local autotest_client="/home/autotest-client"
 | 
|      sudo mkdir -p "${STATEFUL_DIR}${autotest_client}"
 | 
|      sudo cp -fpru ${AUTOTEST_SRC}/client/* \
 | 
| -	    "${STATEFUL_DIR}${autotest_client}"
 | 
| +        "${STATEFUL_DIR}${autotest_client}"
 | 
|      sudo chmod 755 "${STATEFUL_DIR}${autotest_client}"
 | 
|      sudo chown -R 1000:1000 "${STATEFUL_DIR}${autotest_client}"
 | 
| -    
 | 
| +
 | 
|      sudo umount ${STATEFUL_DIR}
 | 
| -    sudo losetup -d "${stateful_loop_dev}"    
 | 
| +    sudo losetup -d "${stateful_loop_dev}"
 | 
| +    trap - INT TERM EXIT
 | 
|    else
 | 
|      echo "/usr/local/autotest under ${DEFAULT_CHROOT_DIR} is not installed."
 | 
|      echo "Please call make_autotest.sh inside chroot first."
 | 
| -    sudo umount "${STATEFUL_DIR}"
 | 
|      exit -1
 | 
|    fi
 | 
|  }
 | 
| @@ -187,11 +201,11 @@ then
 | 
|      ! sudo umount "$i"
 | 
|    done
 | 
|    sleep 3
 | 
| - 
 | 
| +
 | 
|    if [ ${FLAGS_install_autotest} -eq ${FLAGS_TRUE} ] ; then
 | 
|      install_autotest
 | 
|    fi
 | 
| - 
 | 
| +
 | 
|    # Write stateful partition to first partition. 
 | 
|    echo "Copying stateful partition ..."
 | 
|    sudo "${SCRIPTS_DIR}"/file_copy.py \
 | 
| @@ -203,7 +217,7 @@ then
 | 
|    sudo "${SCRIPTS_DIR}"/file_copy.py \
 | 
|        if="${ROOTFS_IMAGE}" of="${FLAGS_to}" bs=4M \
 | 
|        seek_bytes=$(( (${PART_SIZE} * 2) + 512 ))
 | 
| -  
 | 
| +
 | 
|    trap - EXIT
 | 
|  
 | 
|    if [ ${FLAGS_copy_kernel} -eq ${FLAGS_TRUE} ]
 | 
| 
 |