commit | 58c326bf0278fc4d0de4699277985d6a548e8f7d | [log] [tgz] |
---|---|---|
author | Jiyong Park <[email protected]> | Tue Jan 05 16:52:58 2021 +0900 |
committer | Jiyong Park <[email protected]> | Wed Jan 06 23:01:50 2021 +0900 |
tree | 11a92dbe32d3460d42a8cfa0ba9f9a94070210c7 | |
parent | 01b359906ffa663eac090604a69b723257c90c4f [diff] |
Rename cuttlefish_* cc_defaults The term (1) "host" in the context of cuttlefish (and more broadly in the context of VMs) means the OS that directly talks to the hardware and is responsible for managing the (guest) VMs. However, in the context of the Android build system, the same term (2) "host" means the OS that isn't Android (which is referred to as "target"), like the Ubuntu OS where the build system itself runs on, or the Windows or Mac OSes that we cross-build SDKs for. Previously when cuttlefish doesn't support nested virtualization, the two different "host"s meant the same; host-side components (like crosvm, run_cvd, etc.) were only built for the build-host OS (Ubuntu or gLinux). However, that is no longer true as we aim to support running cuttlefish (and other OS payloads as well) on Android devices as well. Then the host-side VM managing components have to be built for the target (Android) OS. In order to better reflect the new situation, cuttlefish_* cc_defaults modules are renamed as follows: 1) cuttlefish_guest_only: for the guest OS (i.e. cuttlefish) 2) cuttlefish_host: for the host OSes (either Ubuntu or Android) This was previously "cuttlefish_host_and_guest", where "guest" there actually meant the Android OS which doesn't necessarily need to be cuttlefish. 3) cuttlefish_buildhost_only: for non-Android host OSes (i.e. Ubuntu) Bug: 167675429 Test: mma under /device/google/cuttlefish Change-Id: I37829dee8e5743e5b9d77c95ce2bdc11e30d68e9
Make sure virtualization with KVM is available.
grep -c -w "vmx\|svm" /proc/cpuinfo
This should return a non-zero value. If running on a cloud machine, this may take cloud-vendor-specific steps to enable. For Google Compute Engine specifically, see the GCE guide.
Download, build, and install the host debian package:
git clone https://github.com/google/android-cuttlefish cd android-cuttlefish debuild -i -us -uc -b sudo dpkg -i ../cuttlefish-common_*_amd64.deb || sudo apt-get install -f sudo reboot
The reboot will trigger installing additional kernel modules and applying udev rules.
Go to http://ci.android.com/
Enter a branch name. Start with aosp-master
if you don‘t know what you’re looking for
Navigate to aosp_cf_x86_phone
and click on userdebug
for the latest build
Click on Artifacts
Scroll down to the OTA images. These packages look like aosp_cf_x86_phone-img-xxxxxx.zip
-- it will always have img
in the name. Download this file
Scroll down to cvd-host_package.tar.gz
. You should always download a host package from the same build as your images.
On your local system, combine the packages:
mkdir cf cd cf tar xvf /path/to/cvd-host_package.tar.gz unzip /path/to/aosp_cf_x86_phone-img-xxxxxx.zip
Launch cuttlefish with:
$ HOME=$PWD ./bin/launch_cvd
$ HOME=$PWD ./bin/stop_cvd
You can use adb
to debug it, just like a physical device:
$ ./bin/adb -e shell
You can use the TightVNC JViewer. Once you have downloaded the TightVNC Java Viewer JAR in a ZIP archive, run it with
$ java -jar tightvnc-jviewer.jar -ScalingFactor=50 -Tunneling=no -host=localhost -port=6444
Click “Connect” and you should see a lock screen!