Abstract
This documentation describes how to use the primitive commands for generating Android images and running on Cuttlefish emulated platform. And then we can see how to boot Android Automotive OS on Xen virtual machine with QEMU command.
What’s Cuttlefish flow?
Cuttlefish allows user to use command line interface (CLI) to launch Android images on Cuttlefish virtual platform, it provides the command launch_cvd
for this purpose.
The prerequisites for using the launch_cvd
is Cuttlefish package. The package contains binaries and utilites. We can download the Cuttlefish package for Arm64 via http://ci.android.com/, then search the branch aosp-main-throttled
and select the device target aosp_cf_arm64_only_phone-trunk_staging-userdebug
.
After downloading and uncompress the Cuttlefish package, combining with Android images, we can execute the launch_cvd
command to boot up Android on Cuttlefish:
$ HOME=$PWD ./bin/launch_cvd
The launch_cvd
command rus two commands assemble_cvd
and run_cvd
in its child processes. If both commands work as expected, the Android can launch successfully on Cuttlefish machine. The assemble_cvd
command generates root file system images with qcow2 overlay format, then the run_cvd
command invokes the virtual machine manager (either Crosvm or QEMU) to boot the generated images on virtual machine. The diagram below shows the Cuttlefish flow.