commit | 57ccc6559afe00466316180e83d02fde51dc219c | [log] [tgz] |
---|---|---|
author | Alistair Delva <[email protected]> | Tue Nov 10 10:08:45 2020 -0800 |
committer | Alistair Delva <[email protected]> | Tue Nov 10 18:49:14 2020 -0800 |
tree | 0d4c8d5fe8e2bc20252449c690848c35695b98c9 | |
parent | 38b22d60f7d8f7bd3f359f78eddd61a658204585 [diff] |
Add Ethernet support to cuttlefish Add a launcher flag (e.g. "launch_cvd -ethernet=true") which adds another Ethernet interface to the virtual device. Ethernet devices are already "buried" for use by wireless, but this new interface is not wrapped and can be managed by netd. This functionality is useful for Auto targets. This mildly refactors some code in allocd to create separate Ethernet and Wifi bridges and tap devices. The code is off by default because it requires a new cuttlefish-common package (0.9.17) and we haven't made the necessary changes to the networkAttributes to allow Ethernet and Wifi to co-exist, so enabling Ethernet currently breaks Wifi on phone configurations. The created ethernet interface will be eth2 for now; once we can enable this by default, we can move Ethernet back to eth0. Bug: 172286896 Change-Id: I38ebf259f8eac101d867279f40cc78088a60921d
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!