module load: attempt to load modules from /vendor
Use TW_LOAD_VENDOR_MODULES := "module1.ko module2.ko modulen.ko"
in BoardConfig to have TWRP attempt to load kernel modules during
startup. For fastboot ramdisks, TWRP will attempt to load from
the ramdisk from /vendor/lib/modules. You can have the build
system copy the modules to
$(TARGET_RECOVERY_ROOT_OUT)/vendor/lib/modules/1.1
Otherwise in recovery in boot mode, TWRP will attempt the following:
check /lib/modules (ramdisk vendor_boot)
check /lib/modules/N.N (ramdisk vendor_boot)
check /lib/modules/N.N-gki (ramdisk vendor_boot)
check /vendor/lib/modules (ramdisk)
check /vendor/lib/modules/1.1 (ramdisk prebuilt modules)
check /vendor/lib/modules/N.N (vendor mounted)
check /vendor/lib/modules/N.N-gki (vendor mounted)
Change-Id: I2dccf199e37d47cb7a7e79b0e11026d67b4e3186
diff --git a/Android.mk b/Android.mk
index bc6341e..6ac4633 100755
--- a/Android.mk
+++ b/Android.mk
@@ -62,6 +62,7 @@
find_file.cpp \
infomanager.cpp \
data.cpp \
+ kernel_module_loader.cpp \
partition.cpp \
partitionmanager.cpp \
progresstracking.cpp \
@@ -155,7 +156,10 @@
ifeq ($(PRODUCT_USE_DYNAMIC_PARTITIONS),true)
LOCAL_CFLAGS += -DPRODUCT_USE_DYNAMIC_PARTITIONS=1
TWRP_REQUIRED_MODULES += android.hardware.health@2.1-service android.hardware.health@2.1-impl.recovery android.hardware.health@2.1-service.rc android.hardware.health@2.1.xml
- TWRP_REQUIRED_MODULES += android.hardware.health@2.0-service android.hardware.health@2.0-impl.recovery android.hardware.health@2.0-service.rc
+ TWRP_REQUIRED_MODULES += android.hardware.health@2.0-service android.hardware.health@2.0-impl.recovery android.hardware.health@2.0-service.rc
+ TWRP_REQUIRED_MODULES += libmodprobe
+ LOCAL_C_INCLUDES += system/core/libmodprobe/include/
+ LOCAL_STATIC_LIBRARIES += libmodprobe
ifeq ($(TW_EXCLUDE_LPDUMP),)
TWRP_REQUIRED_MODULES += lpdump lpdumpd.rc
endif
@@ -297,6 +301,9 @@
ifneq ($(TW_ADDITIONAL_APEX_FILES),)
LOCAL_CFLAGS += -DTW_ADDITIONAL_APEX_FILES=$(TW_ADDITIONAL_APEX_FILES)
endif
+ifneq ($(TW_LOAD_VENDOR_MODULES),)
+ LOCAL_CFLAGS += -DTW_LOAD_VENDOR_MODULES=$(TW_LOAD_VENDOR_MODULES)
+endif
ifeq ($(TW_INCLUDE_CRYPTO), true)
LOCAL_CFLAGS += -DTW_INCLUDE_CRYPTO -DUSE_FSCRYPT -Wno-macro-redefined
LOCAL_SHARED_LIBRARIES += libcryptfsfde