blob: 7ef5db5d271a8c1544dc5b0d4a359dd9b533f071 [file] [log] [blame]
#!/bin/bash
#
# Copyright 2015 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
set -e
function PrintUsage() {
echo "$0 -m <mem>"
echo -e "\t-m <mem>\tSet memory size in MB"
exit 1
}
MEM=1024
ARGS=$(getopt -o hm: -- "$@")
eval set -- "$ARGS"
while true ; do
case "$1" in
-m)
case "$2" in
*) MEM=$2; shift 2;;
esac ;;
-h) PrintUsage ;;
--) shift; break ;;
esac
done
opts=()
if [[ -c /dev/kvm ]]; then
# KVM is available on the host
opts+=( -enable-kvm )
fi
echo Starting emulator with ${MEM}MB memory
exec \
${ANDROID_BUILD_TOP}/prebuilts/android-emulator/linux-x86_64/qemu/linux-x86_64/qemu-system-x86_64 \
-m ${MEM}M \
-kernel ${ANDROID_BUILD_TOP}/out/target/product/brilloemulator_x86_64/kernel \
-append "console=ttyS0 root=/dev/vda androidboot.hardware=qemu qemu=1 rootwait noinitrd init=/init androidboot.selinux=enforcing" \
-nographic \
-device virtio-blk-pci,drive=system\
-drive file="${ANDROID_BUILD_TOP}/out/target/product/brilloemulator_x86_64/system.img,if=none,id=system,format=raw" \
-device virtio-blk-pci,drive=userdata \
-drive file="${ANDROID_BUILD_TOP}/out/target/product/brilloemulator_x86_64/userdata.img,if=none,id=userdata,format=raw" \
-netdev user,id=net0,hostfwd=tcp::5555-:5555 \
-device virtio-net-pci,netdev=net0 \
-vga none \
-L ${ANDROID_BUILD_TOP}/prebuilts/android-emulator/linux-x86_64/lib/pc-bios \
"${opts[@]}" \
"$@"