...
Note: I have not been able to launch any aarch64 image vm from a Linux/Windows x64 host. It seems like command line generated is incorrect for any Android image (>= 7.0). So virtualization seems to be the only solution working nowadays.
...
4. Run Cuttlefish
By default, image vm will be ran using crosvm. Option -vm_manager
allows us to use qemu instead.
Code Block |
---|
HOME=$(pwd) ./bin/launch_cvd -vm_manager qemu_cli -report_anonymous_usage_stats=n --start_webrtc=false |
...
Cuttlefish comes with a prebuilt upstream QEMU (very recent, tracking master), located in bin/x86_64-linux-gnu/qemu/
, and coming from cvd package.
...
Code Block |
---|
$ cat ../qemu-system-x86_64 #!/usr/bin/env bash set -euo pipefail log() { echo "$@" 1>&2 } qemu=/home/user/.work/qemu/build/qemu-system-x86_64 sleep 1 log ------------------------------------------------------- $qemu --version log ------------------------------------------------------- args="$(echo $@)" args="$(echo "$args" | sed -e 's/accel=kvm/accel=tcg/g' -e 's/-cpu host/-cpu max/g') -monitor unix:$HOME/qemu-monitor-socket,server,nowait" log "$qemu $(echo $args | tr ' ' '\n' | sed -e 's/$/ \\/')" log ------------------------------------------------------- $qemu $args log ------------------------------------------------------- # Now we run launch_cvd with this: $ HOME=$(pwd) ./bin/launch_cvd -vm_manager qemu_cli -report_anonymous_usage_stats=n --start_webrtc=false -qemu_binary_dir=$(pwd)/.. ... ------------------------------------------------------- QEMU emulator version 9.0.92 (v9.1.0-rc2-68-g8d7c8cc9081) Copyright (c) 2003-2024 Fabrice Bellard and the QEMU Project developers ------------------------------------------------------- /home/user/.work/qemu/build/qemu-system-x86_64 -name \ guest=cvd-1,debug-threads=on \ -machine \ pc,nvdimm=on,accel=tcg,usb=off,dump-guest-core=off \ -m \ size=4096M,maxmem=4102M,slots=2 \ -overcommit \ mem-lock=off \ -smp \ 2,cores=2,threads=1 \ ... |