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/Android.mk b/Android.mk
index 5b2bdb1..bfd5797 100755
--- a/Android.mk
+++ b/Android.mk
@@ -146,7 +146,7 @@
ifeq ($(AB_OTA_UPDATER),true)
LOCAL_CFLAGS += -DAB_OTA_UPDATER=1
LOCAL_SHARED_LIBRARIES += libhardware android.hardware.boot@1.0
- TWRP_REQUIRED_MODULES += libhardware
+ TWRP_REQUIRED_MODULES += libhardware android.hardware.boot@1.0-service android.hardware.boot@1.0-service.rc
endif
ifeq ($(PRODUCT_USE_DYNAMIC_PARTITIONS),true)
@@ -390,22 +390,24 @@
init.recovery.hlthchrg.rc \
init.recovery.service.rc \
init.recovery.ldconfig.rc \
+ hwservicemanager \
hwservicemanager.rc \
+ servicemanager \
servicemanager.rc \
awk \
toybox \
toolbox \
mkshrc_twrp \
- android.hardware.health@2.0-service
+ android.hardware.health@2.0-service \
+ android.hardware.health@2.0-service.rc
ifneq ($(TW_INCLUDE_CRYPTO),)
TWRP_REQUIRED_MODULES += \
plat_service_contexts \
plat_hwservice_contexts \
vendor_hwservice_contexts \
- hwservicemanager \
- servicemanager \
vndservicemanager \
+ vndservicemanager.rc \
vold_prepare_subdirs \
task_recovery_profiles.json \
fscryptpolicyget
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
diff --git a/prebuilt/Android.mk b/prebuilt/Android.mk
index 09bdb7a..a7a5b79 100755
--- a/prebuilt/Android.mk
+++ b/prebuilt/Android.mk
@@ -79,6 +79,7 @@
RECOVERY_BINARY_SOURCE_FILES += $(TARGET_OUT_EXECUTABLES)/hwservicemanager
RECOVERY_BINARY_SOURCE_FILES += $(TARGET_OUT_EXECUTABLES)/servicemanager
RECOVERY_BINARY_SOURCE_FILES += $(TARGET_OUT_EXECUTABLES)/vold_prepare_subdirs
+RECOVERY_BINARY_SOURCE_FILES += $(TARGET_OUT_VENDOR_EXECUTABLES)/hw/android.hardware.boot@1.0-service
RECOVERY_BINARY_SOURCE_FILES += $(TARGET_OUT_VENDOR_EXECUTABLES)/vndservicemanager
RECOVERY_BINARY_SOURCE_FILES += $(TARGET_OUT_EXECUTABLES)/toybox
RECOVERY_BINARY_SOURCE_FILES += $(TARGET_OUT_VENDOR_EXECUTABLES)/hw/android.hardware.health@2.0-service