diff options
author | Divya Sharma <divyash@codeaurora.org> | 2020-07-21 12:12:55 -0700 |
---|---|---|
committer | Divya Sharma <divyash@codeaurora.org> | 2020-07-21 12:13:04 -0700 |
commit | 07233ecc3355d04e0169fce90c602774f450a980 (patch) | |
tree | eb103743326766bcd4fc7f9aae20e75eff96a120 | |
parent | 88d1a139bda8101dce3f4cd3f95e6aeab7639296 (diff) |
Revert "kernelscripts: Enhance the build scripts to build additional kernel"
This reverts commit 88d1a139bda8101dce3f4cd3f95e6aeab7639296.
Change-Id: I08cc78b4d86a32809eb6c0e5604e8b03d028d379
-rwxr-xr-x | buildkernel.sh | 2 | ||||
-rw-r--r-- | kernel_definitions.mk | 132 |
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) |