Use a property to enable the eth0 LAN port on the emulator
Change-Id: I26f4ec7fac9b7a8ad3013914967cf0f8fdec91ff
diff --git a/target/board/generic_x86/buildspec-generic_x86.mk b/target/board/generic_x86/buildspec-generic_x86.mk
index 5c4e6a5..fbc3947 100644
--- a/target/board/generic_x86/buildspec-generic_x86.mk
+++ b/target/board/generic_x86/buildspec-generic_x86.mk
@@ -1,3 +1,7 @@
BUILD_ENV_SEQUENCE_NUMBER := 9
DISABLE_DEXPREOPT := true
TARGET_ARCH := x86
+
+# The eth0 device should be started with dhcp on boot.
+# Useful for emulators that don't provide a wifi connection.
+NET_ETH0_STARTONBOOT := true
diff --git a/target/board/generic_x86/init.rc b/target/board/generic_x86/init.rc
index 2a6f665..235083d 100644
--- a/target/board/generic_x86/init.rc
+++ b/target/board/generic_x86/init.rc
@@ -191,6 +191,7 @@
class_start default
+
## Daemon processes to be run by init.
##
service console /system/bin/sh
@@ -241,3 +242,13 @@
service installd /system/bin/installd
socket installd stream 600 system system
+
+#
+# Set by PRODUCT_PROPERTY_OVERRIDES in <product>.mk
+on property:net.eth0.startonboot=1
+ setprop ro.com.android.dataroaming true
+ start start_eth0
+
+service start_eth0 /system/bin/netcfg eth0 dhcp
+ oneshot
+ disabled
diff --git a/target/product/generic_x86.mk b/target/product/generic_x86.mk
index 00f2822..9713900 100644
--- a/target/product/generic_x86.mk
+++ b/target/product/generic_x86.mk
@@ -25,3 +25,10 @@
PRODUCT_DEVICE := generic_x86
PRODUCT_NAME := generic_x86
PRODUCT_POLICY := android.policy_phone
+
+# If running on an emulator or some other device that has a LAN connection
+# that isn't a wifi connection. This will instruct init.rc to enable the
+# network connection so that you can use it with ADB
+ifdef NET_ETH0_STARTONBOOT
+ PRODUCT_PROPERTY_OVERRIDES += net.eth0.startonboot=1
+endif