[PATCH] meta: Remove overrides from kernel filename selection

2 views
Skip to first unread message

Anton Mikanovich

unread,
May 28, 2026, 9:56:40 AM (3 days ago) May 28
to isar-...@googlegroups.com, Anton Mikanovich, Felix Moessbauer
Because of the override processing logic values set by overrides can be
changed only by overrides. It makes redifinition of KERNEL_FILE value
made by simple assignment be ignored, which was already broken for the
rpi-arm64-v8 machine.

Rebuild selection logic to be done in bitbake.conf without overrides.
Keep KERNEL_FILE redifinition for the rpi targets as an example of its
usage for the downstreams.

Signed-off-by: Anton Mikanovich <ami...@ilbers.de>
Signed-off-by: Felix Moessbauer <felix.mo...@siemens.com>
---
meta/classes-recipe/linux-kernel.bbclass | 3 ---
meta/conf/bitbake.conf | 5 +----
2 files changed, 1 insertion(+), 7 deletions(-)

diff --git a/meta/classes-recipe/linux-kernel.bbclass b/meta/classes-recipe/linux-kernel.bbclass
index 55ea6d63..e4ae356d 100644
--- a/meta/classes-recipe/linux-kernel.bbclass
+++ b/meta/classes-recipe/linux-kernel.bbclass
@@ -211,9 +211,6 @@ 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'}"
-
KERNEL_CONFIG_FRAGMENTS ?= ""

def config_fragments(d):
diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
index 08c525d9..6db10eb3 100644
--- a/meta/conf/bitbake.conf
+++ b/meta/conf/bitbake.conf
@@ -65,10 +65,7 @@ SCHROOT_HOST_DIR = "${DEPLOY_DIR}/schroot-host/${HOST_DISTRO}-${HOST_ARCH}_${DIS
SCHROOT_TARGET_DIR = "${DEPLOY_DIR}/schroot-target/${DISTRO}-${DISTRO_ARCH}"
SDKCHROOT_DIR = "${DEPLOY_DIR_SDKCHROOT}/${BPN}-${DISTRO}-${MACHINE}"
CACHE = "${TMPDIR}/cache"
-KERNEL_FILE ?= "vmlinuz"
-KERNEL_FILE:mipsel ?= "vmlinux"
-KERNEL_FILE:riscv64 ?= "vmlinux"
-KERNEL_FILE:arm64 ?= "vmlinux"
+KERNEL_FILE ?= "${@ 'vmlinux' if d.getVar('DISTRO_ARCH') in ['mipsel', 'riscv64', 'arm64'] else 'vmlinuz'}"

MACHINEOVERRIDES ?= "${MACHINE}"
DISTROOVERRIDES ?= "${DISTRO}"
--
2.34.1

MOESSBAUER, Felix

unread,
May 28, 2026, 10:20:46 AM (3 days ago) May 28
to ami...@ilbers.de, isar-...@googlegroups.com
On Thu, 2026-05-28 at 16:56 +0300, Anton Mikanovich wrote:
> Because of the override processing logic values set by overrides can be
> changed only by overrides. It makes redifinition of KERNEL_FILE value
> made by simple assignment be ignored, which was already broken for the
> rpi-arm64-v8 machine.
>
> Rebuild selection logic to be done in bitbake.conf without overrides.
> Keep KERNEL_FILE redifinition for the rpi targets as an example of its
> usage for the downstreams.
>
> Signed-off-by: Anton Mikanovich <ami...@ilbers.de>
> Signed-off-by: Felix Moessbauer <felix.mo...@siemens.com>
> ---
> meta/classes-recipe/linux-kernel.bbclass | 3 ---
> meta/conf/bitbake.conf | 5 +----
> 2 files changed, 1 insertion(+), 7 deletions(-)
>
> diff --git a/meta/classes-recipe/linux-kernel.bbclass b/meta/classes-recipe/linux-kernel.bbclass
> index 55ea6d63..e4ae356d 100644
> --- a/meta/classes-recipe/linux-kernel.bbclass
> +++ b/meta/classes-recipe/linux-kernel.bbclass
> @@ -211,9 +211,6 @@ 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'}"

Shall we remove the forcevariable override as well? At least in isar
this was the last remaining user.

> -
> KERNEL_CONFIG_FRAGMENTS ?= ""
>
> def config_fragments(d):
> diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
> index 08c525d9..6db10eb3 100644
> --- a/meta/conf/bitbake.conf
> +++ b/meta/conf/bitbake.conf
> @@ -65,10 +65,7 @@ SCHROOT_HOST_DIR = "${DEPLOY_DIR}/schroot-host/${HOST_DISTRO}-${HOST_ARCH}_${DIS
> SCHROOT_TARGET_DIR = "${DEPLOY_DIR}/schroot-target/${DISTRO}-${DISTRO_ARCH}"
> SDKCHROOT_DIR = "${DEPLOY_DIR_SDKCHROOT}/${BPN}-${DISTRO}-${MACHINE}"
> CACHE = "${TMPDIR}/cache"
> -KERNEL_FILE ?= "vmlinuz"
> -KERNEL_FILE:mipsel ?= "vmlinux"
> -KERNEL_FILE:riscv64 ?= "vmlinux"
> -KERNEL_FILE:arm64 ?= "vmlinux"
> +KERNEL_FILE ?= "${@ 'vmlinux' if d.getVar('DISTRO_ARCH') in ['mipsel', 'riscv64', 'arm64'] else 'vmlinuz'}"

Thanks, that's how I envisioned it.

Felix

Anton Mikanovich

unread,
May 28, 2026, 10:24:01 AM (3 days ago) May 28
to MOESSBAUER, Felix, isar-...@googlegroups.com
It looks like something already existing when it's usage was added here.
That's why I didn't delete the override itself.
Reply all
Reply to author
Forward
0 new messages