commit | 6c2a3c915ee621bd22e8f70bb6eec0636e81f82d | [log] [tgz] |
---|---|---|
author | Devin Moore <[email protected]> | Thu Nov 04 19:01:08 2021 +0000 |
committer | Devin Moore <[email protected]> | Mon Dec 20 18:36:11 2021 +0000 |
tree | 55c23a952cc710d668395e772a4e061bdeb7233e | |
parent | b009f9cf848aa5013cf9e37c3dabaa03f0baa42e [diff] |
Add new init_boot partition to Cuttlefish Enables it in the build and adds the partition to be availble to the bootloader. This works without bootloader changes because first stage init is also in the vendor_boot.img for recovery mode. BOARD_MOVE_RECOVERY_RESOURCES_TO_VENDOR_BOOT is true for Cuttlefish. The bootloader loads the vendor_boot ramdisk into memory during normal boot as well as recovery. b/209675829 is created to prevent this behavior by placing the recovery image into a vendor_boot ramdisk fragment so the bootloader can choose not to load the recovery image on a normal boot. Test: boot with updated bootloader and boot.img without ramdisk Test: boot with current bootloader and boot.img without ramdisk Bug: 203698939 Change-Id: I6f0807c22646fd5b73cd6d99225f16906107404a
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.
ARM specific steps:
/dev/kvm
. Note that this method can also be used to confirm support of KVM on any environment.Download, build, and install the host debian package:
sudo apt install -y git devscripts config-package-dev debhelper-compat git clone https://github.com/google/android-cuttlefish cd android-cuttlefish debuild -i -us -uc -b sudo dpkg -i ../cuttlefish-common_*_*64.deb || sudo apt-get install -f sudo usermod -aG kvm,cvdnetwork $USER 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_64_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_64_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_64_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
When launching with ---start_webrtc
(the default), you can see a list of all available devices at https://localhost:8443
. For more information, see the WebRTC on Cuttlefish documentation.