| Message ID | 20260526090048.3114378-1-amikan@ilbers.de |
|---|---|
| State | New |
| Headers | show |
| Series | rpi: Fix kernel file name for arm64 target | expand |
On Tue, 2026-05-26 at 12:00 +0300, Anton Mikanovich wrote: > For generic arm64 targets KERNEL_FILE is set by override, so if we need > to change it, override ':arm64' should be used. Otherwize generic value > still will be used. The override is in bitbake.conf, namely: KERNEL_FILE ?= "vmlinuz" KERNEL_FILE:mipsel ?= "vmlinux" KERNEL_FILE:riscv64 ?= "vmlinux" KERNEL_FILE:arm64 ?= "vmlinux" > > Signed-off-by: Anton Mikanovich <amikan@ilbers.de> > --- > meta-isar/conf/machine/rpi-common.conf | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/meta-isar/conf/machine/rpi-common.conf b/meta-isar/conf/machine/rpi-common.conf > index 9dd70f99..c9b59125 100644 > --- a/meta-isar/conf/machine/rpi-common.conf > +++ b/meta-isar/conf/machine/rpi-common.conf > @@ -11,6 +11,7 @@ INSTALLER_WKS_FILE ?= "installer-rpi.wks" > > # RPi have custom kernel file names > KERNEL_FILE = "${KERNEL_NAME}.img" > +KERNEL_FILE:arm64 = "${KERNEL_NAME}.img" It is hard to explain why this is needed and probably other downstream targets stumble upon this as well. How about keeping it as-is, but change the definition in bitbake.conf by using an anonymous function (untested)? E.g. KERNEL_FILE = "${@'vmlinux' if d.getVar('DISTRO_ARCH') in ['mipsel', 'riscv64', 'arm64'] else 'vmlinuz'}" Best regards, Felix > > KERNEL_TYPE = "raspios" > KERNEL_IMAGE_PKG ?= "raspberrypi-kernel" > -- > 2.34.1 > > -- > You received this message because you are subscribed to the Google Groups "isar-users" group. > To unsubscribe from this group and stop receiving emails from it, send an email to isar-users+unsubscribe@googlegroups.com. > To view this discussion visit https://groups.google.com/d/msgid/isar-users/20260526090048.3114378-1-amikan%40ilbers.de.
26.05.2026 12:40, MOESSBAUER, Felix wrote: > On Tue, 2026-05-26 at 12:00 +0300, Anton Mikanovich wrote: >> For generic arm64 targets KERNEL_FILE is set by override, so if we need >> to change it, override ':arm64' should be used. Otherwize generic value >> still will be used. > The override is in bitbake.conf, namely: > > KERNEL_FILE ?= "vmlinuz" > KERNEL_FILE:mipsel ?= "vmlinux" > KERNEL_FILE:riscv64 ?= "vmlinux" > KERNEL_FILE:arm64 ?= "vmlinux" > >> Signed-off-by: Anton Mikanovich <amikan@ilbers.de> >> --- >> meta-isar/conf/machine/rpi-common.conf | 1 + >> 1 file changed, 1 insertion(+) >> >> diff --git a/meta-isar/conf/machine/rpi-common.conf b/meta-isar/conf/machine/rpi-common.conf >> index 9dd70f99..c9b59125 100644 >> --- a/meta-isar/conf/machine/rpi-common.conf >> +++ b/meta-isar/conf/machine/rpi-common.conf >> @@ -11,6 +11,7 @@ INSTALLER_WKS_FILE ?= "installer-rpi.wks" >> >> # RPi have custom kernel file names >> KERNEL_FILE = "${KERNEL_NAME}.img" >> +KERNEL_FILE:arm64 = "${KERNEL_NAME}.img" > It is hard to explain why this is needed and probably other downstream > targets stumble upon this as well. How about keeping it as-is, but > change the definition in bitbake.conf by using an anonymous function > (untested)? > > E.g. > > KERNEL_FILE = "${@'vmlinux' if d.getVar('DISTRO_ARCH') in ['mipsel', > 'riscv64', 'arm64'] else 'vmlinuz'}" We already have override like this in linux-kernel.bbclass based on KERNEL_ARCH. Having it all in one place will be much better, but I don't have reliable enough implementation so far. > > Best regards, > Felix > >> >> KERNEL_TYPE = "raspios" >> KERNEL_IMAGE_PKG ?= "raspberrypi-kernel" >> -- >> 2.34.1 >> >> -- >> You received this message because you are subscribed to the Google Groups "isar-users" group. >> To unsubscribe from this group and stop receiving emails from it, send an email to isar-users+unsubscribe@googlegroups.com. >> To view this discussion visit https://groups.google.com/d/msgid/isar-users/20260526090048.3114378-1-amikan%40ilbers.de.
On Tue, 2026-05-26 at 12:47 +0300, Anton Mikanovich wrote: > 26.05.2026 12:40, MOESSBAUER, Felix wrote: > > On Tue, 2026-05-26 at 12:00 +0300, Anton Mikanovich wrote: > > > For generic arm64 targets KERNEL_FILE is set by override, so if we need > > > to change it, override ':arm64' should be used. Otherwize generic value > > > still will be used. > > The override is in bitbake.conf, namely: > > > > KERNEL_FILE ?= "vmlinuz" > > KERNEL_FILE:mipsel ?= "vmlinux" > > KERNEL_FILE:riscv64 ?= "vmlinux" > > KERNEL_FILE:arm64 ?= "vmlinux" > > > > > Signed-off-by: Anton Mikanovich <amikan@ilbers.de> > > > --- > > > meta-isar/conf/machine/rpi-common.conf | 1 + > > > 1 file changed, 1 insertion(+) > > > > > > diff --git a/meta-isar/conf/machine/rpi-common.conf b/meta-isar/conf/machine/rpi-common.conf > > > index 9dd70f99..c9b59125 100644 > > > --- a/meta-isar/conf/machine/rpi-common.conf > > > +++ b/meta-isar/conf/machine/rpi-common.conf > > > @@ -11,6 +11,7 @@ INSTALLER_WKS_FILE ?= "installer-rpi.wks" > > > > > > # RPi have custom kernel file names > > > KERNEL_FILE = "${KERNEL_NAME}.img" > > > +KERNEL_FILE:arm64 = "${KERNEL_NAME}.img" > > It is hard to explain why this is needed and probably other downstream > > targets stumble upon this as well. How about keeping it as-is, but > > change the definition in bitbake.conf by using an anonymous function > > (untested)? > > > > E.g. > > > > KERNEL_FILE = "${@'vmlinux' if d.getVar('DISTRO_ARCH') in ['mipsel', > > 'riscv64', 'arm64'] else 'vmlinuz'}" > We already have override like this in linux-kernel.bbclass based on > KERNEL_ARCH. > Having it all in one place will be much better, but I don't have > reliable enough > implementation so far. + CC Jan I see. But that makes the change even more problematic, as it now depends on the order of the overrides. How about: 1. move KERNEL_FILE ?= "${@ ...}" logic to bitbake.conf, drop from linux-kernel.bbclass, drop arch-specific overrides in bitbake.conf 3. use KERNEL_FILE = "${KERNEL_NAME}.img" in rpi-common.conf 4. drop the forcevariable override The current implementation is a mess. Felix > > > > Best regards, > > Felix > > > > > > > > KERNEL_TYPE = "raspios" > > > KERNEL_IMAGE_PKG ?= "raspberrypi-kernel" > > > -- > > > 2.34.1 > > > > > > -- > > > You received this message because you are subscribed to the Google Groups "isar-users" group. > > > To unsubscribe from this group and stop receiving emails from it, send an email to isar-users+unsubscribe@googlegroups.com. > > > To view this discussion visit https://groups.google.com/d/msgid/isar-users/20260526090048.3114378-1-amikan%40ilbers.de.
On 26.05.26 12:09, Moessbauer, Felix (FT RPD CED OES-DE) wrote: > On Tue, 2026-05-26 at 12:47 +0300, Anton Mikanovich wrote: >> 26.05.2026 12:40, MOESSBAUER, Felix wrote: >>> On Tue, 2026-05-26 at 12:00 +0300, Anton Mikanovich wrote: >>>> For generic arm64 targets KERNEL_FILE is set by override, so if we need >>>> to change it, override ':arm64' should be used. Otherwize generic value >>>> still will be used. >>> The override is in bitbake.conf, namely: >>> >>> KERNEL_FILE ?= "vmlinuz" >>> KERNEL_FILE:mipsel ?= "vmlinux" >>> KERNEL_FILE:riscv64 ?= "vmlinux" >>> KERNEL_FILE:arm64 ?= "vmlinux" >>> >>>> Signed-off-by: Anton Mikanovich <amikan@ilbers.de> >>>> --- >>>> meta-isar/conf/machine/rpi-common.conf | 1 + >>>> 1 file changed, 1 insertion(+) >>>> >>>> diff --git a/meta-isar/conf/machine/rpi-common.conf b/meta-isar/conf/machine/rpi-common.conf >>>> index 9dd70f99..c9b59125 100644 >>>> --- a/meta-isar/conf/machine/rpi-common.conf >>>> +++ b/meta-isar/conf/machine/rpi-common.conf >>>> @@ -11,6 +11,7 @@ INSTALLER_WKS_FILE ?= "installer-rpi.wks" >>>> >>>> # RPi have custom kernel file names >>>> KERNEL_FILE = "${KERNEL_NAME}.img" >>>> +KERNEL_FILE:arm64 = "${KERNEL_NAME}.img" Are we only supporting 64-bit RPi anymore? If not, also a 32-bit variant would be needed. Or :forcevariable, see below. >>> It is hard to explain why this is needed and probably other downstream >>> targets stumble upon this as well. How about keeping it as-is, but >>> change the definition in bitbake.conf by using an anonymous function >>> (untested)? >>> >>> E.g. >>> >>> KERNEL_FILE = "${@'vmlinux' if d.getVar('DISTRO_ARCH') in ['mipsel', >>> 'riscv64', 'arm64'] else 'vmlinuz'}" >> We already have override like this in linux-kernel.bbclass based on >> KERNEL_ARCH. >> Having it all in one place will be much better, but I don't have >> reliable enough >> implementation so far. > > + CC Jan > > I see. But that makes the change even more problematic, as it now > depends on the order of the overrides. > > How about: > > 1. move KERNEL_FILE ?= "${@ ...}" logic to bitbake.conf, drop from > linux-kernel.bbclass, drop arch-specific overrides in bitbake.conf > 3. use KERNEL_FILE = "${KERNEL_NAME}.img" in rpi-common.conf > 4. drop the forcevariable override > > The current implementation is a mess. The problem is that something like weak overrides does not seem to exist, and we should likely change the generic assignment into something that gets along without overrides. Forcevariable is a workaround for downstream so far. Jan
26.05.2026 15:25, Jan Kiszka wrote: > On 26.05.26 12:09, Moessbauer, Felix (FT RPD CED OES-DE) wrote: >> On Tue, 2026-05-26 at 12:47 +0300, Anton Mikanovich wrote: >>> 26.05.2026 12:40, MOESSBAUER, Felix wrote: >>>> On Tue, 2026-05-26 at 12:00 +0300, Anton Mikanovich wrote: >>>>> For generic arm64 targets KERNEL_FILE is set by override, so if we need >>>>> to change it, override ':arm64' should be used. Otherwize generic value >>>>> still will be used. >>>> The override is in bitbake.conf, namely: >>>> >>>> KERNEL_FILE ?= "vmlinuz" >>>> KERNEL_FILE:mipsel ?= "vmlinux" >>>> KERNEL_FILE:riscv64 ?= "vmlinux" >>>> KERNEL_FILE:arm64 ?= "vmlinux" >>>> >>>>> Signed-off-by: Anton Mikanovich <amikan@ilbers.de> >>>>> --- >>>>> meta-isar/conf/machine/rpi-common.conf | 1 + >>>>> 1 file changed, 1 insertion(+) >>>>> >>>>> diff --git a/meta-isar/conf/machine/rpi-common.conf b/meta-isar/conf/machine/rpi-common.conf >>>>> index 9dd70f99..c9b59125 100644 >>>>> --- a/meta-isar/conf/machine/rpi-common.conf >>>>> +++ b/meta-isar/conf/machine/rpi-common.conf >>>>> @@ -11,6 +11,7 @@ INSTALLER_WKS_FILE ?= "installer-rpi.wks" >>>>> >>>>> # RPi have custom kernel file names >>>>> KERNEL_FILE = "${KERNEL_NAME}.img" >>>>> +KERNEL_FILE:arm64 = "${KERNEL_NAME}.img" > Are we only supporting 64-bit RPi anymore? If not, also a 32-bit variant > would be needed. Or :forcevariable, see below. 32-bit targets are already covered by the line above. > >>>> It is hard to explain why this is needed and probably other downstream >>>> targets stumble upon this as well. How about keeping it as-is, but >>>> change the definition in bitbake.conf by using an anonymous function >>>> (untested)? >>>> >>>> E.g. >>>> >>>> KERNEL_FILE = "${@'vmlinux' if d.getVar('DISTRO_ARCH') in ['mipsel', >>>> 'riscv64', 'arm64'] else 'vmlinuz'}" >>> We already have override like this in linux-kernel.bbclass based on >>> KERNEL_ARCH. >>> Having it all in one place will be much better, but I don't have >>> reliable enough >>> implementation so far. >> + CC Jan >> >> I see. But that makes the change even more problematic, as it now >> depends on the order of the overrides. >> >> How about: >> >> 1. move KERNEL_FILE ?= "${@ ...}" logic to bitbake.conf, drop from >> linux-kernel.bbclass, drop arch-specific overrides in bitbake.conf >> 3. use KERNEL_FILE = "${KERNEL_NAME}.img" in rpi-common.conf >> 4. drop the forcevariable override >> >> The current implementation is a mess. > The problem is that something like weak overrides does not seem to > exist, and we should likely change the generic assignment into something > that gets along without overrides. Forcevariable is a workaround for > downstream so far. > > Jan >
On 26.05.26 14:28, Anton Mikanovich wrote: > 26.05.2026 15:25, Jan Kiszka wrote: >> On 26.05.26 12:09, Moessbauer, Felix (FT RPD CED OES-DE) wrote: >>> On Tue, 2026-05-26 at 12:47 +0300, Anton Mikanovich wrote: >>>> 26.05.2026 12:40, MOESSBAUER, Felix wrote: >>>>> On Tue, 2026-05-26 at 12:00 +0300, Anton Mikanovich wrote: >>>>>> For generic arm64 targets KERNEL_FILE is set by override, so if we >>>>>> need >>>>>> to change it, override ':arm64' should be used. Otherwize generic >>>>>> value >>>>>> still will be used. >>>>> The override is in bitbake.conf, namely: >>>>> >>>>> KERNEL_FILE ?= "vmlinuz" >>>>> KERNEL_FILE:mipsel ?= "vmlinux" >>>>> KERNEL_FILE:riscv64 ?= "vmlinux" >>>>> KERNEL_FILE:arm64 ?= "vmlinux" >>>>> >>>>>> Signed-off-by: Anton Mikanovich <amikan@ilbers.de> >>>>>> --- >>>>>> meta-isar/conf/machine/rpi-common.conf | 1 + >>>>>> 1 file changed, 1 insertion(+) >>>>>> >>>>>> diff --git a/meta-isar/conf/machine/rpi-common.conf b/meta-isar/ >>>>>> conf/machine/rpi-common.conf >>>>>> index 9dd70f99..c9b59125 100644 >>>>>> --- a/meta-isar/conf/machine/rpi-common.conf >>>>>> +++ b/meta-isar/conf/machine/rpi-common.conf >>>>>> @@ -11,6 +11,7 @@ INSTALLER_WKS_FILE ?= "installer-rpi.wks" >>>>>> # RPi have custom kernel file names >>>>>> KERNEL_FILE = "${KERNEL_NAME}.img" >>>>>> +KERNEL_FILE:arm64 = "${KERNEL_NAME}.img" >> Are we only supporting 64-bit RPi anymore? If not, also a 32-bit variant >> would be needed. Or :forcevariable, see below. > 32-bit targets are already covered by the line above. ...by chance as the core config does not override anything for 32-bit. Not a consistent solution, though. Jan >> >>>>> It is hard to explain why this is needed and probably other downstream >>>>> targets stumble upon this as well. How about keeping it as-is, but >>>>> change the definition in bitbake.conf by using an anonymous function >>>>> (untested)? >>>>> >>>>> E.g. >>>>> >>>>> KERNEL_FILE = "${@'vmlinux' if d.getVar('DISTRO_ARCH') in ['mipsel', >>>>> 'riscv64', 'arm64'] else 'vmlinuz'}" >>>> We already have override like this in linux-kernel.bbclass based on >>>> KERNEL_ARCH. >>>> Having it all in one place will be much better, but I don't have >>>> reliable enough >>>> implementation so far. >>> + CC Jan >>> >>> I see. But that makes the change even more problematic, as it now >>> depends on the order of the overrides. >>> >>> How about: >>> >>> 1. move KERNEL_FILE ?= "${@ ...}" logic to bitbake.conf, drop from >>> linux-kernel.bbclass, drop arch-specific overrides in bitbake.conf >>> 3. use KERNEL_FILE = "${KERNEL_NAME}.img" in rpi-common.conf >>> 4. drop the forcevariable override >>> >>> The current implementation is a mess. >> The problem is that something like weak overrides does not seem to >> exist, and we should likely change the generic assignment into something >> that gets along without overrides. Forcevariable is a workaround for >> downstream so far. >> >> Jan >> >
diff --git a/meta-isar/conf/machine/rpi-common.conf b/meta-isar/conf/machine/rpi-common.conf index 9dd70f99..c9b59125 100644 --- a/meta-isar/conf/machine/rpi-common.conf +++ b/meta-isar/conf/machine/rpi-common.conf @@ -11,6 +11,7 @@ INSTALLER_WKS_FILE ?= "installer-rpi.wks" # RPi have custom kernel file names KERNEL_FILE = "${KERNEL_NAME}.img" +KERNEL_FILE:arm64 = "${KERNEL_NAME}.img" KERNEL_TYPE = "raspios" KERNEL_IMAGE_PKG ?= "raspberrypi-kernel"
For generic arm64 targets KERNEL_FILE is set by override, so if we need to change it, override ':arm64' should be used. Otherwize generic value still will be used. Signed-off-by: Anton Mikanovich <amikan@ilbers.de> --- meta-isar/conf/machine/rpi-common.conf | 1 + 1 file changed, 1 insertion(+)