blob: 8ac5f0329fe8ddddf2a546c8bb1d54a681c644ea [file] [log] [blame]
#!/usr/bin/env bash
# Copyright 2017 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 )"
MKBOOTIMG="${DIR}/../third_party/tools/android/mkbootimg"
MEMBASE=0x00000000
KERNEL_OFFSET=0x1080000
CMDLINE="TERM=uart"
function HELP {
echo "help:"
echo "-b <board> : Board to flash"
echo "-c <cmd line> : Extra command line options"
echo "-d <ramdisk> : Use specified ramdisk file"
echo "-m : Add mexec option to command line"
echo "-h for help"
exit 1
}
while getopts "b:c:d:mh" FLAG; do
case $FLAG in
b) BOARD="${OPTARG}";;
c) CMDLINE+=" ${OPTARG}";;
d) RAMDISK="${OPTARG}";;
m) CMDLINE+=" netsvc.netboot=true";;
h) HELP;;
\?)
echo unrecognized option
HELP
;;
esac
done
shift $((OPTIND-1))
if [[ -z "${BOARD}" ]]; then
echo must specify a board to flash
HELP
fi
BUILD_DIR=build-arm64
OUT_IMAGE="${BUILD_DIR}/${BOARD}-boot.img"
$MKBOOTIMG \
--kernel "${BUILD_DIR}/zzircon.bin" \
--kernel_offset $KERNEL_OFFSET \
--base $MEMBASE \
--ramdisk "${RAMDISK:-${BUILD_DIR}/${BOARD}-bootdata.bin}" \
--cmdline "${CMDLINE}" \
-o "${OUT_IMAGE}"
fastboot flash boot "${OUT_IMAGE}"
fastboot reboot