diff --git a/meta/recipes-kernel/linux/linux-custom.inc b/meta/recipes-kernel/linux/linux-custom.inc
index c54c287f..b53d136c 100644
--- a/meta/recipes-kernel/linux/linux-custom.inc
+++ b/meta/recipes-kernel/linux/linux-custom.inc
@@ -175,6 +175,9 @@ def get_kernel_arch(d):
 
 KERNEL_ARCH ??= "${@get_kernel_arch(d)}"
 
+# set KERNEL_FILE without depending on package arch used in bitbake.conf
+KERNEL_FILE:forcevariable = "${@ 'vmlinux' if d.getVar('KERNEL_ARCH') in ['mipsel', 'riscv', 'arm64'] else 'vmlinuz'}"
+
 def config_fragments(d):
     fragments = []
     sources = d.getVar("SRC_URI").split()
