Enable ethernet by default, remove flag

The Ethernet feature was always intended to be like Mobile Data and
landed unconditionally, but it depended on the new cuttlefish-common
Ethernet bridge (cvd-ebr) which was blocked for a long time. Now we have
rolled this change our everywhere, remove the conditional nature of this
feature.

This also fixes various recently introduced bugs in the QEMU backend and
setup_wifi as part of the new wifi work.

The Ethernet device is shuffled after the mobile data interface and
before the wifi interface, because the wifi interface will soon not be
an Ethernet device (even optionally) which would otherwise leave a gap
and require more renaming.

Bug: 172286896
[adelva: vs aosp master, manually renamed mobile data to eth0]
Change-Id: I72119d71c40165cbd40a513b4e049a20e8778bdf
12 files changed
tree: c62d3c444a7b8d83ae7372984b8de1eb4d5947f7
  1. build/
  2. common/
  3. guest/
  4. host/
  5. recovery/
  6. shared/
  7. tests/
  8. tools/
  9. vsoc_arm64/
  10. vsoc_arm64_only/
  11. vsoc_arm_only/
  12. vsoc_x86/
  13. vsoc_x86_64/
  14. vsoc_x86_64_only/
  15. vsoc_x86_noapex/
  16. vsoc_x86_only/
  17. .clang-format
  18. Android.bp
  19. Android.mk
  20. AndroidProducts.mk
  21. CleanSpec.mk
  22. default-permissions.xml
  23. dtb.img
  24. fetcher.mk
  25. host_package.mk
  26. METADATA
  27. OWNERS
  28. PREUPLOAD.cfg
  29. README.md
  30. required_images
  31. TEST_MAPPING
README.md

Cuttlefish Getting Started

Try Cuttlefish

  1. 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.

  2. 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.

  3. Go to http://ci.android.com/

  4. Enter a branch name. Start with aosp-master if you don‘t know what you’re looking for

  5. Navigate to aosp_cf_x86_64_phone and click on userdebug for the latest build

  6. Click on Artifacts

  7. 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

  8. Scroll down to cvd-host_package.tar.gz. You should always download a host package from the same build as your images.

  9. 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
    
  10. Launch cuttlefish with:

$ HOME=$PWD ./bin/launch_cvd

  1. Stop cuttlefish with:

$ HOME=$PWD ./bin/stop_cvd

Debug Cuttlefish

You can use adb to debug it, just like a physical device:

$ ./bin/adb -e shell

Launch Viewer (WebRTC)

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.

Launch Viewer (VNC)

When launching with --start_vnc_server=true , 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!