From 099b437c17f3ffce42a1649c7a92f7505e576ed2 Mon Sep 17 00:00:00 2001 From: marcost2 Date: Tue, 6 Jul 2021 13:03:14 -0300 Subject: [PATCH] Add support for separate kernels for boot and recovery [2/2] * Either as prebuilts, or with separate defconfigs Change-Id: Iae31e3634178e66b4119c718994fe1c660414529 --- core/Makefile | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/core/Makefile b/core/Makefile index 48bc74ed73..fe4ad16cb1 100644 --- a/core/Makefile +++ b/core/Makefile @@ -1021,6 +1021,17 @@ else INSTALLED_KERNEL_TARGET := endif +ifdef INSTALLED_KERNEL_TARGET +ifneq (,$(filter true,$(BOARD_USES_RECOVERY_AS_BOOT))) + INSTALLED_RECOVERY_KERNEL_TARGET := $(INSTALLED_KERNEL_TARGET) +else ifneq (true,$(BOARD_EXCLUDE_KERNEL_FROM_RECOVERY_IMAGE)) + ifneq "$(or $(TARGET_KERNEL_RECOVERY_CONFIG), $(TARGET_PREBUILT_RECOVERY_KERNEL))" "" + INSTALLED_RECOVERY_KERNEL_TARGET := $(PRODUCT_OUT)/recovery_kernel + else + INSTALLED_RECOVERY_KERNEL_TARGET := $(firstword $(INSTALLED_KERNEL_TARGET)) + endif +endif +endif # ----------------------------------------------------------------- # the root dir INSTALLED_FILES_OUTSIDE_IMAGES := $(filter-out $(TARGET_ROOT_OUT)/%, $(INSTALLED_FILES_OUTSIDE_IMAGES)) @@ -2536,7 +2547,7 @@ IGNORE_RECOVERY_SEPOLICY := $(patsubst $(TARGET_RECOVERY_OUT)/%,--exclude=/%,$(r # if building multiple boot images from multiple kernels, use the first kernel listed # for the recovery image -recovery_kernel := $(firstword $(INSTALLED_KERNEL_TARGET)) +recovery_kernel := $(INSTALLED_RECOVERY_KERNEL_TARGET) recovery_ramdisk := $(PRODUCT_OUT)/ramdisk-recovery.img recovery_uncompressed_ramdisk := $(PRODUCT_OUT)/ramdisk-recovery.cpio recovery_resources_common := bootable/recovery/res @@ -6535,6 +6546,7 @@ $(BUILT_TARGET_FILES_DIR): \ $(INSTALLED_PVMFW_EMBEDDED_AVBKEY_TARGET) \ $(INSTALLED_CUSTOMIMAGES_TARGET) \ $(INSTALLED_ANDROID_INFO_TXT_TARGET) \ + $(INSTALLED_RECOVERY_KERNEL_TARGET) \ $(INSTALLED_KERNEL_TARGET) \ $(INSTALLED_RAMDISK_TARGET) \ $(INSTALLED_DTBIMAGE_TARGET) \ @@ -6581,12 +6593,9 @@ ifneq (true,$(BOARD_INCLUDE_RECOVERY_RAMDISK_IN_VENDOR_BOOT)) $(hide) $(call package_files-copy-root, \ $(TARGET_RECOVERY_ROOT_OUT),$(zip_root)/$(PRIVATE_RECOVERY_OUT)/RAMDISK) endif -ifdef INSTALLED_KERNEL_TARGET -ifneq (,$(filter true,$(BOARD_USES_RECOVERY_AS_BOOT))) - cp $(INSTALLED_KERNEL_TARGET) $(zip_root)/$(PRIVATE_RECOVERY_OUT)/ -else ifneq (true,$(BOARD_EXCLUDE_KERNEL_FROM_RECOVERY_IMAGE)) - cp $(firstword $(INSTALLED_KERNEL_TARGET)) $(zip_root)/$(PRIVATE_RECOVERY_OUT)/kernel -endif +ifdef INSTALLED_RECOVERY_KERNEL_TARGET + # The python script that wraps it all up wants it to be named kernel, so do that + cp $(INSTALLED_RECOVERY_KERNEL_TARGET) $(zip_root)/$(PRIVATE_RECOVERY_OUT)/kernel endif ifneq (truetrue,$(strip $(BUILDING_VENDOR_BOOT_IMAGE))$(strip $(BOARD_USES_RECOVERY_AS_BOOT))) ifdef INSTALLED_2NDBOOTLOADER_TARGET