init: include more services in TWRP by default

vndservicemanager should be included with crypto support

boot and health services are needed for bootctrl and fastbootd

hwservicemanager and servicemanager should be included
regardless of crypto status

Change-Id: Ie76dac11b733c4549c2d55301cf614fe82905884
diff --git a/etc/Android.mk b/etc/Android.mk
index 1c88912..f07a2c6 100755
--- a/etc/Android.mk
+++ b/etc/Android.mk
@@ -76,6 +76,37 @@
 LOCAL_SRC_FILES := init/$(LOCAL_MODULE)
 include $(BUILD_PREBUILT)
 
+include $(CLEAR_VARS)
+LOCAL_MODULE := android.hardware.health@2.0-service.rc
+LOCAL_MODULE_TAGS := optional
+LOCAL_MODULE_CLASS := RECOVERY_EXECUTABLES
+LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)/system/etc/init
+
+LOCAL_SRC_FILES := init/$(LOCAL_MODULE)
+include $(BUILD_PREBUILT)
+
+ifeq ($(AB_OTA_UPDATER),true)
+	include $(CLEAR_VARS)
+	LOCAL_MODULE := android.hardware.boot@1.0-service.rc
+	LOCAL_MODULE_TAGS := optional
+	LOCAL_MODULE_CLASS := RECOVERY_EXECUTABLES
+	LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)/system/etc/init
+
+	LOCAL_SRC_FILES := init/$(LOCAL_MODULE)
+	include $(BUILD_PREBUILT)
+endif
+
+ifneq ($(TW_INCLUDE_CRYPTO),)
+	include $(CLEAR_VARS)
+	LOCAL_MODULE := vndservicemanager.rc
+	LOCAL_MODULE_TAGS := optional
+	LOCAL_MODULE_CLASS := RECOVERY_EXECUTABLES
+	LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)/system/etc/init
+
+	LOCAL_SRC_FILES := init/$(LOCAL_MODULE)
+	include $(BUILD_PREBUILT)
+endif
+
 ifeq ($(TWRP_INCLUDE_LOGCAT), true)
     ifeq ($(TARGET_USES_LOGD), true)
 
diff --git a/etc/init/android.hardware.boot@1.0-service.rc b/etc/init/android.hardware.boot@1.0-service.rc
new file mode 100644
index 0000000..2fd4451
--- /dev/null
+++ b/etc/init/android.hardware.boot@1.0-service.rc
@@ -0,0 +1,8 @@
+on post-fs
+    start boot-hal-1-0
+
+service boot-hal-1-0 /system/bin/android.hardware.boot@1.0-service
+    user root
+    group root
+    disabled
+    seclabel u:r:recovery:s0
diff --git a/etc/init/android.hardware.health@2.0-service.rc b/etc/init/android.hardware.health@2.0-service.rc
new file mode 100644
index 0000000..ef17467
--- /dev/null
+++ b/etc/init/android.hardware.health@2.0-service.rc
@@ -0,0 +1,10 @@
+on boot
+    start health-hal-2-0
+
+service health-hal-2-0 /system/bin/android.hardware.health@2.0-service
+    disabled
+    user root
+    group root
+    capabilities WAKE_ALARM
+    file /dev/kmsg w
+    seclabel u:r:recovery:s0
diff --git a/etc/init/vndservicemanager.rc b/etc/init/vndservicemanager.rc
new file mode 100644
index 0000000..149a378
--- /dev/null
+++ b/etc/init/vndservicemanager.rc
@@ -0,0 +1,10 @@
+on init
+    start vndservicemanager
+
+service vndservicemanager /system/bin/vndservicemanager /dev/vndbinder
+    disabled
+    user root
+    group root readproc
+    writepid /dev/cpuset/system-background/tasks
+    shutdown critical
+    seclabel u:r:recovery:s0