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
This commit is contained in:
Captain Throwback
2020-10-19 11:13:53 -04:00
committed by bigbiff
parent 8bd1ac5f7c
commit 49df5475db
6 changed files with 66 additions and 4 deletions

View File

@@ -146,7 +146,7 @@ endif
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 @@ TWRP_REQUIRED_MODULES += \
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

View File

@@ -76,6 +76,37 @@ LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)/system/etc/init
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)

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -79,6 +79,7 @@ RECOVERY_BINARY_SOURCE_FILES += $(TARGET_OUT_EXECUTABLES)/keystore_cli_v2
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