#!/bin/bash
# Copyright 2017 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.

### run bootserver

## This command delegates to the Zircon host tool `bootserver`, providing
## `zircon.bin` and `user.bootfs` (large ramdisk) as options, forwarding all
## others.
## For information about additional switches/options run `fx boot -h`

set -e

source "$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"/lib/vars.sh
fx-config-read

"${ZIRCON_TOOLS_DIR}/bootserver" \
  "${ZIRCON_BUILD_DIR}/zircon.bin" \
  "${FUCHSIA_BUILD_DIR}/user.bootfs" \
  "$@"
