commit | a333d3af92180b85a8ecd1c8a4d3b7933fdd55ab | [log] [tgz] |
---|---|---|
author | Yi-Yo Chiang <yochiang@google.com> | Tue Apr 20 19:39:25 2021 +0800 |
committer | Yi-Yo Chiang <yochiang@google.com> | Fri Apr 23 16:22:24 2021 +0800 |
tree | 8475750b0ccf59c6b1197c04177f1456da2728a8 | |
parent | 33257c127ac8f70f8f3ec5eb8f4f4470c0b162d9 [diff] |
Reland: assemble_cvd: Use toybox cpio to unpack vendor ramdisk Since GNU cpio could break the "while cpio -idu; do :;done <cpio.concatenated" loop due to its buffered IO reading too much of the input. Use "mkbootfs" to pack ramdisk as it yields more stable output than "find | cpio". The archive generated by "mkbootfs" has its entry sorted, assigned stable inode number, cleared mtime, uid and gid. Also format some lines of code to make clang-format happy. Bug: 185883642 Bug: 173134558 Test: launch_cvd -kernel_path kernel && check ~/cuttlefish_assembly Test: Run launch_cvd again and check that the repacked stripped_ramdisk.cpio is deterministic. Test: adb reboot recovery Change-Id: Ie9f17787017e4e6a73038c98688a5eb0a1fdbf56
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_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
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!