| #!/usr/bin/env bash |
| |
| # Copyright 2018 The Fuchsia Authors |
| # |
| # Use of this source code is governed by a MIT-style |
| # license that can be found in the LICENSE file or at |
| # https://opensource.org/licenses/MIT |
| |
| set -eo pipefail |
| |
| DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" |
| BUILD_DIR="${DIR}/../build-arm64" |
| BOOT_PART=boot |
| |
| CMDLINE= |
| |
| function HELP { |
| echo "help:" |
| echo "-b <board> : Board to flash" |
| echo "-c <cmd line> : Extra command line options" |
| echo "-m : Add mexec option to command line" |
| echo "-o <dir> : Build directory" |
| echo "-P : Boot partition name" |
| echo "-h for help" |
| exit 1 |
| } |
| |
| while getopts "b:c:d:mo:P:h" FLAG; do |
| case $FLAG in |
| b) BOARD="${OPTARG}";; |
| c) CMDLINE+=" ${OPTARG}";; |
| d) RAMDISK="${OPTARG}";; |
| m) CMDLINE+=" netsvc.netboot=true";; |
| o) BUILD_DIR="${OPTARG}";; |
| P) BOOT_PART="${OPTARG}";; |
| h) HELP;; |
| \?) |
| echo unrecognized option |
| HELP |
| ;; |
| esac |
| done |
| shift $((OPTIND-1)) |
| |
| if [[ -z "${BOARD}" ]]; then |
| echo must specify a board to flash |
| HELP |
| fi |
| |
| ZBI="${BUILD_DIR}/tools/zbi" |
| BOOTDATA_BIN="${BUILD_DIR}/zircon-bootimage.bin" |
| CMDLINE_FILE="${BUILD_DIR}/${BOARD}-cmdline.txt" |
| OUT_IMAGE="${BUILD_DIR}/${BOARD}-boot.img" |
| |
| echo ${CMDLINE} > ${CMDLINE_FILE} |
| ${ZBI} -o ${OUT_IMAGE} ${BOOTDATA_BIN} -T cmdline ${CMDLINE_FILE} |
| |
| fastboot flash "${BOOT_PART}" "${OUT_IMAGE}" |
| fastboot reboot |