Skip to content

Instantly share code, notes, and snippets.

@meganukebmp
Last active March 29, 2018 01:35
Show Gist options
  • Save meganukebmp/76b239f4b408b99075c5504b39cde368 to your computer and use it in GitHub Desktop.
Save meganukebmp/76b239f4b408b99075c5504b39cde368 to your computer and use it in GitHub Desktop.
diff --git a/core/Makefile b/core/Makefile
index b3f719a4f..2b1b9b638 100644
--- a/core/Makefile
+++ b/core/Makefile
@@ -657,6 +657,12 @@ ifdef INTERNAL_KERNEL_CMDLINE
INTERNAL_BOOTIMAGE_ARGS += --cmdline "$(INTERNAL_KERNEL_CMDLINE)"
endif
+ifeq (true,$(strip $(TARGET_RECOVERY_HAS_PREBUILT_KERNEL)))
+ ifdef TARGET_RECOVERY_KERNEL_CMDLINE
+ INTERNAL_RECOVERYIMAGE_KERNEL_CMDLINE := $(strip $(TARGET_RECOVERY_KERNEL_CMDLINE) buildvariant=$(TARGET_BUILD_VARIANT) $(VERITY_KEYID))
+ endif
+endif
+
INTERNAL_MKBOOTIMG_VERSION_ARGS := \
--os_version $(PLATFORM_VERSION) \
--os_patch_level $(PLATFORM_SECURITY_PATCH)
@@ -1106,7 +1112,11 @@ recovery_sepolicy := \
# SELinux files
IGNORE_RECOVERY_SEPOLICY := $(patsubst $(TARGET_RECOVERY_OUT)/%,--exclude=/%,$(recovery_sepolicy))
+ifeq (true,$(strip $(TARGET_RECOVERY_HAS_PREBUILT_KERNEL)))
+recovery_kernel := $(TARGET_RECOVERY_PREBUILT_KERNEL) # use prebuilt kernel
+else
recovery_kernel := $(INSTALLED_KERNEL_TARGET) # same as a non-recovery system
+endif
recovery_ramdisk := $(PRODUCT_OUT)/ramdisk-recovery.img
recovery_uncompressed_ramdisk := $(PRODUCT_OUT)/ramdisk-recovery.cpio
recovery_build_props := $(intermediate_system_build_prop)
@@ -1201,18 +1211,36 @@ INTERNAL_RECOVERYIMAGE_ARGS := \
--ramdisk $(recovery_ramdisk)
# Assumes this has already been stripped
-ifdef INTERNAL_KERNEL_CMDLINE
- INTERNAL_RECOVERYIMAGE_ARGS += --cmdline "$(INTERNAL_KERNEL_CMDLINE)"
+ifdef INTERNAL_RECOVERYIMAGE_KERNEL_CMDLINE
+ INTERNAL_RECOVERYIMAGE_ARGS += --cmdline "$(INTERNAL_RECOVERYIMAGE_KERNEL_CMDLINE)"
+else
+ ifdef INTERNAL_KERNEL_CMDLINE
+ INTERNAL_RECOVERYIMAGE_ARGS += --cmdline "$(INTERNAL_KERNEL_CMDLINE)"
+ endif
endif
-ifdef BOARD_KERNEL_BASE
- INTERNAL_RECOVERYIMAGE_ARGS += --base $(BOARD_KERNEL_BASE)
+ifdef TARGET_RECOVERY_KERNEL_BASE
+ INTERNAL_RECOVERYIMAGE_ARGS += --base $(TARGET_RECOVERY_KERNEL_BASE)
+else
+ ifdef BOARD_KERNEL_BASE
+ INTERNAL_RECOVERYIMAGE_ARGS += --base $(BOARD_KERNEL_BASE)
+ endif
endif
-ifdef BOARD_KERNEL_PAGESIZE
- INTERNAL_RECOVERYIMAGE_ARGS += --pagesize $(BOARD_KERNEL_PAGESIZE)
+ifdef TARGET_RECOVERY_KERNEL_PAGESIZE
+ INTERNAL_RECOVERYIMAGE_ARGS += --pagesize $(TARGET_RECOVERY_KERNEL_PAGESIZE)
+else
+ ifdef BOARD_KERNEL_PAGESIZE
+ INTERNAL_RECOVERYIMAGE_ARGS += --pagesize $(BOARD_KERNEL_PAGESIZE)
+ endif
endif
ifeq ($(strip $(BOARD_KERNEL_SEPARATED_DT)),true)
- INTERNAL_RECOVERYIMAGE_ARGS += --dt $(INSTALLED_DTIMAGE_TARGET)
- RECOVERYIMAGE_EXTRA_DEPS := $(INSTALLED_DTIMAGE_TARGET)
+ # Use prebuilt DT
+ ifeq(true,$(strip $(TARGET_RECOVERY_HAS_PREBUILT_KERNEL)))
+ INTERNAL_RECOVERYIMAGE_ARGS += --dt $(TARGET_RECOVERY_PREBUILT_DT)
+ RECOVERYIMAGE_EXTRA_DEPS := $(TARGET_RECOVERY_PREBUILT_DT)
+ else
+ INTERNAL_RECOVERYIMAGE_ARGS += --dt $(INSTALLED_DTIMAGE_TARGET)
+ RECOVERYIMAGE_EXTRA_DEPS := $(INSTALLED_DTIMAGE_TARGET)
+ endif
endif
# Keys authorized to sign OTA packages this build will accept. The
11345920 > 10855680 - 270336
11341824
**Hack this to use precompiled kernel**
[build/core/Makefile]:1109
recovery_kernel := $(INSTALLED_KERNEL_TARGET) # same as a non-recovery system
TARGET_KERNEL_SOURCE
./device/motorola/msm8226-common/BoardConfigCommon.mk:50:TARGET_KERNEL_SOURCE := kernel/motorola/msm8226
./vendor/lineage/build/tasks/kernel.mk:24:# TARGET_KERNEL_SOURCE = Kernel source dir, optional, defaults
./vendor/lineage/build/tasks/kernel.mk:77:TARGET_KERNEL_SOURCE ?= $(TARGET_AUTO_KDIR)
./vendor/lineage/build/tasks/kernel.mk:78:KERNEL_SRC := $(TARGET_KERNEL_SOURCE)
THE EDIT BELLOW IS NOT RECOMMENDED!!! IT OVERWRITES DT AND KERNEL!!!
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment