Support ebtable-legacy in allocd

cuttlefish_common.init selects which ebtables program to use, as
ebtables may not be available on all platforms, but instead may be
ebtables-legacy. Since we're calling popen using that program name, this
commit adds a method for choosing which version of ebtables to use with
a new flag, set when allocd is started.

The flag approach was chosen over just using a string to ensure that
there would be no unintended way to influence the arguments to popen,
since the program name can only be one of two choices.

These changes propagate to all users of the ebtables apis, which so far
is limited to only the wireless configurations.

Bug: 148823285
Test: make -j
Test: allocd &;
      launch_cvd --use_allocd;
      stop_cvd

Change-Id: I9ad10313b8ce7de2ab121ca946420c73a6d9e47c
7 files changed
tree: e209b9dc7f1a9bf03b753c727b0a7c9a43bd1251
  1. common/
  2. guest/
  3. host/
  4. recovery/
  5. shared/
  6. tests/
  7. tools/
  8. vsoc_arm64/
  9. vsoc_arm64_only/
  10. vsoc_x86/
  11. vsoc_x86_64/
  12. vsoc_x86_64_only/
  13. vsoc_x86_noapex/
  14. Android.bp
  15. Android.mk
  16. AndroidProducts.mk
  17. CleanSpec.mk
  18. dtb.img
  19. fetcher.mk
  20. host_package.mk
  21. METADATA
  22. OWNERS
  23. README.md
  24. required_images
  25. TEST_MAPPING
README.md

So you want to try cuttlefish?

  1. 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
  1. Go to http://ci.android.com/
  2. Enter a branch name. Start with aosp-master if you don‘t know what you’re looking for
  3. Navigate to aosp_cf_x86_phone and click on userdebug for the latest build
  4. Click on Artifacts
  5. 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
  6. Scroll down to cvd-host_package.tar.gz. You should always download a host package from the same build as your images.
  7. 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
  1. Launch cuttlefish with:

    $ HOME=$PWD ./bin/launch_cvd

  2. Stop cuttlefish with:

$ HOME=$PWD ./bin/stop_cvd

So you want to debug cuttlefish?

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

$ ./bin/adb -e shell

So you want to see cuttlefish?

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!