Loading Android.mk +55 −21 Original line number Diff line number Diff line Loading @@ -116,12 +116,18 @@ LOCAL_SHARED_LIBRARIES := LOCAL_STATIC_LIBRARIES += libguitwrp LOCAL_SHARED_LIBRARIES += libaosprecovery libz libc libcutils libstdc++ libtar libblkid libminuitwrp libminadbd libmtdutils libminzip libtwadbbu LOCAL_SHARED_LIBRARIES += libcrecovery libbase libcrypto LOCAL_SHARED_LIBRARIES += libcrecovery ifeq ($(shell test $(PLATFORM_SDK_VERSION) -lt 23; echo $$?),0) LOCAL_SHARED_LIBRARIES += libstlport LOCAL_SHARED_LIBRARIES += libstlport libmincrypttwrp LOCAL_C_INCLUDES += $(LOCAL_PATH)/libmincrypt/includes LOCAL_CFLAGS += -DUSE_OLD_VERIFIER else LOCAL_SHARED_LIBRARIES += libc++ LOCAL_SHARED_LIBRARIES += libc++ libcrypto endif ifeq ($(shell test $(PLATFORM_SDK_VERSION) -ge 24; echo $$?),0) LOCAL_SHARED_LIBRARIES += libbase endif ifneq ($(wildcard system/core/libsparse/Android.mk),) Loading Loading @@ -340,13 +346,15 @@ LOCAL_ADDITIONAL_DEPENDENCIES := \ mke2fs.conf \ pigz \ teamwin \ toolbox_symlinks \ twrp \ unpigz_symlink \ fsck.fat \ fatlabel \ mkfs.fat \ permissive.sh \ simg2img_twrp simg2img_twrp \ init.recovery.service.rc ifneq ($(TARGET_ARCH), arm64) ifneq ($(TARGET_ARCH), x86_64) Loading Loading @@ -503,6 +511,7 @@ endif # !TW_USE_TOOLBOX # recovery-persist (system partition dynamic executable run after /data mounts) # =============================== ifeq ($(shell test $(PLATFORM_SDK_VERSION) -ge 24; echo $$?),0) include $(CLEAR_VARS) LOCAL_SRC_FILES := recovery-persist.cpp LOCAL_MODULE := recovery-persist Loading @@ -510,9 +519,11 @@ LOCAL_SHARED_LIBRARIES := liblog libbase LOCAL_CFLAGS := -Werror LOCAL_INIT_RC := recovery-persist.rc include $(BUILD_EXECUTABLE) endif # recovery-refresh (system partition dynamic executable run at init) # =============================== ifeq ($(shell test $(PLATFORM_SDK_VERSION) -ge 24; echo $$?),0) include $(CLEAR_VARS) LOCAL_SRC_FILES := recovery-refresh.cpp LOCAL_MODULE := recovery-refresh Loading @@ -520,6 +531,7 @@ LOCAL_SHARED_LIBRARIES := liblog LOCAL_CFLAGS := -Werror LOCAL_INIT_RC := recovery-refresh.rc include $(BUILD_EXECUTABLE) endif # shared libfusesideload # =============================== Loading @@ -531,7 +543,14 @@ LOCAL_CFLAGS += -D_XOPEN_SOURCE -D_GNU_SOURCE LOCAL_MODULE_TAGS := optional LOCAL_MODULE := libfusesideload LOCAL_SHARED_LIBRARIES := libcutils libc libcrypto LOCAL_SHARED_LIBRARIES := libcutils libc ifeq ($(shell test $(PLATFORM_SDK_VERSION) -lt 22; echo $$?),0) LOCAL_C_INCLUDES := $(LOCAL_PATH)/libmincrypt/includes LOCAL_SHARED_LIBRARIES += libmincrypttwrp LOCAL_CFLAGS += -DUSE_MINCRYPT else LOCAL_SHARED_LIBRARIES += libcrypto endif include $(BUILD_SHARED_LIBRARY) # shared libaosprecovery for Apache code Loading @@ -540,8 +559,18 @@ include $(CLEAR_VARS) LOCAL_MODULE := libaosprecovery LOCAL_MODULE_TAGS := eng optional LOCAL_SRC_FILES := adb_install.cpp asn1_decoder.cpp bootloader.cpp legacy_property_service.c verifier.cpp set_metadata.c tw_atomic.cpp LOCAL_SHARED_LIBRARIES += libc liblog libcutils libmtdutils libfusesideload libselinux libcrypto LOCAL_CFLAGS := -std=gnu++0x LOCAL_SRC_FILES := adb_install.cpp asn1_decoder.cpp bootloader.cpp legacy_property_service.cpp set_metadata.cpp tw_atomic.cpp LOCAL_SHARED_LIBRARIES += libc liblog libcutils libmtdutils libfusesideload libselinux ifeq ($(shell test $(PLATFORM_SDK_VERSION) -lt 23; echo $$?),0) LOCAL_SHARED_LIBRARIES += libstdc++ libstlport libmincrypttwrp LOCAL_C_INCLUDES := bionic external/stlport/stlport $(LOCAL_PATH)/libmincrypt/includes LOCAL_SRC_FILES += oldverifier/verifier.cpp LOCAL_CFLAGS += -DUSE_OLD_VERIFIER else LOCAL_SHARED_LIBRARIES += libc++ libcrypto LOCAL_SRC_FILES += verifier.cpp endif ifneq ($(BOARD_RECOVERY_BLDRMSG_OFFSET),) LOCAL_CFLAGS += -DBOARD_RECOVERY_BLDRMSG_OFFSET=$(BOARD_RECOVERY_BLDRMSG_OFFSET) Loading Loading @@ -598,6 +627,7 @@ include $(commands_recovery_local_path)/injecttwrp/Android.mk \ $(commands_recovery_local_path)/libblkid/Android.mk \ $(commands_recovery_local_path)/minuitwrp/Android.mk \ $(commands_recovery_local_path)/openaes/Android.mk \ $(commands_recovery_local_path)/toolbox/Android.mk \ $(commands_recovery_local_path)/twrpTarMain/Android.mk \ $(commands_recovery_local_path)/mtp/Android.mk \ $(commands_recovery_local_path)/minzip/Android.mk \ Loading @@ -608,6 +638,10 @@ include $(commands_recovery_local_path)/injecttwrp/Android.mk \ $(commands_recovery_local_path)/adbbu/Android.mk \ $(commands_recovery_local_path)/libpixelflinger/Android.mk ifeq ($(shell test $(PLATFORM_SDK_VERSION) -lt 23; echo $$?),0) include $(commands_recovery_local_path)/libmincrypt/Android.mk endif ifeq ($(TW_INCLUDE_CRYPTO), true) include $(commands_recovery_local_path)/crypto/lollipop/Android.mk include $(commands_recovery_local_path)/crypto/scrypt/Android.mk Loading adb_install.cpp +4 −0 Original line number Diff line number Diff line Loading @@ -31,7 +31,11 @@ #include "adb_install.h" #include "minadbd/fuse_adb_provider.h" #include "fuse_sideload.h" #ifdef USE_OLD_VERIFIER #include "oldverifier/verifier.h" #else #include "verifier.h" #endif static RecoveryUI* ui = NULL; Loading bootloader.cpp +11 −8 Original line number Diff line number Diff line Loading @@ -32,7 +32,7 @@ extern "C" { #include "common.h" #include "mtdutils/mtdutils.h" //#include "roots.h" #include "unique_fd.h" //#include "unique_fd.h" // fake Volume struct that allows us to use the AOSP code easily struct Volume Loading Loading @@ -232,33 +232,36 @@ static int get_bootloader_message_block(bootloader_message* out, static int set_bootloader_message_block(const bootloader_message* in, const Volume* v) { wait_for_device(v->blk_device); unique_fd fd(open(v->blk_device, O_WRONLY | O_SYNC)); if (fd.get() == -1) { int fd = open(v->blk_device, O_WRONLY | O_SYNC); if (fd == -1) { LOGE("failed to open \"%s\": %s\n", v->blk_device, strerror(errno)); return -1; } #ifdef BOARD_RECOVERY_BLDRMSG_OFFSET lseek(fd.get(), BOARD_RECOVERY_BLDRMSG_OFFSET, SEEK_SET); lseek(fd, BOARD_RECOVERY_BLDRMSG_OFFSET, SEEK_SET); #endif size_t written = 0; const uint8_t* start = reinterpret_cast<const uint8_t*>(in); size_t total = sizeof(*in); while (written < total) { ssize_t wrote = TEMP_FAILURE_RETRY(write(fd.get(), start + written, total - written)); ssize_t wrote = TEMP_FAILURE_RETRY(write(fd, start + written, total - written)); if (wrote == -1) { LOGE("failed to write %" PRId64 " bytes: %s\n", static_cast<off64_t>(written), strerror(errno)); LOGE("failed to write some bytes: %s\n", strerror(errno)); close(fd); return -1; } written += wrote; } if (fsync(fd.get()) == -1) { if (fsync(fd) == -1) { LOGE("failed to fsync \"%s\": %s\n", v->blk_device, strerror(errno)); close(fd); return -1; } close(fd); return 0; } Loading etc/Android.mk +20 −0 Original line number Diff line number Diff line Loading @@ -31,6 +31,26 @@ include $(BUILD_PREBUILT) endif ifeq ($(shell test $(PLATFORM_SDK_VERSION) -ge 22; echo $$?),0) include $(CLEAR_VARS) LOCAL_MODULE := init.recovery.service.rc LOCAL_MODULE_TAGS := eng LOCAL_MODULE_CLASS := RECOVERY_EXECUTABLES LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT) LOCAL_SRC_FILES := init.recovery.servicenew.rc include $(BUILD_PREBUILT) else include $(CLEAR_VARS) LOCAL_MODULE := init.recovery.service.rc LOCAL_MODULE_TAGS := eng LOCAL_MODULE_CLASS := RECOVERY_EXECUTABLES LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT) LOCAL_SRC_FILES := init.recovery.serviceold.rc include $(BUILD_PREBUILT) endif ifeq ($(TWRP_INCLUDE_LOGCAT), true) ifeq ($(TARGET_USES_LOGD), true) Loading etc/init.rc +1 −3 Original line number Diff line number Diff line import /init.recovery.logd.rc import /init.recovery.usb.rc import /init.recovery.service.rc import /init.recovery.${ro.hardware}.rc on early-init Loading Loading @@ -109,9 +110,6 @@ service healthd /sbin/healthd -r critical seclabel u:r:healthd:s0 service recovery /sbin/recovery seclabel u:r:recovery:s0 service adbd /sbin/adbd --root_seclabel=u:r:su:s0 --device_banner=recovery disabled socket adbd stream 660 system system Loading Loading
Android.mk +55 −21 Original line number Diff line number Diff line Loading @@ -116,12 +116,18 @@ LOCAL_SHARED_LIBRARIES := LOCAL_STATIC_LIBRARIES += libguitwrp LOCAL_SHARED_LIBRARIES += libaosprecovery libz libc libcutils libstdc++ libtar libblkid libminuitwrp libminadbd libmtdutils libminzip libtwadbbu LOCAL_SHARED_LIBRARIES += libcrecovery libbase libcrypto LOCAL_SHARED_LIBRARIES += libcrecovery ifeq ($(shell test $(PLATFORM_SDK_VERSION) -lt 23; echo $$?),0) LOCAL_SHARED_LIBRARIES += libstlport LOCAL_SHARED_LIBRARIES += libstlport libmincrypttwrp LOCAL_C_INCLUDES += $(LOCAL_PATH)/libmincrypt/includes LOCAL_CFLAGS += -DUSE_OLD_VERIFIER else LOCAL_SHARED_LIBRARIES += libc++ LOCAL_SHARED_LIBRARIES += libc++ libcrypto endif ifeq ($(shell test $(PLATFORM_SDK_VERSION) -ge 24; echo $$?),0) LOCAL_SHARED_LIBRARIES += libbase endif ifneq ($(wildcard system/core/libsparse/Android.mk),) Loading Loading @@ -340,13 +346,15 @@ LOCAL_ADDITIONAL_DEPENDENCIES := \ mke2fs.conf \ pigz \ teamwin \ toolbox_symlinks \ twrp \ unpigz_symlink \ fsck.fat \ fatlabel \ mkfs.fat \ permissive.sh \ simg2img_twrp simg2img_twrp \ init.recovery.service.rc ifneq ($(TARGET_ARCH), arm64) ifneq ($(TARGET_ARCH), x86_64) Loading Loading @@ -503,6 +511,7 @@ endif # !TW_USE_TOOLBOX # recovery-persist (system partition dynamic executable run after /data mounts) # =============================== ifeq ($(shell test $(PLATFORM_SDK_VERSION) -ge 24; echo $$?),0) include $(CLEAR_VARS) LOCAL_SRC_FILES := recovery-persist.cpp LOCAL_MODULE := recovery-persist Loading @@ -510,9 +519,11 @@ LOCAL_SHARED_LIBRARIES := liblog libbase LOCAL_CFLAGS := -Werror LOCAL_INIT_RC := recovery-persist.rc include $(BUILD_EXECUTABLE) endif # recovery-refresh (system partition dynamic executable run at init) # =============================== ifeq ($(shell test $(PLATFORM_SDK_VERSION) -ge 24; echo $$?),0) include $(CLEAR_VARS) LOCAL_SRC_FILES := recovery-refresh.cpp LOCAL_MODULE := recovery-refresh Loading @@ -520,6 +531,7 @@ LOCAL_SHARED_LIBRARIES := liblog LOCAL_CFLAGS := -Werror LOCAL_INIT_RC := recovery-refresh.rc include $(BUILD_EXECUTABLE) endif # shared libfusesideload # =============================== Loading @@ -531,7 +543,14 @@ LOCAL_CFLAGS += -D_XOPEN_SOURCE -D_GNU_SOURCE LOCAL_MODULE_TAGS := optional LOCAL_MODULE := libfusesideload LOCAL_SHARED_LIBRARIES := libcutils libc libcrypto LOCAL_SHARED_LIBRARIES := libcutils libc ifeq ($(shell test $(PLATFORM_SDK_VERSION) -lt 22; echo $$?),0) LOCAL_C_INCLUDES := $(LOCAL_PATH)/libmincrypt/includes LOCAL_SHARED_LIBRARIES += libmincrypttwrp LOCAL_CFLAGS += -DUSE_MINCRYPT else LOCAL_SHARED_LIBRARIES += libcrypto endif include $(BUILD_SHARED_LIBRARY) # shared libaosprecovery for Apache code Loading @@ -540,8 +559,18 @@ include $(CLEAR_VARS) LOCAL_MODULE := libaosprecovery LOCAL_MODULE_TAGS := eng optional LOCAL_SRC_FILES := adb_install.cpp asn1_decoder.cpp bootloader.cpp legacy_property_service.c verifier.cpp set_metadata.c tw_atomic.cpp LOCAL_SHARED_LIBRARIES += libc liblog libcutils libmtdutils libfusesideload libselinux libcrypto LOCAL_CFLAGS := -std=gnu++0x LOCAL_SRC_FILES := adb_install.cpp asn1_decoder.cpp bootloader.cpp legacy_property_service.cpp set_metadata.cpp tw_atomic.cpp LOCAL_SHARED_LIBRARIES += libc liblog libcutils libmtdutils libfusesideload libselinux ifeq ($(shell test $(PLATFORM_SDK_VERSION) -lt 23; echo $$?),0) LOCAL_SHARED_LIBRARIES += libstdc++ libstlport libmincrypttwrp LOCAL_C_INCLUDES := bionic external/stlport/stlport $(LOCAL_PATH)/libmincrypt/includes LOCAL_SRC_FILES += oldverifier/verifier.cpp LOCAL_CFLAGS += -DUSE_OLD_VERIFIER else LOCAL_SHARED_LIBRARIES += libc++ libcrypto LOCAL_SRC_FILES += verifier.cpp endif ifneq ($(BOARD_RECOVERY_BLDRMSG_OFFSET),) LOCAL_CFLAGS += -DBOARD_RECOVERY_BLDRMSG_OFFSET=$(BOARD_RECOVERY_BLDRMSG_OFFSET) Loading Loading @@ -598,6 +627,7 @@ include $(commands_recovery_local_path)/injecttwrp/Android.mk \ $(commands_recovery_local_path)/libblkid/Android.mk \ $(commands_recovery_local_path)/minuitwrp/Android.mk \ $(commands_recovery_local_path)/openaes/Android.mk \ $(commands_recovery_local_path)/toolbox/Android.mk \ $(commands_recovery_local_path)/twrpTarMain/Android.mk \ $(commands_recovery_local_path)/mtp/Android.mk \ $(commands_recovery_local_path)/minzip/Android.mk \ Loading @@ -608,6 +638,10 @@ include $(commands_recovery_local_path)/injecttwrp/Android.mk \ $(commands_recovery_local_path)/adbbu/Android.mk \ $(commands_recovery_local_path)/libpixelflinger/Android.mk ifeq ($(shell test $(PLATFORM_SDK_VERSION) -lt 23; echo $$?),0) include $(commands_recovery_local_path)/libmincrypt/Android.mk endif ifeq ($(TW_INCLUDE_CRYPTO), true) include $(commands_recovery_local_path)/crypto/lollipop/Android.mk include $(commands_recovery_local_path)/crypto/scrypt/Android.mk Loading
adb_install.cpp +4 −0 Original line number Diff line number Diff line Loading @@ -31,7 +31,11 @@ #include "adb_install.h" #include "minadbd/fuse_adb_provider.h" #include "fuse_sideload.h" #ifdef USE_OLD_VERIFIER #include "oldverifier/verifier.h" #else #include "verifier.h" #endif static RecoveryUI* ui = NULL; Loading
bootloader.cpp +11 −8 Original line number Diff line number Diff line Loading @@ -32,7 +32,7 @@ extern "C" { #include "common.h" #include "mtdutils/mtdutils.h" //#include "roots.h" #include "unique_fd.h" //#include "unique_fd.h" // fake Volume struct that allows us to use the AOSP code easily struct Volume Loading Loading @@ -232,33 +232,36 @@ static int get_bootloader_message_block(bootloader_message* out, static int set_bootloader_message_block(const bootloader_message* in, const Volume* v) { wait_for_device(v->blk_device); unique_fd fd(open(v->blk_device, O_WRONLY | O_SYNC)); if (fd.get() == -1) { int fd = open(v->blk_device, O_WRONLY | O_SYNC); if (fd == -1) { LOGE("failed to open \"%s\": %s\n", v->blk_device, strerror(errno)); return -1; } #ifdef BOARD_RECOVERY_BLDRMSG_OFFSET lseek(fd.get(), BOARD_RECOVERY_BLDRMSG_OFFSET, SEEK_SET); lseek(fd, BOARD_RECOVERY_BLDRMSG_OFFSET, SEEK_SET); #endif size_t written = 0; const uint8_t* start = reinterpret_cast<const uint8_t*>(in); size_t total = sizeof(*in); while (written < total) { ssize_t wrote = TEMP_FAILURE_RETRY(write(fd.get(), start + written, total - written)); ssize_t wrote = TEMP_FAILURE_RETRY(write(fd, start + written, total - written)); if (wrote == -1) { LOGE("failed to write %" PRId64 " bytes: %s\n", static_cast<off64_t>(written), strerror(errno)); LOGE("failed to write some bytes: %s\n", strerror(errno)); close(fd); return -1; } written += wrote; } if (fsync(fd.get()) == -1) { if (fsync(fd) == -1) { LOGE("failed to fsync \"%s\": %s\n", v->blk_device, strerror(errno)); close(fd); return -1; } close(fd); return 0; } Loading
etc/Android.mk +20 −0 Original line number Diff line number Diff line Loading @@ -31,6 +31,26 @@ include $(BUILD_PREBUILT) endif ifeq ($(shell test $(PLATFORM_SDK_VERSION) -ge 22; echo $$?),0) include $(CLEAR_VARS) LOCAL_MODULE := init.recovery.service.rc LOCAL_MODULE_TAGS := eng LOCAL_MODULE_CLASS := RECOVERY_EXECUTABLES LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT) LOCAL_SRC_FILES := init.recovery.servicenew.rc include $(BUILD_PREBUILT) else include $(CLEAR_VARS) LOCAL_MODULE := init.recovery.service.rc LOCAL_MODULE_TAGS := eng LOCAL_MODULE_CLASS := RECOVERY_EXECUTABLES LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT) LOCAL_SRC_FILES := init.recovery.serviceold.rc include $(BUILD_PREBUILT) endif ifeq ($(TWRP_INCLUDE_LOGCAT), true) ifeq ($(TARGET_USES_LOGD), true) Loading
etc/init.rc +1 −3 Original line number Diff line number Diff line import /init.recovery.logd.rc import /init.recovery.usb.rc import /init.recovery.service.rc import /init.recovery.${ro.hardware}.rc on early-init Loading Loading @@ -109,9 +110,6 @@ service healthd /sbin/healthd -r critical seclabel u:r:healthd:s0 service recovery /sbin/recovery seclabel u:r:recovery:s0 service adbd /sbin/adbd --root_seclabel=u:r:su:s0 --device_banner=recovery disabled socket adbd stream 660 system system Loading