From c14259c2e40fb2dbcd6586877757bb5dea531527 Mon Sep 17 00:00:00 2001 From: wanxiaoqing40281 Date: Thu, 8 Jun 2023 21:30:28 +0800 Subject: [PATCH] =?UTF-8?q?=E5=86=85=E6=A0=B8config=E5=88=86=E5=B1=82?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=20imx8mm=20=E5=B9=B3=E5=8F=B0=E9=80=82?= =?UTF-8?q?=E9=85=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: wanxiaoqing40281 --- imx8mm/kernel/BUILD.gn | 2 ++ imx8mm/kernel/build_kernel.sh | 2 +- imx8mm/kernel/kernel.mk | 21 ++++++++++++++++++++- 3 files changed, 23 insertions(+), 2 deletions(-) diff --git a/imx8mm/kernel/BUILD.gn b/imx8mm/kernel/BUILD.gn index 3cc4b7c..897b249 100755 --- a/imx8mm/kernel/BUILD.gn +++ b/imx8mm/kernel/BUILD.gn @@ -63,5 +63,7 @@ action("build_kernel") { product_path, device_name, linux_kernel_version, + build_variant, + device_type, ] } diff --git a/imx8mm/kernel/build_kernel.sh b/imx8mm/kernel/build_kernel.sh index 38156cf..97bd8db 100755 --- a/imx8mm/kernel/build_kernel.sh +++ b/imx8mm/kernel/build_kernel.sh @@ -23,7 +23,7 @@ set -e echo build_kernel pushd ${1} -./kernel_module_build.sh ${2} ${4} ${5} ${6} ${7} ${8} +./kernel_module_build.sh ${2} ${4} ${5} ${6} ${7} ${8} ${9} ${10} mkdir -p ${3} rm -rf ${3}/../../../kernel.timestamp if [ -d ${3}/kernel ];then diff --git a/imx8mm/kernel/kernel.mk b/imx8mm/kernel/kernel.mk index 015c8dc..03b7d73 100644 --- a/imx8mm/kernel/kernel.mk +++ b/imx8mm/kernel/kernel.mk @@ -32,6 +32,24 @@ KERNEL_HOSTCC := $(CLANG_HOST_TOOLCHAIN)/clang KERNEL_PREBUILT_MAKE := make CLANG_CC := $(CLANG_HOST_TOOLCHAIN)/clang +HARMONY_CONFIG_PATH := $(OHOS_BUILD_HOME)/kernel/linux/config/$(KERNEL_VERSION) +DEVICE_CONFIG_PATH := $(OHOS_BUILD_HOME)/kernel/linux/config/$(KERNEL_VERSION)/$(DEVICE_NAME) +DEFCONFIG_BASE_FILE := $(HARMONY_CONFIG_PATH)/base_defconfig +DEFCONFIG_TYPE_FILE := $(HARMONY_CONFIG_PATH)/type/$(BUILD_TYPE)_defconfig +DEFCONFIG_FORM_FILE := $(HARMONY_CONFIG_PATH)/form/$(KERNEL_FORM)_defconfig +DEFCONFIG_ARCH_FILE := $(DEVICE_CONFIG_PATH)/arch/$(KERNEL_ARCH)_defconfig +DEFCONFIG_PROC_FILE := $(DEVICE_CONFIG_PATH)/product/$(KERNEL_PROD)_defconfig + +ifneq ($(shell test -e $DEFCONFIG_FORM_FILE), 0) + DEFCONFIG_FORM_FILE := + $(warning no form config file $(DEFCONFIG_FORM_FILE)) +endif + +ifneq ($(shell test -e $DEFCONFIG_PROC_FILE), 0) + DEFCONFIG_PROC_FILE := + $(warning no product config file $(DEFCONFIG_PROC_FILE)) +endif + ifeq ($(KERNEL_ARCH), arm) KERNEL_TARGET_TOOLCHAIN := $(PREBUILTS_GCC_DIR)/linux-x86/arm/gcc-linaro-7.5.0-arm-linux-gnueabi/bin KERNEL_TARGET_TOOLCHAIN_PREFIX := $(KERNEL_TARGET_TOOLCHAIN)/arm-linux-gnueabi- @@ -60,7 +78,8 @@ $(KERNEL_IMAGE_FILE): $(hide) rm -rf $(KERNEL_SRC_TMP_PATH);mkdir -p $(KERNEL_SRC_TMP_PATH);cp -arfL $(KERNEL_SRC_PATH)/* $(KERNEL_SRC_TMP_PATH)/ $(hide) $(OHOS_BUILD_HOME)/device/board/osware/imx8mm/kernel/patch_imx.sh $(KERNEL_PATCH_PATH) $(KERNEL_SRC_TMP_PATH) $(hide) $(OHOS_BUILD_HOME)/drivers/hdf_core/adapter/khdf/linux/patch_hdf.sh $(OHOS_BUILD_HOME) $(KERNEL_SRC_TMP_PATH) $(KERNEL_PATCH_PATH) ${DEVICE_NAME} - $(hide) cp -rf $(KERNEL_CONFIG_PATH)/. $(KERNEL_SRC_TMP_PATH)/ + sh $(OHOS_BUILD_HOME)/kernel/linux/$(KERNEL_VERSION)/scripts/kconfig/merge_config.sh -O $(KERNEL_SRC_TMP_PATH)/arch/$(KERNEL_ARCH)/configs/ -m $(DEFCONFIG_TYPE_FILE) $(DEFCONFIG_FORM_FILE) $(DEFCONFIG_ARCH_FILE) $(DEFCONFIG_PROC_FILE) $(DEFCONFIG_BASE_FILE) + mv $(KERNEL_SRC_TMP_PATH)/arch/$(KERNEL_ARCH)/configs/.config $(KERNEL_SRC_TMP_PATH)/arch/$(KERNEL_ARCH)/configs/$(DEFCONFIG_FILE) $(hide) $(KERNEL_MAKE) -C $(KERNEL_SRC_TMP_PATH) ARCH=$(KERNEL_ARCH) $(KERNEL_CROSS_COMPILE) distclean $(hide) $(KERNEL_MAKE) -C $(KERNEL_SRC_TMP_PATH) ARCH=$(KERNEL_ARCH) $(KERNEL_CROSS_COMPILE) $(DEFCONFIG_FILE) $(hide) $(KERNEL_MAKE) -C $(KERNEL_SRC_TMP_PATH) ARCH=$(KERNEL_ARCH) $(KERNEL_CROSS_COMPILE) dtbs Image modules -j24