How to use external kernel tree and configuration file?

Hi, everyone, I need to use our linux kernel tree, so I modified the CONFIG_EXTERNAL_KERNEL_TREE in menuconfig. Then I move our configuration file to openwrt/target/linux/xxx/config-5.4,this configuration file was originally in the arch/arm64/configs/8800_defconfig directory ( make ARCH=arm64 8800_defconfig && make all
But when I compie this new target, it always reports an error just like below:
Can someone give me a help? Thanks.

scripts/kconfig/conf --syncconfig Kconfig
*
* Restart config ...
*
* General setup
*
* Comipe ......[N/y/?](NEW): ----->>>> many options must be selected

guess you've got mandatory modules that need to be included in the new(er?) kernel config.

and it's not really an error ...

Openwrt's compilation framework does a lot of complicated things, but I just want to use the external kernel, and the external configuration. I don't quite understand it, so I won't operate it, but I can currently spoof make by timestamp

define Kernel/Configure/Default
	rm -f $(LINUX_DIR)/localversion
	$(LINUX_CONF_CMD) > $(LINUX_DIR)/.config.target
# copy CONFIG_KERNEL_* settings over to .config.target
	awk '/^(#[[:space:]]+)?CONFIG_KERNEL/{sub("CONFIG_KERNEL_","CONFIG_");print}' $(TOPDIR)/.config >> $(LINUX_DIR)/.config.target
	echo "# CONFIG_KALLSYMS_EXTRA_PASS is not set" >> $(LINUX_DIR)/.config.target
	echo "# CONFIG_KALLSYMS_ALL is not set" >> $(LINUX_DIR)/.config.target
	echo "CONFIG_KALLSYMS_UNCOMPRESSED=y" >> $(LINUX_DIR)/.config.target
	$(SCRIPT_DIR)/package-metadata.pl kconfig $(TMP_DIR)/.packageinfo $(TOPDIR)/.config $(KERNEL_PATCHVER) > $(LINUX_DIR)/.config.override
	$(SCRIPT_DIR)/kconfig.pl 'm+' '+' $(LINUX_DIR)/.config.target /dev/null $(LINUX_DIR)/.config.override > $(LINUX_DIR)/.config.set
	$(call Kernel/SetNoInitramfs)
	rm -rf $(KERNEL_BUILD_DIR)/modules
	cmp -s $(LINUX_DIR)/.config.set $(LINUX_DIR)/.config.prev || { \
		cp $(LINUX_DIR)/.config.set $(LINUX_DIR)/.config; \
		cp $(LINUX_DIR)/.config.set $(LINUX_DIR)/.config.prev; \
	}
	$(_SINGLE) [ -d $(LINUX_DIR)/user_headers ] || $(KERNEL_MAKE) INSTALL_HDR_PATH=$(LINUX_DIR)/user_headers headers_install
	grep '=[ym]' $(LINUX_DIR)/.config.set | LC_ALL=C sort | $(MKHASH) md5 > $(LINUX_DIR)/.vermagic
endef

define BuildKernel 
  ....
  $(STAMP_CONFIGURED): $(STAMP_PREPARED) $(LINUX_KCONFIG_LIST) $(TOPDIR)/.config FORCE
	$(Kernel/Configure)  // If the dependencies are newer, this command will not be executed
	touch $$@
 ...

it probably won't work unless you fulfill the config requirements of the new kernel.