• Home
Name Date Size #Lines LOC

..--

apex/03-May-2024-768691

build/03-May-2024-395336

common/03-May-2024-11,5207,902

guest/03-May-2024-54,13736,421

host/03-May-2024-72,22452,082

recovery/03-May-2024-6946

shared/03-May-2024-6,9224,376

tests/03-May-2024-2,3081,573

tools/03-May-2024-1,8781,463

vsoc_arm64/03-May-2024-16847

vsoc_arm64_only/03-May-2024-26888

vsoc_arm_only/03-May-2024-15547

vsoc_x86/03-May-2024-429143

vsoc_x86_64/03-May-2024-378121

vsoc_x86_64_only/03-May-2024-19361

vsoc_x86_only/03-May-2024-11027

.clang-formatD03-May-2024819 2320

Android.bpD03-May-20244.6 KiB168147

Android.mkD03-May-20245.1 KiB6340

AndroidProducts.mkD03-May-20242.4 KiB5234

CleanSpec.mkD03-May-20244.2 KiB7919

METADATAD03-May-202439 43

OWNERSD03-May-2024231 1311

PREUPLOAD.cfgD03-May-2024194 86

README.mdD03-May-20242.7 KiB8964

TEST_MAPPINGD03-May-2024533 3433

default-permissions.xmlD03-May-20246.4 KiB14271

dtb.imgD03-May-202411 21

fetcher.mkD03-May-2024322 136

host_package.mkD03-May-2024617 189

iwyu.impD03-May-2024993 1716

multiarch-howto.mdD03-May-20242.3 KiB5847

required_imagesD03-May-2024102 98

rustfmt.tomlD03-May-202493

README.md

1# Cuttlefish Getting Started
2
3## Try Cuttlefish
4
51. Make sure virtualization with KVM is available.
6
7   ```bash
8   grep -c -w "vmx\|svm" /proc/cpuinfo
9   ```
10
11   This should return a non-zero value. If running on a cloud machine, this may
12   take cloud-vendor-specific steps to enable. For Google Compute Engine
13   specifically, see the [GCE guide].
14
15  [GCE guide]: https://cloud.google.com/compute/docs/instances/enable-nested-virtualization-vm-instances
16
17*** promo
18   ARM specific steps:
19   - When running on an ARM machine, the most direct way is to check
20   for the existence of `/dev/kvm`. Note that this method can also be used to
21   confirm support of KVM on any environment.
22   - Before proceeding to the next step, please first follow
23   [the guide](multiarch-howto.md) to adjust APT sources.
24***
25
262. Download, build, and install the host debian package:
27
28   ```bash
29   sudo apt install -y git devscripts config-package-dev debhelper-compat golang
30   git clone https://github.com/google/android-cuttlefish
31   cd android-cuttlefish
32   debuild -i -us -uc -b -d
33   sudo dpkg -i ../cuttlefish-common_*_*64.deb || sudo apt-get install -f
34   sudo usermod -aG kvm,cvdnetwork,render $USER
35   sudo reboot
36   ```
37
38   The reboot will trigger installing additional kernel modules and applying
39   udev rules.
40
413. Go to http://ci.android.com/
424. Enter a branch name. Start with `aosp-master` if you don't know what you're
43   looking for
445. Navigate to `aosp_cf_x86_64_phone` and click on `userdebug` for the latest build
45
46*** promo
47   For ARM, use branch `aosp-master-throttled-copped` and device target `aosp_cf_arm64_only_phone-userdebug`
48***
49
506. Click on `Artifacts`
517. Scroll down to the OTA images. These packages look like
52   `aosp_cf_x86_64_phone-img-xxxxxx.zip` -- it will always have `img` in the name.
53   Download this file
548. Scroll down to `cvd-host_package.tar.gz`. You should always download a host
55   package from the same build as your images.
569. On your local system, combine the packages:
57
58   ```bash
59   mkdir cf
60   cd cf
61   tar xvf /path/to/cvd-host_package.tar.gz
62   unzip /path/to/aosp_cf_x86_64_phone-img-xxxxxx.zip
63   ```
64
6510. Launch cuttlefish with:
66
67   `$ HOME=$PWD ./bin/launch_cvd`
68
69## Debug Cuttlefish
70
71You can use `adb` to debug it, just like a physical device:
72
73   `$ ./bin/adb -e shell`
74
75## Launch Viewer (WebRTC)
76
77When launching with `---start_webrtc` (the default), you can see a list of all
78available devices at `https://localhost:8443` . For more information, see the
79WebRTC on Cuttlefish
80[documentation](https://source.android.com/setup/create/cuttlefish-ref-webrtc).
81
82## Stop Cuttlefish
83
84You will need to stop the virtual device within the same directory as you used
85to launch the device.
86
87    `$ HOME=$PWD ./bin/stop_cvd`
88
89