summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDivya Sharma <divyash@codeaurora.org>2020-07-21 12:12:55 -0700
committerDivya Sharma <divyash@codeaurora.org>2020-07-21 12:13:04 -0700
commit07233ecc3355d04e0169fce90c602774f450a980 (patch)
treeeb103743326766bcd4fc7f9aae20e75eff96a120
parent88d1a139bda8101dce3f4cd3f95e6aeab7639296 (diff)
Revert "kernelscripts: Enhance the build scripts to build additional kernel"
This reverts commit 88d1a139bda8101dce3f4cd3f95e6aeab7639296. Change-Id: I08cc78b4d86a32809eb6c0e5604e8b03d028d379
-rwxr-xr-xbuildkernel.sh2
-rw-r--r--kernel_definitions.mk132
2 files changed, 40 insertions, 94 deletions
diff --git a/buildkernel.sh b/buildkernel.sh
index f5e8e0a..26a6a42 100755
--- a/buildkernel.sh
+++ b/buildkernel.sh
@@ -383,7 +383,7 @@ if [ ! -z ${USE_PREBUILT_KERNEL} ] && [ -d ${KERNEL_BINS} ]; then
fi
#use kernel source for building
-if [ "${HEADERS_INSTALL}" -ne "0" ]; then
+if [ ! -z ${HEADERS_INSTALL} ]; then
make_defconfig
headers_install
else
diff --git a/kernel_definitions.mk b/kernel_definitions.mk
index c53db0f..6e8baf9 100644
--- a/kernel_definitions.mk
+++ b/kernel_definitions.mk
@@ -148,59 +148,20 @@ TARGET_PREBUILT_KERNEL := $(TARGET_PREBUILT_INT_KERNEL)
endif
endif
-# If the configuration is QGKI, build the GKI kernel as well
-# The build system overrides INSTALLED_KERNEL_TARGET if BOARD_KERNEL_BINARIES is defined
-ifeq ($(GKI_KERNEL),1)
- ifeq "$(KERNEL_DEFCONFIG)" "vendor/$(TARGET_BOARD_PLATFORM)-qgki_defconfig"
- $(info Additional GKI images will be built)
- BOARD_KERNEL_BINARIES := kernel kernel-gki
- INSTALLED_KERNEL_TARGET := $(foreach k,$(BOARD_KERNEL_BINARIES), $(PRODUCT_OUT)/$(k))
-
- # Create new definitions for building an additional GKI kernel on the side
- GKI_INSTALLED_KERNEL_TARGET := $(PRODUCT_OUT)/kernel-gki
- GKI_KERNEL_DEFCONFIG := vendor/$(TARGET_BOARD_PLATFORM)-gki_defconfig
- GKI_KERNEL_OUT := $(TARGET_OUT_INTERMEDIATES)/kernel-gki/$(TARGET_KERNEL)
- GKI_KERNEL_MODULES_OUT := $(PRODUCT_OUT)/$(KERNEL_MODULES_INSTALL)/lib/modules/gki
- GKI_KERNEL_HEADERS_INSTALL := $(GKI_KERNEL_OUT)/usr
- GKI_TARGET_PREBUILT_INT_KERNEL := $(subst kernel,kernel-gki,$(TARGET_PREBUILT_INT_KERNEL))
- GKI_TARGET_PREBUILT_KERNEL := $(GKI_TARGET_PREBUILT_INT_KERNEL)
- GKI_TARGET_MODULES_DIR := $(TARGET_KERNEL_VERSION)-gki
-
- BOARD_KERNEL_MODULE_DIRS := $(GKI_TARGET_MODULES_DIR)
- endif
-endif
-
# Archieve the DLKMs that goes into vendor.img and vendor-ramdisk.
# Also, make them dependent on the kernel compilation.
VENDOR_KERNEL_MODULES_ARCHIVE := vendor_modules.zip
BOARD_VENDOR_KERNEL_MODULES_ARCHIVE := $(KERNEL_MODULES_OUT)/$(VENDOR_KERNEL_MODULES_ARCHIVE)
$(BOARD_VENDOR_KERNEL_MODULES_ARCHIVE): $(TARGET_PREBUILT_KERNEL)
-ifneq ($(GKI_INSTALLED_KERNEL_TARGET),)
-BOARD_VENDOR_KERNEL_MODULES_ARCHIVE_$(GKI_TARGET_MODULES_DIR) := $(GKI_KERNEL_MODULES_OUT)/$(VENDOR_KERNEL_MODULES_ARCHIVE)
-$(BOARD_VENDOR_KERNEL_MODULES_ARCHIVE_$(GKI_TARGET_MODULES_DIR)): $(GKI_TARGET_PREBUILT_KERNEL)
-endif
-
-BOARD_VENDOR_KERNEL_MODULES_$(GKI_TARGET_MODULES_DIR) = \
- $(foreach mod, $(BOARD_VENDOR_KERNEL_MODULES), \
- $(subst $(KERNEL_MODULES_OUT), $(GKI_KERNEL_MODULES_OUT), $(mod)))
-
$(warning VENDOR_RAMDISK_KERNEL_MODLUES = $(VENDOR_RAMDISK_KERNEL_MODLUES))
ifneq ($(VENDOR_RAMDISK_KERNEL_MODULES),)
VENDOR_RAMDISK_KERNEL_MODULES_ARCHIVE := vendor_ramdisk_modules.zip
-
-ifeq "$(KERNEL_DEFCONFIG)" "vendor/$(TARGET_BOARD_PLATFORM)-gki_defconfig"
BOARD_VENDOR_RAMDISK_KERNEL_MODULES_ARCHIVE := $(KERNEL_MODULES_OUT)/$(VENDOR_RAMDISK_KERNEL_MODULES_ARCHIVE)
$(BOARD_VENDOR_RAMDISK_KERNEL_MODULES_ARCHIVE): $(TARGET_PREBUILT_KERNEL)
endif
-ifneq ($(GKI_INSTALLED_KERNEL_TARGET),)
-BOARD_VENDOR_RAMDISK_KERNEL_MODULES_ARCHIVE_$(GKI_TARGET_MODULES_DIR) := $(GKI_KERNEL_MODULES_OUT)/$(VENDOR_RAMDISK_KERNEL_MODULES_ARCHIVE)
-$(BOARD_VENDOR_RAMDISK_KERNEL_MODULES_ARCHIVE_$(GKI_TARGET_MODULES_DIR)): $(GKI_TARGET_PREBUILT_KERNEL)
-endif
-endif
-
# Add RTIC DTB to dtb.img if RTIC MPGen is enabled.
# Note: unfortunately we can't define RTIC DTS + DTB rule here as the
# following variable/ tools (needed for DTS generation)
@@ -213,40 +174,19 @@ RTIC_DTB := $(KERNEL_SYMLINK)/rtic_mp.dtb
endif
MAKE_PATH := $(SOURCE_ROOT)/prebuilts/build-tools/linux-x86/bin/
+# Android Kernel make rules
-# Helper functions
-
-ifeq ($(GKI_KERNEL),1)
-# Generate the defconfig file from fragments
-# $(1): The defconfig to generate. For example, vendor/lahaina-qgki_defconfig
-define generate-defconfig
- set -x; \
- ARCH=$(KERNEL_ARCH) CROSS_COMPILE=$(KERNEL_CROSS_COMPILE) $(real_cc) KERN_OUT=$(KERNEL_OUT) $(TARGET_KERNEL_MAKE_ENV) MAKE_PATH=$(MAKE_PATH) $(TARGET_KERNEL_SOURCE)/scripts/gki/generate_defconfig.sh $(1); \
- set +x
-endef
-else
-define generate-defconfig
-endef
-endif
-
-# Build the kernel
-# $(1): KERNEL_DEFCONFIG to build for
-# $(2): KERNEL_OUT directory
-# $(3): KERNEL_MODULES_OUT directory
-# $(4): KERNEL_HEADERS_INSTALL directory
-# $(5): HEADERS_INSTALL; If 1, the call would just generate the headers and quit
-# $(6): TARGET_PREBUILT_INT_KERNEL: The location to the kernel's binary format (Image, zImage, and so on)
-define build-kernel
+$(KERNEL_HEADERS_INSTALL): $(KERNEL_OUT) $(KERNEL_GENERATE_DEFCONFIG) $(DTC) $(UFDT_APPLY_OVERLAY)
KERNEL_DIR=$(TARGET_KERNEL_SOURCE) \
- DEFCONFIG=$(1) \
- OUT_DIR=$(2) \
+ DEFCONFIG=$(KERNEL_DEFCONFIG) \
+ OUT_DIR=$(KERNEL_OUT) \
MAKE_PATH=$(MAKE_PATH)\
ARCH=$(KERNEL_ARCH) \
CROSS_COMPILE=$(KERNEL_CROSS_COMPILE) \
- KERNEL_MODULES_OUT=$(3) \
- KERNEL_HEADERS_INSTALL=$(4) \
- HEADERS_INSTALL=$(5) \
- TARGET_PREBUILT_INT_KERNEL=$(6) \
+ KERNEL_MODULES_OUT=$(KERNEL_MODULES_OUT) \
+ KERNEL_HEADERS_INSTALL=$(KERNEL_HEADERS_INSTALL) \
+ HEADERS_INSTALL=1 \
+ TARGET_PREBUILT_INT_KERNEL=$(TARGET_PREBUILT_INT_KERNEL) \
TARGET_INCLUDES=$(TARGET_KERNEL_MAKE_CFLAGS) \
TARGET_LINCLUDES=$(TARGET_KERNEL_MAKE_LDFLAGS) \
VENDOR_KERNEL_MODULES_ARCHIVE=$(VENDOR_KERNEL_MODULES_ARCHIVE) \
@@ -256,13 +196,6 @@ define build-kernel
device/qcom/kernelscripts/buildkernel.sh \
$(real_cc) \
$(TARGET_KERNEL_MAKE_ENV)
-endef
-
-# Android Kernel make rules
-
-$(KERNEL_HEADERS_INSTALL): $(KERNEL_OUT) $(DTC) $(UFDT_APPLY_OVERLAY)
- $(call generate-defconfig,$(KERNEL_DEFCONFIG)); \
- $(call build-kernel,$(KERNEL_DEFCONFIG),$(KERNEL_OUT),$(KERNEL_MODULES_OUT),$(KERNEL_HEADERS_INSTALL),1,$(TARGET_PREBUILT_INT_KERNEL))
$(KERNEL_OUT):
mkdir -p $(KERNEL_OUT)
@@ -271,24 +204,37 @@ $(KERNEL_USR): $(KERNEL_HEADERS_INSTALL)
rm -rf $(KERNEL_SYMLINK)
ln -s kernel/$(TARGET_KERNEL) $(KERNEL_SYMLINK)
-$(TARGET_PREBUILT_KERNEL): $(KERNEL_OUT) $(DTC) $(KERNEL_USR)
- echo "Building the requested kernel.."; \
- $(call generate-defconfig,$(KERNEL_DEFCONFIG)); \
- $(call build-kernel,$(KERNEL_DEFCONFIG),$(KERNEL_OUT),$(KERNEL_MODULES_OUT),$(KERNEL_HEADERS_INSTALL),0,$(TARGET_PREBUILT_INT_KERNEL))
-
-# Make GKI_TARGET_PREBUILT_KERNEL dependent on TARGET_PREBUILT_KERNEL just so
-# that the builds are serialzed. This is just to avoid hogging CPU resoruces
-# and to avoid any potential race-conditions.
-$(GKI_TARGET_PREBUILT_KERNEL): $(DTC) $(TARGET_PREBUILT_KERNEL)
- echo "Building GKI kernel.."; \
- $(call generate-defconfig,$(GKI_KERNEL_DEFCONFIG)); \
- $(call build-kernel,$(GKI_KERNEL_DEFCONFIG),$(GKI_KERNEL_OUT),$(GKI_KERNEL_MODULES_OUT),$(GKI_KERNEL_HEADERS_INSTALL),0,$(GKI_TARGET_PREBUILT_INT_KERNEL))
-
-$(INSTALLED_KERNEL_TARGET): $(TARGET_PREBUILT_KERNEL) $(GKI_TARGET_PREBUILT_KERNEL)
- cp $(TARGET_PREBUILT_KERNEL) $(PRODUCT_OUT)/kernel
- if [ ! -z "$(GKI_TARGET_PREBUILT_KERNEL)" ]; then \
- cp $(GKI_TARGET_PREBUILT_KERNEL) $(PRODUCT_OUT)/kernel-gki; \
- fi
+$(TARGET_PREBUILT_KERNEL): $(KERNEL_OUT) $(KERNEL_GENERATE_DEFCONFIG) $(DTC) $(KERNEL_USR)
+ KERNEL_DIR=$(TARGET_KERNEL_SOURCE) \
+ DEFCONFIG=$(KERNEL_DEFCONFIG) \
+ OUT_DIR=$(KERNEL_OUT) \
+ MAKE_PATH=$(MAKE_PATH)\
+ ARCH=$(KERNEL_ARCH) \
+ CROSS_COMPILE=$(KERNEL_CROSS_COMPILE) \
+ KERNEL_MODULES_OUT=$(KERNEL_MODULES_OUT) \
+ KERNEL_HEADERS_INSTALL=$(KERNEL_HEADERS_INSTALL) \
+ TARGET_PREBUILT_INT_KERNEL=$(TARGET_PREBUILT_INT_KERNEL) \
+ TARGET_INCLUDES=$(TARGET_KERNEL_MAKE_CFLAGS) \
+ TARGET_LINCLUDES=$(TARGET_KERNEL_MAKE_LDFLAGS) \
+ VENDOR_KERNEL_MODULES_ARCHIVE=$(VENDOR_KERNEL_MODULES_ARCHIVE) \
+ VENDOR_RAMDISK_KERNEL_MODULES_ARCHIVE=$(VENDOR_RAMDISK_KERNEL_MODULES_ARCHIVE) \
+ VENDOR_RAMDISK_KERNEL_MODULES="$(VENDOR_RAMDISK_KERNEL_MODULES)" \
+ TARGET_PRODUCT=$(TARGET_BOARD_PLATFORM) \
+ device/qcom/kernelscripts/buildkernel.sh \
+ $(real_cc) \
+ $(TARGET_KERNEL_MAKE_ENV)
+
+ifeq ($(GKI_KERNEL),1)
+$(KERNEL_GENERATE_DEFCONFIG):
+ set -x
+ ARCH=$(KERNEL_ARCH) CROSS_COMPILE=$(KERNEL_CROSS_COMPILE) $(real_cc) KERN_OUT=$(KERNEL_OUT) $(TARGET_KERNEL_MAKE_ENV) MAKE_PATH=$(MAKE_PATH) $(TARGET_KERNEL_SOURCE)/scripts/gki/generate_defconfig.sh $(KERNEL_DEFCONFIG)
+ set +x
+else
+$(KERNEL_GENERATE_DEFCONFIG):
+endif
+
+$(INSTALLED_KERNEL_TARGET): $(TARGET_PREBUILT_KERNEL) | $(ACP)
+ $(transform-prebuilt-to-target)
# RTIC DTS to DTB (if MPGen enabled;
# and make sure we don't break the build if rtic_mp.dts missing)