blob: 329544de9c3bae38f7b54d15c3efe6c0790392d3 [file] [log] [blame]
#!/usr/bin/env 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.
if ! which VBoxManage 2>&1 > /dev/null ; then
echo "VBoxManage (virtualbox command line tools) must be on your PATH." >&2
exit 1
fi
if [[ -z $FUCHSIA_SCRIPTS_DIR ]]; then
source $( cd $( dirname "${BASH_SOURCE[0]}" ) && pwd)/../devshell/lib/vars.sh
fi
# VBoxManage makes RPCs to a running virtualbox instance, but the locks
# sometimes long outlast the RPC completion, so making VBoxManage sleepy avoids
# those issues.
VBOXMANAGE=`which VBoxManage`
VBoxManage() {
"${VBOXMANAGE}" "$@"
sleep 0.5
}
export FUCHSIA_VBOX_NAME=${FUCHSIA_VBOX_NAME:-fuchsia}
export FUCHSIA_VBOX_CPUS
export FUCHSIA_VBOX_RAM=${FUCHSIA_VBOX_RAM:-4096}
export FUCHSIA_VBOX_VRAM=${FUCHSIA_VBOX_VRAM:-128}
export FUCHSIA_VBOX_DISK_SIZE=${FUCHSIA_VBOX_DISK_SIZE:-4g}
export FUCHSIA_VBOX_RAW=${FUCHSIA_VBOX_RAW:-$FUCHSIA_OUT_DIR/vbox/disk.raw}
export FUCHSIA_VBOX_VMDK=${FUCHSIA_VBOX_VMDK:-$FUCHSIA_OUT_DIR/vbox/disk.vmdk}
export FUCHSIA_VBOX_CONSOLE_SOCK=${FUCHSIA_VBOX_CONSOLE_SOCK:-"$FUCHSIA_OUT_DIR/vbox/${FUCHSIA_VBOX_NAME}.sock"}
# XXX(raggi): Virtualbox and Zircon are not getting along with serial
# interrupts. Moving to 1 CPU provides sane serial performance for now.
# if [[ -z ${FUCHSIA_VBOX_CPUS} ]]; then
# ncpu=$(getconf _NPROCESSORS_ONLN || echo 4)
# # VirtualBox only suppots up to 32 CPUs
# if [[ $ncpu -gt 32 ]]; then
# ncpu=32
# fi
# FUCHSIA_VBOX_CPUS=$ncpu
# fi
FUCHSIA_VBOX_CPUS=1