| #!/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 authorized public keys configured | |
| ## to the Zircon ZBI as authorized_keys | |
| source "$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd)"/../lib/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}/$(fx-get-zbi zircon-a)" --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[@]}" |