• Home
Name Date Size #Lines LOC

..--

.vscode/06-Sep-2024-4140

apex/06-Sep-2024-469420

build/06-Sep-2024-670587

common/06-Sep-2024-16,95311,705

guest/06-Sep-2024-55,56637,546

host/06-Sep-2024-91,22766,025

recovery/06-Sep-2024-6946

shared/06-Sep-2024-9,9325,885

system_image/06-Sep-2024-963945

tests/06-Sep-2024-3,7602,568

tools/06-Sep-2024-3,7102,663

vsoc_arm64/06-Sep-2024-17554

vsoc_arm64_minidroid/06-Sep-2024-6219

vsoc_arm64_only/06-Sep-2024-28189

vsoc_arm64_pgagnostic/06-Sep-2024-13959

vsoc_arm_minidroid/06-Sep-2024-8926

vsoc_riscv64/06-Sep-2024-309114

vsoc_riscv64_minidroid/06-Sep-2024-7726

vsoc_x86/06-Sep-2024-365125

vsoc_x86_64/06-Sep-2024-304120

vsoc_x86_64_host/06-Sep-2024-469

vsoc_x86_64_minidroid/06-Sep-2024-5615

vsoc_x86_64_only/06-Sep-2024-644231

vsoc_x86_64_pgagnostic/06-Sep-2024-14059

vsoc_x86_only/06-Sep-2024-12137

.clang-formatD06-Sep-2024875 2725

Android.bpD06-Sep-20245.7 KiB187171

Android.mkD06-Sep-20245 KiB5535

AndroidProducts.mkD06-Sep-20243.8 KiB7052

CleanSpec.mkD06-Sep-20244.2 KiB7919

METADATAD06-Sep-202439 43

OWNERSD06-Sep-2024322 1816

OWNERS_techleadsD06-Sep-2024140 87

PREUPLOAD.cfgD06-Sep-2024194 86

README.mdD06-Sep-20242.8 KiB9469

TEST_MAPPINGD06-Sep-2024855 5150

default-permissions.xmlD06-Sep-20246.4 KiB14574

dtb.imgD06-Sep-202411 21

host_package.mkD06-Sep-20241 KiB2916

iwyu.impD06-Sep-20241.5 KiB2322

required_imagesD06-Sep-2024148 1110

rustfmt.tomlD06-Sep-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   sudo apt install devscripts equivs
31   for dir in base frontend; do
32     pushd $dir
33     sudo mk-build-deps -i
34     dpkg-buildpackage -uc -us
35     popd
36   done
37   sudo dpkg -i ./cuttlefish-base_*_*64.deb || sudo apt-get install -f
38   sudo dpkg -i ./cuttlefish-user_*_*64.deb || sudo apt-get install -f
39   sudo usermod -aG kvm,cvdnetwork,render $USER
40   sudo reboot
41   ```
42
43   The reboot will trigger installing additional kernel modules and applying
44   udev rules.
45
463. Go to http://ci.android.com/
474. Enter a branch name. Start with `aosp-main` if you don't know what you're
48   looking for
495. Navigate to `aosp_cf_x86_64_phone` and click on `userdebug` for the latest build
50
51*** promo
52   For ARM, use branch `aosp-main-throttled` and device target `aosp_cf_arm64_only_phone-trunk_staging-userdebug`
53***
54
556. Click on `Artifacts`
567. Scroll down to the OTA images. These packages look like
57   `aosp_cf_x86_64_phone-img-xxxxxx.zip` -- it will always have `img` in the name.
58   Download this file
598. Scroll down to `cvd-host_package.tar.gz`. You should always download a host
60   package from the same build as your images.
619. On your local system, combine the packages:
62
63   ```bash
64   mkdir cf
65   cd cf
66   tar xvf /path/to/cvd-host_package.tar.gz
67   unzip /path/to/aosp_cf_x86_64_phone-img-xxxxxx.zip
68   ```
69
7010. Launch cuttlefish with:
71
72   `$ HOME=$PWD ./bin/launch_cvd`
73
74## Debug Cuttlefish
75
76You can use `adb` to debug it, just like a physical device:
77
78   `$ ./bin/adb -e shell`
79
80## Launch Viewer (WebRTC)
81
82When launching with `---start_webrtc` (the default), you can see a list of all
83available devices at `https://localhost:8443` . For more information, see the
84WebRTC on Cuttlefish
85[documentation](https://source.android.com/setup/create/cuttlefish-ref-webrtc).
86
87## Stop Cuttlefish
88
89You will need to stop the virtual device within the same directory as you used
90to launch the device.
91
92   `$ HOME=$PWD ./bin/stop_cvd`
93
94