[fx run] add //.ssh/authorized_keys before booting This enables SSH into qemu instances that have networking, without having to bake SSH keys into the build artifacts. Change-Id: I19aa146cd752622ab79018180cfdc06aee1f2a7c
diff --git a/devshell/run b/devshell/run index b5ef78d..7dd07fd 100755 --- a/devshell/run +++ b/devshell/run
@@ -14,23 +14,28 @@ # Construction of a qcow image prevents qemu from writing back to the # build-produced image file, which could cause timestamp issues with that file. -qcowdir="$(mktemp -d)" -if [[ ! -d "${qcowdir}" ]]; then +# Construction of the new ZBI adds //.ssh/authorized_keys for SSH access. +imgdir="$(mktemp -d)" +if [[ ! -d "${imgdir}" ]]; then echo >&2 "Failed to create temporary directory" exit 1 fi -qimg="${qcowdir}/fuchsia.qcow2" -trap 'rm "${qimg}" && rmdir "${qcowdir}"' EXIT +qimg="${imgdir}/fuchsia.qcow2" +kernelzbi="${imgdir}/fuchsia-ssh.zbi" +trap 'rm "${qimg}" "${kernelzbi}" && rmdir "${imgdir}"' EXIT "${qemu_dir}/qemu-img" create -f qcow2 -b "${FUCHSIA_BUILD_DIR}/${IMAGE_FVM_RAW}" \ "${qimg}" +"${ZIRCON_TOOLS_DIR}/zbi" -o "${kernelzbi}" "${FUCHSIA_BUILD_DIR}/${IMAGE_ZIRCONA_ZBI}" \ + --entry "data/ssh/authorized_keys=${FUCHSIA_DIR}/.ssh/authorized_keys" + "${FUCHSIA_DIR}/zircon/scripts/run-zircon" \ -a "${FUCHSIA_ARCH}" \ -q "${qemu_dir}" \ -G 3 \ -t "${FUCHSIA_BUILD_DIR}/${IMAGE_QEMU_KERNEL_RAW}" \ - -z "${FUCHSIA_BUILD_DIR}/${IMAGE_ZIRCONA_ZBI}" \ + -z "${kernelzbi}" \ -d \ -D "${qimg}" \ --diskfmt="qcow2" \