blob: f9d65c85218b71b59074ce8d362f30d54a76c222 [file] [log] [blame]
#!/bin/bash
# Copyright 2019 The Fuchsia Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
ZIRCON_IMAGE=
OUTPUT=
ZIRCON_A_PARTITION=
ZIRCON_B_PARTITION=
ZIRCON_R_PARTITION=
VBMETA_A_PARTITION=
VBMETA_B_PARTITION=
VBMETA_R_PARTITION=
ACTIVE_PARTITION=
SIGNED_IMAGE=
for i in "$@"
do
case $i in
--image=*)
ZIRCON_IMAGE="${i#*=}"
shift
;;
--output=*)
OUTPUT="${i#*=}"
shift
;;
--zircon-a=*)
ZIRCON_A_PARTITION="${i#*=}"
shift
;;
--zircon-b=*)
ZIRCON_B_PARTITION="${i#*=}"
shift
;;
--zircon-r=*)
ZIRCON_R_PARTITION="${i#*=}"
shift
;;
--vbmeta-a=*)
VBMETA_A_PARTITION="${i#*=}"
shift
;;
--vbmeta-b=*)
VBMETA_B_PARTITION="${i#*=}"
shift
;;
--vbmeta-r=*)
VBMETA_R_PARTITION="${i#*=}"
shift
;;
--active=*)
ACTIVE_PARTITION="${i#*=}"
shift
;;
--signed=*)
SIGNED_IMAGE="${i#*=}"
shift
;;
esac
done
VBMETA_IMAGE="${ZIRCON_IMAGE}.vbmeta"
if [[ "${SIGNED_IMAGE}" == "true" ]]; then
ZIRCON_IMAGE="${ZIRCON_IMAGE}.signed"
fi
cat > "${OUTPUT}" << EOF
#!/bin/sh
DIR="\$(dirname "\$0")"
set -e
FASTBOOT_ARGS="\$@"
EOF
if [[ ! -z "${ZIRCON_A_PARTITION}" ]]; then
echo fastboot "\${FASTBOOT_ARGS}" flash "${ZIRCON_A_PARTITION}" \"\${DIR}/${ZIRCON_IMAGE}\" "${extra_args[@]}" >> "${OUTPUT}"
fi
if [[ ! -z "${ZIRCON_B_PARTITION}" ]]; then
echo fastboot "\${FASTBOOT_ARGS}" flash "${ZIRCON_B_PARTITION}" \"\${DIR}/${ZIRCON_IMAGE}\" "${extra_args[@]}" >> "${OUTPUT}"
fi
if [[ ! -z "${ZIRCON_R_PARTITION}" ]]; then
echo fastboot "\${FASTBOOT_ARGS}" flash "${ZIRCON_R_PARTITION}" \"\${DIR}/${ZIRCON_IMAGE}\" "${extra_args[@]}" >> "${OUTPUT}"
fi
if [[ ! -z "${VBMETA_A_PARTITION}" ]]; then
echo fastboot "\${FASTBOOT_ARGS}" flash "${VBMETA_A_PARTITION}" \"\${DIR}/${VBMETA_IMAGE}\" "${extra_args[@]}" >> "${OUTPUT}"
fi
if [[ ! -z "${VBMETA_B_PARTITION}" ]]; then
echo fastboot "\${FASTBOOT_ARGS}" flash "${VBMETA_B_PARTITION}" \"\${DIR}/${VBMETA_IMAGE}\" "${extra_args[@]}" >> "${OUTPUT}"
fi
if [[ ! -z "${VBMETA_R_PARTITION}" ]]; then
echo fastboot "\${FASTBOOT_ARGS}" flash "${VBMETA_R_PARTITION}" \"\${DIR}/${VBMETA_IMAGE}\" "${extra_args[@]}" >> "${OUTPUT}"
fi
if [[ ! -z "${ACTIVE_PARTITION}" ]]; then
echo fastboot "\${FASTBOOT_ARGS}" set_active "${ACTIVE_PARTITION}" >> "${OUTPUT}"
fi
echo fastboot "\${FASTBOOT_ARGS}" reboot >> "${OUTPUT}"
chmod +x "${OUTPUT}"