commit | 4eccedbcb1dcd29ab4bb536a5d18b1613e10b205 | [log] [tgz] |
---|---|---|
author | Yifan Hong <elsk@google.com> | Wed Oct 21 17:27:53 2020 -0700 |
committer | Yifan Hong <elsk@google.com> | Wed Jan 06 17:33:50 2021 -0800 |
tree | f86b5cf0b9860d385af02ef286b13805058665ce | |
parent | da72b1fc189e6d236dee0f0b8973f6e4c7d0fd24 [diff] |
Install shell_and_utilities_* for first stage console If the device uses a dedicated recovery partition, shell_and_utilities_vendor_ramdisk are installed so that sh, toybox etc. are available under /system/bin in the final ramdisk. They are installed to the vendor ramdisk instead of the recovery ramdisk so that they are available in both recovery mode and Android mode (i.e. regardless of whether the recovery ramdisk is concatenated or not). If the device installs recovery resources to vendor_ramdisk, shell_and_utilities_recovery are installed so that sh, toybox etc. are available under /system/bin in the final ramdisk. First stage console is started before switching root into /first_stage_ramdisk. Because recovery resources are moved to vendor ramdisk, sh, toybox etc. are eventually installed to vendor ramdisk. This change alone has no effect. By default, TARGET_DEDICATED_RECOVERY is not set unless it is set from environment variables. linker.recovery and shell_and_utilities_recovery are installed by default in base_vendor.mk, so when it is not set, no new modules are installed. Bug: 156098440 Test: pass Change-Id: I453568962b41ebba5c1501fec24a6b3fc2e4d039
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!