From d00a63cbd683155cb091e36d59c994434d9fb048 Mon Sep 17 00:00:00 2001 From: Aaron Kling Date: Thu, 10 Aug 2023 16:20:52 -0500 Subject: [PATCH] kernel: Support copying modules to recovery Change-Id: Iac275cfbea368d47f9cc8e756649ab094d9c57c5 --- build/tasks/kernel.mk | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/build/tasks/kernel.mk b/build/tasks/kernel.mk index 442e5e543..e5496d04b 100644 --- a/build/tasks/kernel.mk +++ b/build/tasks/kernel.mk @@ -405,6 +405,12 @@ KERNEL_VENDOR_RAMDISK_DEPMOD_STAGING_DIR := $(KERNEL_BUILD_OUT_PREFIX)$(call int $(INTERNAL_VENDOR_RAMDISK_TARGET): $(TARGET_PREBUILT_INT_KERNEL) endif +ifneq ($(RECOVERY_KERNEL_MODULES),) +KERNEL_RECOVERY_DEPMOD_STAGING_DIR := $(KERNEL_BUILD_OUT_PREFIX)$(call intermediates-dir-for,PACKAGING,depmod_recovery) +KERNEL_RECOVERY_MODULES_OUT := $(TARGET_RECOVERY_ROOT_OUT) +$(recovery_uncompressed_ramdisk): $(TARGET_PREBUILT_INT_KERNEL) +endif + $(KERNEL_OUT): mkdir -p $(KERNEL_OUT) @@ -447,6 +453,14 @@ $(TARGET_PREBUILT_INT_KERNEL): $(KERNEL_CONFIG) $(DEPMOD) $(DTC) $(PAHOLE) [ $$? -ne 0 ] && exit 1; \ ($(call build-image-kernel-modules-custom,$$vendor_boot_modules,$(KERNEL_VENDOR_RAMDISK_MODULES_OUT),/,$(KERNEL_VENDOR_RAMDISK_DEPMOD_STAGING_DIR),$(BOARD_VENDOR_RAMDISK_KERNEL_MODULES_LOAD))); \ ) \ + $(if $(RECOVERY_KERNEL_MODULES),\ + recovery_modules=$$(for m in $(RECOVERY_KERNEL_MODULES); do \ + p=$$(find $$kernel_modules_dir -type f -name $$m); \ + if [ -n "$$p" ]; then echo $$p; else echo "ERROR: $$m from RECOVERY_KERNEL_MODULES was not found" 1>&2 && exit 1; fi; \ + done); \ + [ $$? -ne 0 ] && exit 1; \ + ($(call build-image-kernel-modules-lineage,$$recovery_modules,$(KERNEL_RECOVERY_MODULES_OUT),/,$(KERNEL_RECOVERY_DEPMOD_STAGING_DIR),$(BOARD_RECOVERY_RAMDISK_KERNEL_MODULES_LOAD))); \ + ) \ fi .PHONY: kerneltags