• Home
Name Date Size #Lines LOC

..--

apex/03-May-2024-611553

build/03-May-2024-475417

common/03-May-2024-15,34210,361

guest/03-May-2024-55,64337,517

host/03-May-2024-362,145278,821

recovery/03-May-2024-6946

shared/03-May-2024-8,6875,451

tests/03-May-2024-3,9862,728

tools/03-May-2024-2,7131,925

vsoc_arm64/03-May-2024-16344

vsoc_arm64_minidroid/03-May-2024-6219

vsoc_arm64_only/03-May-2024-27685

vsoc_arm_minidroid/03-May-2024-9027

vsoc_riscv64/03-May-2024-455173

vsoc_riscv64_minidroid/03-May-2024-7124

vsoc_x86/03-May-2024-358118

vsoc_x86_64/03-May-2024-299116

vsoc_x86_64_minidroid/03-May-2024-5715

vsoc_x86_64_only/03-May-2024-553182

vsoc_x86_only/03-May-2024-11531

.clang-formatD03-May-2024819 2320

Android.bpD03-May-20245.3 KiB196174

Android.mkD03-May-20245.4 KiB6542

AndroidProducts.mkD03-May-20243.3 KiB6547

CleanSpec.mkD03-May-20244.2 KiB7919

METADATAD03-May-202439 43

OWNERSD03-May-2024343 1817

PREUPLOAD.cfgD03-May-2024194 86

README.mdD03-May-20242.7 KiB9267

TEST_MAPPINGD03-May-2024612 3938

default-permissions.xmlD03-May-20246.3 KiB14070

dtb.imgD03-May-202411 21

fetcher.mkD03-May-2024562 2214

host_package.mkD03-May-2024834 2413

iwyu.impD03-May-20241.5 KiB2322

required_imagesD03-May-2024125 109

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***
23
242. Download, build, and install the host debian packages:
25
26   ```bash
27   sudo apt install -y git devscripts config-package-dev debhelper-compat golang curl
28   git clone https://github.com/google/android-cuttlefish
29   cd android-cuttlefish
30   for dir in base frontend; do
31     cd $dir
32     debuild -i -us -uc -b -d
33     cd ..
34   done
35   sudo dpkg -i ./cuttlefish-base_*_*64.deb || sudo apt-get install -f
36   sudo dpkg -i ./cuttlefish-user_*_*64.deb || sudo apt-get install -f
37   sudo usermod -aG kvm,cvdnetwork,render $USER
38   sudo reboot
39   ```
40
41   The reboot will trigger installing additional kernel modules and applying
42   udev rules.
43
443. Go to http://ci.android.com/
454. Enter a branch name. Start with `aosp-master` if you don't know what you're
46   looking for
475. Navigate to `aosp_cf_x86_64_phone` and click on `userdebug` for the latest build
48
49*** promo
50   For ARM, use branch `aosp-master-throttled-copped` and device target `aosp_cf_arm64_only_phone-userdebug`
51***
52
536. Click on `Artifacts`
547. Scroll down to the OTA images. These packages look like
55   `aosp_cf_x86_64_phone-img-xxxxxx.zip` -- it will always have `img` in the name.
56   Download this file
578. Scroll down to `cvd-host_package.tar.gz`. You should always download a host
58   package from the same build as your images.
599. On your local system, combine the packages:
60
61   ```bash
62   mkdir cf
63   cd cf
64   tar xvf /path/to/cvd-host_package.tar.gz
65   unzip /path/to/aosp_cf_x86_64_phone-img-xxxxxx.zip
66   ```
67
6810. Launch cuttlefish with:
69
70   `$ HOME=$PWD ./bin/launch_cvd`
71
72## Debug Cuttlefish
73
74You can use `adb` to debug it, just like a physical device:
75
76   `$ ./bin/adb -e shell`
77
78## Launch Viewer (WebRTC)
79
80When launching with `---start_webrtc` (the default), you can see a list of all
81available devices at `https://localhost:8443` . For more information, see the
82WebRTC on Cuttlefish
83[documentation](https://source.android.com/setup/create/cuttlefish-ref-webrtc).
84
85## Stop Cuttlefish
86
87You will need to stop the virtual device within the same directory as you used
88to launch the device.
89
90   `$ HOME=$PWD ./bin/stop_cvd`
91
92