| #!/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. |
| |
| #### CATEGORY=Other |
| ### build a fuchsia persistent disk |
| ## usage: fx make-fuchsia-vol [-include-keys] |
| ## -include-keys add the keys from ~/.ssh/fuchsia_authorized_keys |
| ## to the Zircon ZBI as authorized_keys |
| |
| source "$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd)"/../lib/image_build_vars.sh || exit $? |
| |
| fx-config-read |
| |
| fwd_args=() |
| include_keys=0 |
| while (($#)); do |
| case "$1" in |
| -include-keys) |
| include_keys=1 |
| ;; |
| *) |
| fwd_args+=("$1") |
| ;; |
| esac |
| shift |
| done |
| |
| keys_args=() |
| if [ "${include_keys}" == 1 ]; then |
| authkeys_path="$(get-ssh-authkeys)" || { |
| fx-error "Cannot continue without a valid authorized keys file." |
| exit 1 |
| } |
| fx-zbi -o "${FUCHSIA_BUILD_DIR}/fuchsia-extra-keys.zbi" \ |
| "${FUCHSIA_BUILD_DIR}/${IMAGE_ZIRCONA_ZBI}" --replace \ |
| --entry "data/ssh/authorized_keys=${authkeys_path}" |
| |
| keys_args+=(-zbi "${FUCHSIA_BUILD_DIR}/fuchsia-extra-keys.zbi") |
| fi |
| |
| "${FUCHSIA_BUILD_DIR}/host-tools/make-fuchsia-vol" "${keys_args[@]}" "${fwd_args[@]}" |