init.rc: have hwservicemanager start the HAL class am: 57d66b8447 am: ad0cbcf21c
am: f0099ccb23

Change-Id: I5c24ecbf89d723c478a02bcab8cffc4e9e4385e9
diff --git a/CleanSpec.mk b/CleanSpec.mk
index 31e60ca..5b5eff4 100644
--- a/CleanSpec.mk
+++ b/CleanSpec.mk
@@ -59,3 +59,4 @@
 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/lib/hw/gatekeeper.$(TARGET_DEVICE).so)
 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/lib64/hw/gatekeeper.$(TARGET_DEVICE).so)
 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/root/vendor)
+$(call add-clean-step, rm -rf $(PRODUCT_OUT)/root/init.rc)
diff --git a/rootdir/init.rc b/rootdir/init.rc
index 86860b1..64151b7 100644
--- a/rootdir/init.rc
+++ b/rootdir/init.rc
@@ -577,6 +577,8 @@
     # Define default initial receive window size in segments.
     setprop net.tcp.default_init_rwnd 60
 
+    # Start all binderized HAL daemons
+    start hwservicemanager
     class_start core
 
 on nonencrypted
@@ -666,3 +668,13 @@
 service flash_recovery /system/bin/install-recovery.sh
     class main
     oneshot
+
+service hwservicemanager /system/bin/hwservicemanager
+    user system
+    disabled
+    group system readproc
+    critical
+    writepid /dev/cpuset/system-background/tasks
+
+on property:hwservicemanager.ready=true
+    class_start hal