| Index: src/scripts/build_gpt.sh
 | 
| diff --git a/src/scripts/build_gpt.sh b/src/scripts/build_gpt.sh
 | 
| index e10a32a55b54e89847a087bdebbcab5be709efb2..fb96b85846518bfc6ae79b14863babc74d02dbc6 100755
 | 
| --- a/src/scripts/build_gpt.sh
 | 
| +++ b/src/scripts/build_gpt.sh
 | 
| @@ -23,6 +23,8 @@ DEFINE_string board "$DEFAULT_BOARD" \
 | 
|    "The board to build an image for."
 | 
|  DEFINE_string arm_extra_bootargs "" \
 | 
|    "Additional command line options to pass to the ARM kernel."
 | 
| +DEFINE_boolean recovery $FLAGS_FALSE \
 | 
| +  "Build GPT for a recovery image. Default: False."
 | 
|  
 | 
|  # Usage.
 | 
|  FLAGS_HELP=$(cat <<EOF
 | 
| @@ -77,6 +79,8 @@ set -e
 | 
|  set -u
 | 
|  
 | 
|  # Check for missing parts.
 | 
| +# For recovery image, only populate ROOT-A and KERN-A
 | 
| +# TODO(tgao): write a script to populate ROOT-B and KERN-B
 | 
|  ROOTFS_IMG="${IMAGEDIR}/rootfs.image"
 | 
|  if [[ ! -s ${ROOTFS_IMG} ]]; then
 | 
|    error "Can't find ${ROOTFS_IMG}"
 | 
| @@ -90,13 +94,13 @@ if [[ ! -s ${KERNEL_IMG} ]]; then
 | 
|  fi
 | 
|  
 | 
|  STATEFUL_IMG="${IMAGEDIR}/stateful_partition.image"
 | 
| -if [[ ! -s ${STATEFUL_IMG} ]]; then
 | 
| +if [ ! -s ${STATEFUL_IMG} ] && [ ${FLAGS_recovery} -eq $FLAGS_FALSE ]; then
 | 
|    error "Can't find ${STATEFUL_IMG}"
 | 
|    exit 1
 | 
|  fi
 | 
|  
 | 
|  ESP_IMG="${IMAGEDIR}/esp.image"
 | 
| -if [[ ! -s ${ESP_IMG} ]]; then
 | 
| +if [ ! -s ${ESP_IMG} ] && [ ${FLAGS_recovery} -eq $FLAGS_FALSE ]; then
 | 
|    error "Can't find ${ESP_IMG}"
 | 
|    exit 1
 | 
|  fi
 | 
| @@ -111,7 +115,8 @@ fi
 | 
|  
 | 
|  # Create the GPT. This has the side-effect of setting some global vars
 | 
|  # describing the partition table entries (see the comments in the source).
 | 
| -install_gpt $OUTDEV $ROOTFS_IMG $KERNEL_IMG $STATEFUL_IMG $PMBRCODE $ESP_IMG
 | 
| +install_gpt $OUTDEV $ROOTFS_IMG $KERNEL_IMG $STATEFUL_IMG $PMBRCODE $ESP_IMG \
 | 
| +    false $FLAGS_recovery
 | 
|  
 | 
|  if [[ "$ARCH" = "arm" ]]; then
 | 
|    # assume /dev/mmcblk1. we could not get this from ${OUTDEV}
 | 
| 
 |