merge from open-source master

Change-Id: I0dd123dde8f0da42a99313cffed6a48d30e38381
diff --git a/target/board/generic_x86/BoardConfig.mk b/target/board/generic_x86/BoardConfig.mk
index be8aeb7..608aee1 100644
--- a/target/board/generic_x86/BoardConfig.mk
+++ b/target/board/generic_x86/BoardConfig.mk
@@ -10,7 +10,9 @@
 TARGET_USERIMAGES_USE_EXT2 := true
 TARGET_BOOTIMAGE_USE_EXT2 := true
 
-BOARD_KERNEL_CMDLINE := init=/init console=tty0 androidboot.hardware=generic_x86 vga=788
+# For VirtualBox and likely other emulators
+BOARD_INSTALLER_CMDLINE := init=/init console=ttyS0 console=tty0 androidboot.hardware=generic_x86 vga=788 verbose
+BOARD_KERNEL_CMDLINE := init=/init console=tty0 console=ttyS0 androidboot.hardware=generic_x86 vga=788
 TARGET_USE_DISKINSTALLER := true
 TARGET_DISK_LAYOUT_CONFIG := build/target/board/generic_x86/disk_layout.conf
 BOARD_BOOTIMAGE_MAX_SIZE := 8388608
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