diff mbox series

[1/5] linux-yocto-dev: bump to v6.11

Message ID e1eea6c3ea87aebfdaabf5a987a7290d7e9a4485.1723399246.git.bruce.ashfield@gmail.com
State Accepted, archived
Commit 2f7786e56e4e0a55f8aebe0ffbd37ca23708f4f4
Headers show
Series [1/5] linux-yocto-dev: bump to v6.11 | expand

Commit Message

Bruce Ashfield Aug. 11, 2024, 6:04 p.m. UTC
From: Bruce Ashfield <bruce.ashfield@gmail.com>

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
---
 meta/recipes-kernel/linux/linux-yocto-dev.bb | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Quentin Schulz Sept. 24, 2024, 1:01 p.m. UTC | #1
Hi Bruce,

On 8/11/24 8:04 PM, Bruce Ashfield via lists.openembedded.org wrote:
> From: Bruce Ashfield <bruce.ashfield@gmail.com>
> 
> Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
> ---
>   meta/recipes-kernel/linux/linux-yocto-dev.bb | 4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/meta/recipes-kernel/linux/linux-yocto-dev.bb b/meta/recipes-kernel/linux/linux-yocto-dev.bb
> index 0097fec7b2..292897ce43 100644
> --- a/meta/recipes-kernel/linux/linux-yocto-dev.bb
> +++ b/meta/recipes-kernel/linux/linux-yocto-dev.bb
> @@ -14,7 +14,7 @@ require recipes-kernel/linux/linux-yocto.inc
>   # provide this .inc to set specific revisions
>   include recipes-kernel/linux/linux-yocto-dev-revisions.inc
>   
> -KBRANCH = "v6.10/standard/base"
> +KBRANCH = "v6.11/standard/base"
>   KMETA = "kernel-meta"
>   
>   SRC_URI = "git://git.yoctoproject.org/linux-yocto-dev.git;branch=${KBRANCH};name=machine;protocol=https \
> @@ -28,7 +28,7 @@ SRC_URI = "git://git.yoctoproject.org/linux-yocto-dev.git;branch=${KBRANCH};name
>   SRCREV_machine ?= '${@oe.utils.conditional("PREFERRED_PROVIDER_virtual/kernel", "linux-yocto-dev", "${AUTOREV}", "29594404d7fe73cd80eaa4ee8c43dcc53970c60e", d)}'
>   SRCREV_meta ?= '${@oe.utils.conditional("PREFERRED_PROVIDER_virtual/kernel", "linux-yocto-dev", "${AUTOREV}", "29594404d7fe73cd80eaa4ee8c43dcc53970c60e", d)}'
>   
> -LINUX_VERSION ?= "6.10"
> +LINUX_VERSION ?= "6.11"
>   LINUX_VERSION_EXTENSION ?= "-yoctodev-${LINUX_KERNEL_TYPE}"
>   PV = "${LINUX_VERSION}+git"
>   

I haven't tried to compile linux-yocto-dev but I have my own v6.11-rc6 
based kernel recipe.

It failed to build on Scarthgap because I was missing coreutils-native 
(specifically truncate binary) because CONFIG_KALLSYMS was enabled. This 
comes from 
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=1472464c6248575bf2d01c7f076b94704bb32c95

It seems there are some config fragments in linux-yocto-cache 
(ktypes/base/base.cfg) with it, so maybe we want to always add the 
dependency (or is there a way to add a build time dependency from an 
.scc file?).

Is there anything I can help with?

Cheers,
Quentin
Bruce Ashfield Sept. 24, 2024, 2:11 p.m. UTC | #2
On Tue, Sep 24, 2024 at 9:02 AM Quentin Schulz <quentin.schulz@cherry.de>
wrote:

> Hi Bruce,
>
> On 8/11/24 8:04 PM, Bruce Ashfield via lists.openembedded.org wrote:
> > From: Bruce Ashfield <bruce.ashfield@gmail.com>
> >
> > Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
> > ---
> >   meta/recipes-kernel/linux/linux-yocto-dev.bb | 4 ++--
> >   1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/meta/recipes-kernel/linux/linux-yocto-dev.bb
> b/meta/recipes-kernel/linux/linux-yocto-dev.bb
> > index 0097fec7b2..292897ce43 100644
> > --- a/meta/recipes-kernel/linux/linux-yocto-dev.bb
> > +++ b/meta/recipes-kernel/linux/linux-yocto-dev.bb
> > @@ -14,7 +14,7 @@ require recipes-kernel/linux/linux-yocto.inc
> >   # provide this .inc to set specific revisions
> >   include recipes-kernel/linux/linux-yocto-dev-revisions.inc
> >
> > -KBRANCH = "v6.10/standard/base"
> > +KBRANCH = "v6.11/standard/base"
> >   KMETA = "kernel-meta"
> >
> >   SRC_URI = "git://
> git.yoctoproject.org/linux-yocto-dev.git;branch=${KBRANCH};name=machine;protocol=https
> <http://git.yoctoproject.org/linux-yocto-dev.git;branch=$%7BKBRANCH%7D;name=machine;protocol=https>
> \
> > @@ -28,7 +28,7 @@ SRC_URI = "git://
> git.yoctoproject.org/linux-yocto-dev.git;branch=${KBRANCH};name
> <http://git.yoctoproject.org/linux-yocto-dev.git;branch=$%7BKBRANCH%7D;name>
> >   SRCREV_machine ?=
> '${@oe.utils.conditional("PREFERRED_PROVIDER_virtual/kernel",
> "linux-yocto-dev", "${AUTOREV}",
> "29594404d7fe73cd80eaa4ee8c43dcc53970c60e", d)}'
> >   SRCREV_meta ?=
> '${@oe.utils.conditional("PREFERRED_PROVIDER_virtual/kernel",
> "linux-yocto-dev", "${AUTOREV}",
> "29594404d7fe73cd80eaa4ee8c43dcc53970c60e", d)}'
> >
> > -LINUX_VERSION ?= "6.10"
> > +LINUX_VERSION ?= "6.11"
> >   LINUX_VERSION_EXTENSION ?= "-yoctodev-${LINUX_KERNEL_TYPE}"
> >   PV = "${LINUX_VERSION}+git"
> >
>
> I haven't tried to compile linux-yocto-dev but I have my own v6.11-rc6
> based kernel recipe.
>
> It failed to build on Scarthgap because I was missing coreutils-native
> (specifically truncate binary) because CONFIG_KALLSYMS was enabled. This
> comes from
>
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=1472464c6248575bf2d01c7f076b94704bb32c95
>
> It seems there are some config fragments in linux-yocto-cache
> (ktypes/base/base.cfg) with it, so maybe we want to always add the
> dependency (or is there a way to add a build time dependency from an
> .scc file?).
>


Interesting!

I build linux-yocto-dev nightly, so I can confidently say that this isn't
being seen with the reference recipe.

I also do have KALLSYMS in the default .config, so I've worked through the
same new commit and enabling option.

I get truncate in my kernel builds via hosttools, so the dependency
wasn't/isn't needed.

If we do add the dependency, it is best done in the kernel recipes
themselves, as they are versioned and we'll only pull it in when needed.
Eventually, it migrates to a common dependency as all kernels gain the
requirement over time.

That being said, I'd rather not add coreutils as a dependency until I know
it is really required.

If you try building linux-yocto-dev on that same build machine, can you see
if truncate is present in devshell ? I'm not seeing an obvious path through
my host and configuration mods that would have done anything special to
pull it into hosttools.

Bruce


>
> Is there anything I can help with?
>
> Cheers,
> Quentin
>
Quentin Schulz Sept. 25, 2024, 1:37 p.m. UTC | #3
Hi Bruce,

On 9/24/24 4:11 PM, Bruce Ashfield wrote:
> On Tue, Sep 24, 2024 at 9:02 AM Quentin Schulz <quentin.schulz@cherry.de>
> wrote:
> 
>> Hi Bruce,
>>
>> On 8/11/24 8:04 PM, Bruce Ashfield via lists.openembedded.org wrote:
>>> From: Bruce Ashfield <bruce.ashfield@gmail.com>
>>>
>>> Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
>>> ---
>>>    meta/recipes-kernel/linux/linux-yocto-dev.bb | 4 ++--
>>>    1 file changed, 2 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/meta/recipes-kernel/linux/linux-yocto-dev.bb
>> b/meta/recipes-kernel/linux/linux-yocto-dev.bb
>>> index 0097fec7b2..292897ce43 100644
>>> --- a/meta/recipes-kernel/linux/linux-yocto-dev.bb
>>> +++ b/meta/recipes-kernel/linux/linux-yocto-dev.bb
>>> @@ -14,7 +14,7 @@ require recipes-kernel/linux/linux-yocto.inc
>>>    # provide this .inc to set specific revisions
>>>    include recipes-kernel/linux/linux-yocto-dev-revisions.inc
>>>
>>> -KBRANCH = "v6.10/standard/base"
>>> +KBRANCH = "v6.11/standard/base"
>>>    KMETA = "kernel-meta"
>>>
>>>    SRC_URI = "git://
>> git.yoctoproject.org/linux-yocto-dev.git;branch=${KBRANCH};name=machine;protocol=https
>> <http://git.yoctoproject.org/linux-yocto-dev.git;branch=$%7BKBRANCH%7D;name=machine;protocol=https>
>> \
>>> @@ -28,7 +28,7 @@ SRC_URI = "git://
>> git.yoctoproject.org/linux-yocto-dev.git;branch=${KBRANCH};name
>> <http://git.yoctoproject.org/linux-yocto-dev.git;branch=$%7BKBRANCH%7D;name>
>>>    SRCREV_machine ?=
>> '${@oe.utils.conditional("PREFERRED_PROVIDER_virtual/kernel",
>> "linux-yocto-dev", "${AUTOREV}",
>> "29594404d7fe73cd80eaa4ee8c43dcc53970c60e", d)}'
>>>    SRCREV_meta ?=
>> '${@oe.utils.conditional("PREFERRED_PROVIDER_virtual/kernel",
>> "linux-yocto-dev", "${AUTOREV}",
>> "29594404d7fe73cd80eaa4ee8c43dcc53970c60e", d)}'
>>>
>>> -LINUX_VERSION ?= "6.10"
>>> +LINUX_VERSION ?= "6.11"
>>>    LINUX_VERSION_EXTENSION ?= "-yoctodev-${LINUX_KERNEL_TYPE}"
>>>    PV = "${LINUX_VERSION}+git"
>>>
>>
>> I haven't tried to compile linux-yocto-dev but I have my own v6.11-rc6
>> based kernel recipe.
>>
>> It failed to build on Scarthgap because I was missing coreutils-native
>> (specifically truncate binary) because CONFIG_KALLSYMS was enabled. This
>> comes from
>>
>> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=1472464c6248575bf2d01c7f076b94704bb32c95
>>
>> It seems there are some config fragments in linux-yocto-cache
>> (ktypes/base/base.cfg) with it, so maybe we want to always add the
>> dependency (or is there a way to add a build time dependency from an
>> .scc file?).
>>
> 
> 
> Interesting!
> 
> I build linux-yocto-dev nightly, so I can confidently say that this isn't
> being seen with the reference recipe.
> 
> I also do have KALLSYMS in the default .config, so I've worked through the
> same new commit and enabling option.
> 
> I get truncate in my kernel builds via hosttools, so the dependency
> wasn't/isn't needed.
> 

truncate isn't in HOSTTOOLS in any release yet, just master.

c.f. 
https://git.openembedded.org/openembedded-core/commit/?id=522000ce5c4f0201cbe42d7826b6a8489ed10117

This means people won't be able to build 6.11 and later with 
CONFIG_KALLSYMS enabled in Scarthgap and earlier releases...

... unless we backport this patch to still supported releases?

BTW, I could reproduce on Scarthgap by checking out poky in its 
scarthgap branch, then running `git checkout origin/master -- 
meta/recipes-kernel/linux/linux-yocto-dev.bb`, then adding 
`PREFERRED_PROVIDER_virtual/kernel="linux-yocto-dev"` to conf/local.conf 
and then running `MACHINE=qemuarm64 bitbake linux-yocto-dev` from either 
a kas-container (4.3.2) or Debian Bullseye.

> If we do add the dependency, it is best done in the kernel recipes
> themselves, as they are versioned and we'll only pull it in when needed.
> Eventually, it migrates to a common dependency as all kernels gain the
> requirement over time.
> 
> That being said, I'd rather not add coreutils as a dependency until I know
> it is really required.
> 
> If you try building linux-yocto-dev on that same build machine, can you see
> if truncate is present in devshell ? I'm not seeing an obvious path through

Sadly, kas-container doesn't allow me to run -c devshell :/ (well it 
does, but then does nothing :) ).

truncate is available within the container though.

Cheers,
Quentin
Bruce Ashfield Sept. 25, 2024, 1:57 p.m. UTC | #4
On Wed, Sep 25, 2024 at 9:37 AM Quentin Schulz <quentin.schulz@cherry.de>
wrote:

> Hi Bruce,
>
> On 9/24/24 4:11 PM, Bruce Ashfield wrote:
> > On Tue, Sep 24, 2024 at 9:02 AM Quentin Schulz <quentin.schulz@cherry.de
> >
> > wrote:
> >
> >> Hi Bruce,
> >>
> >> On 8/11/24 8:04 PM, Bruce Ashfield via lists.openembedded.org wrote:
> >>> From: Bruce Ashfield <bruce.ashfield@gmail.com>
> >>>
> >>> Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
> >>> ---
> >>>    meta/recipes-kernel/linux/linux-yocto-dev.bb | 4 ++--
> >>>    1 file changed, 2 insertions(+), 2 deletions(-)
> >>>
> >>> diff --git a/meta/recipes-kernel/linux/linux-yocto-dev.bb
> >> b/meta/recipes-kernel/linux/linux-yocto-dev.bb
> >>> index 0097fec7b2..292897ce43 100644
> >>> --- a/meta/recipes-kernel/linux/linux-yocto-dev.bb
> >>> +++ b/meta/recipes-kernel/linux/linux-yocto-dev.bb
> >>> @@ -14,7 +14,7 @@ require recipes-kernel/linux/linux-yocto.inc
> >>>    # provide this .inc to set specific revisions
> >>>    include recipes-kernel/linux/linux-yocto-dev-revisions.inc
> >>>
> >>> -KBRANCH = "v6.10/standard/base"
> >>> +KBRANCH = "v6.11/standard/base"
> >>>    KMETA = "kernel-meta"
> >>>
> >>>    SRC_URI = "git://
> >>
> git.yoctoproject.org/linux-yocto-dev.git;branch=${KBRANCH};name=machine;protocol=https
> <http://git.yoctoproject.org/linux-yocto-dev.git;branch=$%7BKBRANCH%7D;name=machine;protocol=https>
> >> <
> http://git.yoctoproject.org/linux-yocto-dev.git;branch=$%7BKBRANCH%7D;name=machine;protocol=https
> >
> >> \
> >>> @@ -28,7 +28,7 @@ SRC_URI = "git://
> >> git.yoctoproject.org/linux-yocto-dev.git;branch=${KBRANCH};name
> <http://git.yoctoproject.org/linux-yocto-dev.git;branch=$%7BKBRANCH%7D;name>
> >> <
> http://git.yoctoproject.org/linux-yocto-dev.git;branch=$%7BKBRANCH%7D;name
> >
> >>>    SRCREV_machine ?=
> >> '${@oe.utils.conditional("PREFERRED_PROVIDER_virtual/kernel",
> >> "linux-yocto-dev", "${AUTOREV}",
> >> "29594404d7fe73cd80eaa4ee8c43dcc53970c60e", d)}'
> >>>    SRCREV_meta ?=
> >> '${@oe.utils.conditional("PREFERRED_PROVIDER_virtual/kernel",
> >> "linux-yocto-dev", "${AUTOREV}",
> >> "29594404d7fe73cd80eaa4ee8c43dcc53970c60e", d)}'
> >>>
> >>> -LINUX_VERSION ?= "6.10"
> >>> +LINUX_VERSION ?= "6.11"
> >>>    LINUX_VERSION_EXTENSION ?= "-yoctodev-${LINUX_KERNEL_TYPE}"
> >>>    PV = "${LINUX_VERSION}+git"
> >>>
> >>
> >> I haven't tried to compile linux-yocto-dev but I have my own v6.11-rc6
> >> based kernel recipe.
> >>
> >> It failed to build on Scarthgap because I was missing coreutils-native
> >> (specifically truncate binary) because CONFIG_KALLSYMS was enabled. This
> >> comes from
> >>
> >>
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=1472464c6248575bf2d01c7f076b94704bb32c95
> >>
> >> It seems there are some config fragments in linux-yocto-cache
> >> (ktypes/base/base.cfg) with it, so maybe we want to always add the
> >> dependency (or is there a way to add a build time dependency from an
> >> .scc file?).
> >>
> >
> >
> > Interesting!
> >
> > I build linux-yocto-dev nightly, so I can confidently say that this isn't
> > being seen with the reference recipe.
> >
> > I also do have KALLSYMS in the default .config, so I've worked through
> the
> > same new commit and enabling option.
> >
> > I get truncate in my kernel builds via hosttools, so the dependency
> > wasn't/isn't needed.
> >
>
> truncate isn't in HOSTTOOLS in any release yet, just master.
>
> c.f.
>
> https://git.openembedded.org/openembedded-core/commit/?id=522000ce5c4f0201cbe42d7826b6a8489ed10117
>
> This means people won't be able to build 6.11 and later with
> CONFIG_KALLSYMS enabled in Scarthgap and earlier releases...
>
> ... unless we backport this patch to still supported releases?
>
> BTW, I could reproduce on Scarthgap by checking out poky in its
> scarthgap branch, then running `git checkout origin/master --
> meta/recipes-kernel/linux/linux-yocto-dev.bb`, then adding
> `PREFERRED_PROVIDER_virtual/kernel="linux-yocto-dev"` to conf/local.conf
> and then running `MACHINE=qemuarm64 bitbake linux-yocto-dev` from either
> a kas-container (4.3.2) or Debian Bullseye.
>

Right. I only target linux-yocto-dev at the latest master where we do all
our testing. The support matrix of ever newer kernels against the older
releases can get complicated, but we can at least say a given release
supports the reference kernels + the reference -dev kernel version.

Anything more we do on a case by case basis.

I'd go with that simple host tool addition, rather than adding
coreutils-native
as a dependency.

I have a patch locally that can test hosttools and if truncate is missing
conditionally add the dependency. That balances the speed vs supporting
non-default host configuration.

Bruce


>
> > If we do add the dependency, it is best done in the kernel recipes
> > themselves, as they are versioned and we'll only pull it in when needed.
> > Eventually, it migrates to a common dependency as all kernels gain the
> > requirement over time.
> >
> > That being said, I'd rather not add coreutils as a dependency until I
> know
> > it is really required.
> >
> > If you try building linux-yocto-dev on that same build machine, can you
> see
> > if truncate is present in devshell ? I'm not seeing an obvious path
> through
>
> Sadly, kas-container doesn't allow me to run -c devshell :/ (well it
> does, but then does nothing :) ).
>
> truncate is available within the container though.
>
> Cheers,
> Quentin
>
Quentin Schulz Sept. 25, 2024, 2:06 p.m. UTC | #5
Hi Bruce,

On 9/25/24 3:57 PM, Bruce Ashfield wrote:
> On Wed, Sep 25, 2024 at 9:37 AM Quentin Schulz <quentin.schulz@cherry.de>
> wrote:
> 
>> Hi Bruce,
>>
>> On 9/24/24 4:11 PM, Bruce Ashfield wrote:
>>> On Tue, Sep 24, 2024 at 9:02 AM Quentin Schulz <quentin.schulz@cherry.de
>>>
>>> wrote:
>>>
>>>> Hi Bruce,
>>>>
>>>> On 8/11/24 8:04 PM, Bruce Ashfield via lists.openembedded.org wrote:
>>>>> From: Bruce Ashfield <bruce.ashfield@gmail.com>
>>>>>
>>>>> Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
>>>>> ---
>>>>>     meta/recipes-kernel/linux/linux-yocto-dev.bb | 4 ++--
>>>>>     1 file changed, 2 insertions(+), 2 deletions(-)
>>>>>
>>>>> diff --git a/meta/recipes-kernel/linux/linux-yocto-dev.bb
>>>> b/meta/recipes-kernel/linux/linux-yocto-dev.bb
>>>>> index 0097fec7b2..292897ce43 100644
>>>>> --- a/meta/recipes-kernel/linux/linux-yocto-dev.bb
>>>>> +++ b/meta/recipes-kernel/linux/linux-yocto-dev.bb
>>>>> @@ -14,7 +14,7 @@ require recipes-kernel/linux/linux-yocto.inc
>>>>>     # provide this .inc to set specific revisions
>>>>>     include recipes-kernel/linux/linux-yocto-dev-revisions.inc
>>>>>
>>>>> -KBRANCH = "v6.10/standard/base"
>>>>> +KBRANCH = "v6.11/standard/base"
>>>>>     KMETA = "kernel-meta"
>>>>>
>>>>>     SRC_URI = "git://
>>>>
>> git.yoctoproject.org/linux-yocto-dev.git;branch=${KBRANCH};name=machine;protocol=https
>> <http://git.yoctoproject.org/linux-yocto-dev.git;branch=$%7BKBRANCH%7D;name=machine;protocol=https>
>>>> <
>> http://git.yoctoproject.org/linux-yocto-dev.git;branch=$%7BKBRANCH%7D;name=machine;protocol=https
>>>
>>>> \
>>>>> @@ -28,7 +28,7 @@ SRC_URI = "git://
>>>> git.yoctoproject.org/linux-yocto-dev.git;branch=${KBRANCH};name
>> <http://git.yoctoproject.org/linux-yocto-dev.git;branch=$%7BKBRANCH%7D;name>
>>>> <
>> http://git.yoctoproject.org/linux-yocto-dev.git;branch=$%7BKBRANCH%7D;name
>>>
>>>>>     SRCREV_machine ?=
>>>> '${@oe.utils.conditional("PREFERRED_PROVIDER_virtual/kernel",
>>>> "linux-yocto-dev", "${AUTOREV}",
>>>> "29594404d7fe73cd80eaa4ee8c43dcc53970c60e", d)}'
>>>>>     SRCREV_meta ?=
>>>> '${@oe.utils.conditional("PREFERRED_PROVIDER_virtual/kernel",
>>>> "linux-yocto-dev", "${AUTOREV}",
>>>> "29594404d7fe73cd80eaa4ee8c43dcc53970c60e", d)}'
>>>>>
>>>>> -LINUX_VERSION ?= "6.10"
>>>>> +LINUX_VERSION ?= "6.11"
>>>>>     LINUX_VERSION_EXTENSION ?= "-yoctodev-${LINUX_KERNEL_TYPE}"
>>>>>     PV = "${LINUX_VERSION}+git"
>>>>>
>>>>
>>>> I haven't tried to compile linux-yocto-dev but I have my own v6.11-rc6
>>>> based kernel recipe.
>>>>
>>>> It failed to build on Scarthgap because I was missing coreutils-native
>>>> (specifically truncate binary) because CONFIG_KALLSYMS was enabled. This
>>>> comes from
>>>>
>>>>
>> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=1472464c6248575bf2d01c7f076b94704bb32c95
>>>>
>>>> It seems there are some config fragments in linux-yocto-cache
>>>> (ktypes/base/base.cfg) with it, so maybe we want to always add the
>>>> dependency (or is there a way to add a build time dependency from an
>>>> .scc file?).
>>>>
>>>
>>>
>>> Interesting!
>>>
>>> I build linux-yocto-dev nightly, so I can confidently say that this isn't
>>> being seen with the reference recipe.
>>>
>>> I also do have KALLSYMS in the default .config, so I've worked through
>> the
>>> same new commit and enabling option.
>>>
>>> I get truncate in my kernel builds via hosttools, so the dependency
>>> wasn't/isn't needed.
>>>
>>
>> truncate isn't in HOSTTOOLS in any release yet, just master.
>>
>> c.f.
>>
>> https://git.openembedded.org/openembedded-core/commit/?id=522000ce5c4f0201cbe42d7826b6a8489ed10117
>>
>> This means people won't be able to build 6.11 and later with
>> CONFIG_KALLSYMS enabled in Scarthgap and earlier releases...
>>
>> ... unless we backport this patch to still supported releases?
>>
>> BTW, I could reproduce on Scarthgap by checking out poky in its
>> scarthgap branch, then running `git checkout origin/master --
>> meta/recipes-kernel/linux/linux-yocto-dev.bb`, then adding
>> `PREFERRED_PROVIDER_virtual/kernel="linux-yocto-dev"` to conf/local.conf
>> and then running `MACHINE=qemuarm64 bitbake linux-yocto-dev` from either
>> a kas-container (4.3.2) or Debian Bullseye.
>>
> 
> Right. I only target linux-yocto-dev at the latest master where we do all
> our testing. The support matrix of ever newer kernels against the older
> releases can get complicated, but we can at least say a given release
> supports the reference kernels + the reference -dev kernel version.
> 
> Anything more we do on a case by case basis.
> 

Oh for sure! I wasn't implying we aren't testing appropriately or that 
we need to increase the number of kernels to support per release. Just 
that **some** people (likely me.... :) ) may want to support 6.12 on 
Scarthgap whenever it's out and that will be an issue. The answer to 
that issue could very well be "upstream isn't interested in supporting 
this for already-released versions, just handle this in your layer".

I assume one could simply add HOSTTOOLS += "truncate" in the kernel 
recipe and be done with it? I would be worried to add it globally as it 
could then break/change other stuff since the host's tool would be used 
instead of the one in recipe-sysroot-native (is that even true?)?

> I'd go with that simple host tool addition, rather than adding
> coreutils-native
> as a dependency.
> 
> I have a patch locally that can test hosttools and if truncate is missing
> conditionally add the dependency. That balances the speed vs supporting
> non-default host configuration.
> 

I'm not planning on using linux-yocto for our products so was hoping for 
a generic solution maybe? If there's one :)

I guess adding truncate to HOSTTOOLS in conf/bitbake.conf in an 
already-released version is just not something we want?

Just looking for guidance so I know which direction to go in 3/4 months 
from now when I'll be supporting 6.12 :)

Cheers,
Quentin
Bruce Ashfield Sept. 25, 2024, 2:23 p.m. UTC | #6
On Wed, Sep 25, 2024 at 10:07 AM Quentin Schulz <quentin.schulz@cherry.de>
wrote:

> Hi Bruce,
>
> On 9/25/24 3:57 PM, Bruce Ashfield wrote:
> > On Wed, Sep 25, 2024 at 9:37 AM Quentin Schulz <quentin.schulz@cherry.de
> >
> > wrote:
> >
> >> Hi Bruce,
> >>
> >> On 9/24/24 4:11 PM, Bruce Ashfield wrote:
> >>> On Tue, Sep 24, 2024 at 9:02 AM Quentin Schulz <
> quentin.schulz@cherry.de
> >>>
> >>> wrote:
> >>>
> >>>> Hi Bruce,
> >>>>
> >>>> On 8/11/24 8:04 PM, Bruce Ashfield via lists.openembedded.org wrote:
> >>>>> From: Bruce Ashfield <bruce.ashfield@gmail.com>
> >>>>>
> >>>>> Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
> >>>>> ---
> >>>>>     meta/recipes-kernel/linux/linux-yocto-dev.bb | 4 ++--
> >>>>>     1 file changed, 2 insertions(+), 2 deletions(-)
> >>>>>
> >>>>> diff --git a/meta/recipes-kernel/linux/linux-yocto-dev.bb
> >>>> b/meta/recipes-kernel/linux/linux-yocto-dev.bb
> >>>>> index 0097fec7b2..292897ce43 100644
> >>>>> --- a/meta/recipes-kernel/linux/linux-yocto-dev.bb
> >>>>> +++ b/meta/recipes-kernel/linux/linux-yocto-dev.bb
> >>>>> @@ -14,7 +14,7 @@ require recipes-kernel/linux/linux-yocto.inc
> >>>>>     # provide this .inc to set specific revisions
> >>>>>     include recipes-kernel/linux/linux-yocto-dev-revisions.inc
> >>>>>
> >>>>> -KBRANCH = "v6.10/standard/base"
> >>>>> +KBRANCH = "v6.11/standard/base"
> >>>>>     KMETA = "kernel-meta"
> >>>>>
> >>>>>     SRC_URI = "git://
> >>>>
> >>
> git.yoctoproject.org/linux-yocto-dev.git;branch=${KBRANCH};name=machine;protocol=https
> <http://git.yoctoproject.org/linux-yocto-dev.git;branch=$%7BKBRANCH%7D;name=machine;protocol=https>
> >> <
> http://git.yoctoproject.org/linux-yocto-dev.git;branch=$%7BKBRANCH%7D;name=machine;protocol=https
> >
> >>>> <
> >>
> http://git.yoctoproject.org/linux-yocto-dev.git;branch=$%7BKBRANCH%7D;name=machine;protocol=https
> >>>
> >>>> \
> >>>>> @@ -28,7 +28,7 @@ SRC_URI = "git://
> >>>> git.yoctoproject.org/linux-yocto-dev.git;branch=${KBRANCH};name
> <http://git.yoctoproject.org/linux-yocto-dev.git;branch=$%7BKBRANCH%7D;name>
> >> <
> http://git.yoctoproject.org/linux-yocto-dev.git;branch=$%7BKBRANCH%7D;name
> >
> >>>> <
> >>
> http://git.yoctoproject.org/linux-yocto-dev.git;branch=$%7BKBRANCH%7D;name
> >>>
> >>>>>     SRCREV_machine ?=
> >>>> '${@oe.utils.conditional("PREFERRED_PROVIDER_virtual/kernel",
> >>>> "linux-yocto-dev", "${AUTOREV}",
> >>>> "29594404d7fe73cd80eaa4ee8c43dcc53970c60e", d)}'
> >>>>>     SRCREV_meta ?=
> >>>> '${@oe.utils.conditional("PREFERRED_PROVIDER_virtual/kernel",
> >>>> "linux-yocto-dev", "${AUTOREV}",
> >>>> "29594404d7fe73cd80eaa4ee8c43dcc53970c60e", d)}'
> >>>>>
> >>>>> -LINUX_VERSION ?= "6.10"
> >>>>> +LINUX_VERSION ?= "6.11"
> >>>>>     LINUX_VERSION_EXTENSION ?= "-yoctodev-${LINUX_KERNEL_TYPE}"
> >>>>>     PV = "${LINUX_VERSION}+git"
> >>>>>
> >>>>
> >>>> I haven't tried to compile linux-yocto-dev but I have my own v6.11-rc6
> >>>> based kernel recipe.
> >>>>
> >>>> It failed to build on Scarthgap because I was missing coreutils-native
> >>>> (specifically truncate binary) because CONFIG_KALLSYMS was enabled.
> This
> >>>> comes from
> >>>>
> >>>>
> >>
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=1472464c6248575bf2d01c7f076b94704bb32c95
> >>>>
> >>>> It seems there are some config fragments in linux-yocto-cache
> >>>> (ktypes/base/base.cfg) with it, so maybe we want to always add the
> >>>> dependency (or is there a way to add a build time dependency from an
> >>>> .scc file?).
> >>>>
> >>>
> >>>
> >>> Interesting!
> >>>
> >>> I build linux-yocto-dev nightly, so I can confidently say that this
> isn't
> >>> being seen with the reference recipe.
> >>>
> >>> I also do have KALLSYMS in the default .config, so I've worked through
> >> the
> >>> same new commit and enabling option.
> >>>
> >>> I get truncate in my kernel builds via hosttools, so the dependency
> >>> wasn't/isn't needed.
> >>>
> >>
> >> truncate isn't in HOSTTOOLS in any release yet, just master.
> >>
> >> c.f.
> >>
> >>
> https://git.openembedded.org/openembedded-core/commit/?id=522000ce5c4f0201cbe42d7826b6a8489ed10117
> >>
> >> This means people won't be able to build 6.11 and later with
> >> CONFIG_KALLSYMS enabled in Scarthgap and earlier releases...
> >>
> >> ... unless we backport this patch to still supported releases?
> >>
> >> BTW, I could reproduce on Scarthgap by checking out poky in its
> >> scarthgap branch, then running `git checkout origin/master --
> >> meta/recipes-kernel/linux/linux-yocto-dev.bb`, then adding
> >> `PREFERRED_PROVIDER_virtual/kernel="linux-yocto-dev"` to conf/local.conf
> >> and then running `MACHINE=qemuarm64 bitbake linux-yocto-dev` from either
> >> a kas-container (4.3.2) or Debian Bullseye.
> >>
> >
> > Right. I only target linux-yocto-dev at the latest master where we do all
> > our testing. The support matrix of ever newer kernels against the older
> > releases can get complicated, but we can at least say a given release
> > supports the reference kernels + the reference -dev kernel version.
> >
> > Anything more we do on a case by case basis.
> >
>
> Oh for sure! I wasn't implying we aren't testing appropriately or that
> we need to increase the number of kernels to support per release. Just
> that **some** people (likely me.... :) ) may want to support 6.12 on
> Scarthgap whenever it's out and that will be an issue. The answer to
> that issue could very well be "upstream isn't interested in supporting
> this for already-released versions, just handle this in your layer".
>
> I assume one could simply add HOSTTOOLS += "truncate" in the kernel
> recipe and be done with it? I would be worried to add it globally as it
> could then break/change other stuff since the host's tool would be used
> instead of the one in recipe-sysroot-native (is that even true?)?
>

That would mess with the configuration space from a recipe, and won't
work. It's already gone into use long before the kernel starts to be
parsed and built.


>
> > I'd go with that simple host tool addition, rather than adding
> > coreutils-native
> > as a dependency.
> >
> > I have a patch locally that can test hosttools and if truncate is missing
> > conditionally add the dependency. That balances the speed vs supporting
> > non-default host configuration.
> >
>
> I'm not planning on using linux-yocto for our products so was hoping for
> a generic solution maybe? If there's one :)
>

I really push back on polluting kernel.bbclass with any version specific
dependencies and changes. It is best handled in the versioned recipes
until it is no longer version specific.


>
> I guess adding truncate to HOSTTOOLS in conf/bitbake.conf in an
> already-released version is just not something we want?
>
>
I personally have no issue with it, the tool is tiny and I'd be shocked if
it wasn't on all the supported hosts for the release(s) in question.

It is far preferable to doing kernel version specific tests and dependencies
and/or adding coreutils-native unconditionally.



> Just looking for guidance so I know which direction to go in 3/4 months
> from now when I'll be supporting 6.12 :)
>

I'd append to HOSTTOOLS in your layer ! Or just copy into your
kernel recipe what I'm about to add to linux-yocto-dev :)

Bruce



>
> Cheers,
> Quentin
>
Ross Burton Sept. 25, 2024, 4:10 p.m. UTC | #7
On 25 Sep 2024, at 14:37, Quentin Schulz via lists.openembedded.org <quentin.schulz=cherry.de@lists.openembedded.org> wrote:
> 
> truncate isn't in HOSTTOOLS in any release yet, just master.
> 
> c.f. https://git.openembedded.org/openembedded-core/commit/?id=522000ce5c4f0201cbe42d7826b6a8489ed10117
> 
> This means people won't be able to build 6.11 and later with CONFIG_KALLSYMS enabled in Scarthgap and earlier releases...
> 
> ... unless we backport this patch to still supported releases?

I think it’s reasonable to backport that change, everyone has truncate already on their host.

Ross
Quentin Schulz Sept. 30, 2024, 10:09 a.m. UTC | #8
Hi Bruce,

On 9/25/24 4:23 PM, Bruce Ashfield wrote:
> On Wed, Sep 25, 2024 at 10:07 AM Quentin Schulz <quentin.schulz@cherry.de>
> wrote:
> 
>> Hi Bruce,
>>
>> On 9/25/24 3:57 PM, Bruce Ashfield wrote:
>>> On Wed, Sep 25, 2024 at 9:37 AM Quentin Schulz <quentin.schulz@cherry.de
>>>
>>> wrote:
>>>
>>>> Hi Bruce,
>>>>
>>>> On 9/24/24 4:11 PM, Bruce Ashfield wrote:
>>>>> On Tue, Sep 24, 2024 at 9:02 AM Quentin Schulz <
>> quentin.schulz@cherry.de
>>>>>
>>>>> wrote:
>>>>>
>>>>>> Hi Bruce,
>>>>>>
>>>>>> On 8/11/24 8:04 PM, Bruce Ashfield via lists.openembedded.org wrote:
>>>>>>> From: Bruce Ashfield <bruce.ashfield@gmail.com>
>>>>>>>
>>>>>>> Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
>>>>>>> ---
>>>>>>>      meta/recipes-kernel/linux/linux-yocto-dev.bb | 4 ++--
>>>>>>>      1 file changed, 2 insertions(+), 2 deletions(-)
>>>>>>>
>>>>>>> diff --git a/meta/recipes-kernel/linux/linux-yocto-dev.bb
>>>>>> b/meta/recipes-kernel/linux/linux-yocto-dev.bb
>>>>>>> index 0097fec7b2..292897ce43 100644
>>>>>>> --- a/meta/recipes-kernel/linux/linux-yocto-dev.bb
>>>>>>> +++ b/meta/recipes-kernel/linux/linux-yocto-dev.bb
>>>>>>> @@ -14,7 +14,7 @@ require recipes-kernel/linux/linux-yocto.inc
>>>>>>>      # provide this .inc to set specific revisions
>>>>>>>      include recipes-kernel/linux/linux-yocto-dev-revisions.inc
>>>>>>>
>>>>>>> -KBRANCH = "v6.10/standard/base"
>>>>>>> +KBRANCH = "v6.11/standard/base"
>>>>>>>      KMETA = "kernel-meta"
>>>>>>>
>>>>>>>      SRC_URI = "git://
>>>>>>
>>>>
>> git.yoctoproject.org/linux-yocto-dev.git;branch=${KBRANCH};name=machine;protocol=https
>> <http://git.yoctoproject.org/linux-yocto-dev.git;branch=$%7BKBRANCH%7D;name=machine;protocol=https>
>>>> <
>> http://git.yoctoproject.org/linux-yocto-dev.git;branch=$%7BKBRANCH%7D;name=machine;protocol=https
>>>
>>>>>> <
>>>>
>> http://git.yoctoproject.org/linux-yocto-dev.git;branch=$%7BKBRANCH%7D;name=machine;protocol=https
>>>>>
>>>>>> \
>>>>>>> @@ -28,7 +28,7 @@ SRC_URI = "git://
>>>>>> git.yoctoproject.org/linux-yocto-dev.git;branch=${KBRANCH};name
>> <http://git.yoctoproject.org/linux-yocto-dev.git;branch=$%7BKBRANCH%7D;name>
>>>> <
>> http://git.yoctoproject.org/linux-yocto-dev.git;branch=$%7BKBRANCH%7D;name
>>>
>>>>>> <
>>>>
>> http://git.yoctoproject.org/linux-yocto-dev.git;branch=$%7BKBRANCH%7D;name
>>>>>
>>>>>>>      SRCREV_machine ?=
>>>>>> '${@oe.utils.conditional("PREFERRED_PROVIDER_virtual/kernel",
>>>>>> "linux-yocto-dev", "${AUTOREV}",
>>>>>> "29594404d7fe73cd80eaa4ee8c43dcc53970c60e", d)}'
>>>>>>>      SRCREV_meta ?=
>>>>>> '${@oe.utils.conditional("PREFERRED_PROVIDER_virtual/kernel",
>>>>>> "linux-yocto-dev", "${AUTOREV}",
>>>>>> "29594404d7fe73cd80eaa4ee8c43dcc53970c60e", d)}'
>>>>>>>
>>>>>>> -LINUX_VERSION ?= "6.10"
>>>>>>> +LINUX_VERSION ?= "6.11"
>>>>>>>      LINUX_VERSION_EXTENSION ?= "-yoctodev-${LINUX_KERNEL_TYPE}"
>>>>>>>      PV = "${LINUX_VERSION}+git"
>>>>>>>
>>>>>>
>>>>>> I haven't tried to compile linux-yocto-dev but I have my own v6.11-rc6
>>>>>> based kernel recipe.
>>>>>>
>>>>>> It failed to build on Scarthgap because I was missing coreutils-native
>>>>>> (specifically truncate binary) because CONFIG_KALLSYMS was enabled.
>> This
>>>>>> comes from
>>>>>>
>>>>>>
>>>>
>> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=1472464c6248575bf2d01c7f076b94704bb32c95
>>>>>>
>>>>>> It seems there are some config fragments in linux-yocto-cache
>>>>>> (ktypes/base/base.cfg) with it, so maybe we want to always add the
>>>>>> dependency (or is there a way to add a build time dependency from an
>>>>>> .scc file?).
>>>>>>
>>>>>
>>>>>
>>>>> Interesting!
>>>>>
>>>>> I build linux-yocto-dev nightly, so I can confidently say that this
>> isn't
>>>>> being seen with the reference recipe.
>>>>>
>>>>> I also do have KALLSYMS in the default .config, so I've worked through
>>>> the
>>>>> same new commit and enabling option.
>>>>>
>>>>> I get truncate in my kernel builds via hosttools, so the dependency
>>>>> wasn't/isn't needed.
>>>>>
>>>>
>>>> truncate isn't in HOSTTOOLS in any release yet, just master.
>>>>
>>>> c.f.
>>>>
>>>>
>> https://git.openembedded.org/openembedded-core/commit/?id=522000ce5c4f0201cbe42d7826b6a8489ed10117
>>>>
>>>> This means people won't be able to build 6.11 and later with
>>>> CONFIG_KALLSYMS enabled in Scarthgap and earlier releases...
>>>>
>>>> ... unless we backport this patch to still supported releases?
>>>>
>>>> BTW, I could reproduce on Scarthgap by checking out poky in its
>>>> scarthgap branch, then running `git checkout origin/master --
>>>> meta/recipes-kernel/linux/linux-yocto-dev.bb`, then adding
>>>> `PREFERRED_PROVIDER_virtual/kernel="linux-yocto-dev"` to conf/local.conf
>>>> and then running `MACHINE=qemuarm64 bitbake linux-yocto-dev` from either
>>>> a kas-container (4.3.2) or Debian Bullseye.
>>>>
>>>
>>> Right. I only target linux-yocto-dev at the latest master where we do all
>>> our testing. The support matrix of ever newer kernels against the older
>>> releases can get complicated, but we can at least say a given release
>>> supports the reference kernels + the reference -dev kernel version.
>>>
>>> Anything more we do on a case by case basis.
>>>
>>
>> Oh for sure! I wasn't implying we aren't testing appropriately or that
>> we need to increase the number of kernels to support per release. Just
>> that **some** people (likely me.... :) ) may want to support 6.12 on
>> Scarthgap whenever it's out and that will be an issue. The answer to
>> that issue could very well be "upstream isn't interested in supporting
>> this for already-released versions, just handle this in your layer".
>>
>> I assume one could simply add HOSTTOOLS += "truncate" in the kernel
>> recipe and be done with it? I would be worried to add it globally as it
>> could then break/change other stuff since the host's tool would be used
>> instead of the one in recipe-sysroot-native (is that even true?)?
>>
> 
> That would mess with the configuration space from a recipe, and won't
> work. It's already gone into use long before the kernel starts to be
> parsed and built.
> 
> 
>>
>>> I'd go with that simple host tool addition, rather than adding
>>> coreutils-native
>>> as a dependency.
>>>
>>> I have a patch locally that can test hosttools and if truncate is missing
>>> conditionally add the dependency. That balances the speed vs supporting
>>> non-default host configuration.
>>>
>>
>> I'm not planning on using linux-yocto for our products so was hoping for
>> a generic solution maybe? If there's one :)
>>
> 
> I really push back on polluting kernel.bbclass with any version specific
> dependencies and changes. It is best handled in the versioned recipes
> until it is no longer version specific.
> 
> 
>>
>> I guess adding truncate to HOSTTOOLS in conf/bitbake.conf in an
>> already-released version is just not something we want?
>>
>>
> I personally have no issue with it, the tool is tiny and I'd be shocked if
> it wasn't on all the supported hosts for the release(s) in question.
> 
> It is far preferable to doing kernel version specific tests and dependencies
> and/or adding coreutils-native unconditionally.
> 
> 
> 
>> Just looking for guidance so I know which direction to go in 3/4 months
>> from now when I'll be supporting 6.12 :)
>>
> 
> I'd append to HOSTTOOLS in your layer ! Or just copy into your
> kernel recipe what I'm about to add to linux-yocto-dev :)
> 

Did you send something already? I think I missed it if you did?

Will send the backport patches as an RFC for scarthgap in any case but 
I'm still interested to see what you came up with :)

Cheers,
Quentin
Bruce Ashfield Oct. 1, 2024, 2:08 p.m. UTC | #9
On Mon, Sep 30, 2024 at 6:09 AM Quentin Schulz <quentin.schulz@cherry.de> wrote:
>
> Hi Bruce,
>
> On 9/25/24 4:23 PM, Bruce Ashfield wrote:
> > On Wed, Sep 25, 2024 at 10:07 AM Quentin Schulz <quentin.schulz@cherry.de>
> > wrote:
> >
> >> Hi Bruce,
> >>
> >> On 9/25/24 3:57 PM, Bruce Ashfield wrote:
> >>> On Wed, Sep 25, 2024 at 9:37 AM Quentin Schulz <quentin.schulz@cherry.de
> >>>
> >>> wrote:
> >>>
> >>>> Hi Bruce,
> >>>>
> >>>> On 9/24/24 4:11 PM, Bruce Ashfield wrote:
> >>>>> On Tue, Sep 24, 2024 at 9:02 AM Quentin Schulz <
> >> quentin.schulz@cherry.de
> >>>>>
> >>>>> wrote:
> >>>>>
> >>>>>> Hi Bruce,
> >>>>>>
> >>>>>> On 8/11/24 8:04 PM, Bruce Ashfield via lists.openembedded.org wrote:
> >>>>>>> From: Bruce Ashfield <bruce.ashfield@gmail.com>
> >>>>>>>
> >>>>>>> Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
> >>>>>>> ---
> >>>>>>>      meta/recipes-kernel/linux/linux-yocto-dev.bb | 4 ++--
> >>>>>>>      1 file changed, 2 insertions(+), 2 deletions(-)
> >>>>>>>
> >>>>>>> diff --git a/meta/recipes-kernel/linux/linux-yocto-dev.bb
> >>>>>> b/meta/recipes-kernel/linux/linux-yocto-dev.bb
> >>>>>>> index 0097fec7b2..292897ce43 100644
> >>>>>>> --- a/meta/recipes-kernel/linux/linux-yocto-dev.bb
> >>>>>>> +++ b/meta/recipes-kernel/linux/linux-yocto-dev.bb
> >>>>>>> @@ -14,7 +14,7 @@ require recipes-kernel/linux/linux-yocto.inc
> >>>>>>>      # provide this .inc to set specific revisions
> >>>>>>>      include recipes-kernel/linux/linux-yocto-dev-revisions.inc
> >>>>>>>
> >>>>>>> -KBRANCH = "v6.10/standard/base"
> >>>>>>> +KBRANCH = "v6.11/standard/base"
> >>>>>>>      KMETA = "kernel-meta"
> >>>>>>>
> >>>>>>>      SRC_URI = "git://
> >>>>>>
> >>>>
> >> git.yoctoproject.org/linux-yocto-dev.git;branch=${KBRANCH};name=machine;protocol=https
> >> <http://git.yoctoproject.org/linux-yocto-dev.git;branch=$%7BKBRANCH%7D;name=machine;protocol=https>
> >>>> <
> >> http://git.yoctoproject.org/linux-yocto-dev.git;branch=$%7BKBRANCH%7D;name=machine;protocol=https
> >>>
> >>>>>> <
> >>>>
> >> http://git.yoctoproject.org/linux-yocto-dev.git;branch=$%7BKBRANCH%7D;name=machine;protocol=https
> >>>>>
> >>>>>> \
> >>>>>>> @@ -28,7 +28,7 @@ SRC_URI = "git://
> >>>>>> git.yoctoproject.org/linux-yocto-dev.git;branch=${KBRANCH};name
> >> <http://git.yoctoproject.org/linux-yocto-dev.git;branch=$%7BKBRANCH%7D;name>
> >>>> <
> >> http://git.yoctoproject.org/linux-yocto-dev.git;branch=$%7BKBRANCH%7D;name
> >>>
> >>>>>> <
> >>>>
> >> http://git.yoctoproject.org/linux-yocto-dev.git;branch=$%7BKBRANCH%7D;name
> >>>>>
> >>>>>>>      SRCREV_machine ?=
> >>>>>> '${@oe.utils.conditional("PREFERRED_PROVIDER_virtual/kernel",
> >>>>>> "linux-yocto-dev", "${AUTOREV}",
> >>>>>> "29594404d7fe73cd80eaa4ee8c43dcc53970c60e", d)}'
> >>>>>>>      SRCREV_meta ?=
> >>>>>> '${@oe.utils.conditional("PREFERRED_PROVIDER_virtual/kernel",
> >>>>>> "linux-yocto-dev", "${AUTOREV}",
> >>>>>> "29594404d7fe73cd80eaa4ee8c43dcc53970c60e", d)}'
> >>>>>>>
> >>>>>>> -LINUX_VERSION ?= "6.10"
> >>>>>>> +LINUX_VERSION ?= "6.11"
> >>>>>>>      LINUX_VERSION_EXTENSION ?= "-yoctodev-${LINUX_KERNEL_TYPE}"
> >>>>>>>      PV = "${LINUX_VERSION}+git"
> >>>>>>>
> >>>>>>
> >>>>>> I haven't tried to compile linux-yocto-dev but I have my own v6.11-rc6
> >>>>>> based kernel recipe.
> >>>>>>
> >>>>>> It failed to build on Scarthgap because I was missing coreutils-native
> >>>>>> (specifically truncate binary) because CONFIG_KALLSYMS was enabled.
> >> This
> >>>>>> comes from
> >>>>>>
> >>>>>>
> >>>>
> >> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=1472464c6248575bf2d01c7f076b94704bb32c95
> >>>>>>
> >>>>>> It seems there are some config fragments in linux-yocto-cache
> >>>>>> (ktypes/base/base.cfg) with it, so maybe we want to always add the
> >>>>>> dependency (or is there a way to add a build time dependency from an
> >>>>>> .scc file?).
> >>>>>>
> >>>>>
> >>>>>
> >>>>> Interesting!
> >>>>>
> >>>>> I build linux-yocto-dev nightly, so I can confidently say that this
> >> isn't
> >>>>> being seen with the reference recipe.
> >>>>>
> >>>>> I also do have KALLSYMS in the default .config, so I've worked through
> >>>> the
> >>>>> same new commit and enabling option.
> >>>>>
> >>>>> I get truncate in my kernel builds via hosttools, so the dependency
> >>>>> wasn't/isn't needed.
> >>>>>
> >>>>
> >>>> truncate isn't in HOSTTOOLS in any release yet, just master.
> >>>>
> >>>> c.f.
> >>>>
> >>>>
> >> https://git.openembedded.org/openembedded-core/commit/?id=522000ce5c4f0201cbe42d7826b6a8489ed10117
> >>>>
> >>>> This means people won't be able to build 6.11 and later with
> >>>> CONFIG_KALLSYMS enabled in Scarthgap and earlier releases...
> >>>>
> >>>> ... unless we backport this patch to still supported releases?
> >>>>
> >>>> BTW, I could reproduce on Scarthgap by checking out poky in its
> >>>> scarthgap branch, then running `git checkout origin/master --
> >>>> meta/recipes-kernel/linux/linux-yocto-dev.bb`, then adding
> >>>> `PREFERRED_PROVIDER_virtual/kernel="linux-yocto-dev"` to conf/local.conf
> >>>> and then running `MACHINE=qemuarm64 bitbake linux-yocto-dev` from either
> >>>> a kas-container (4.3.2) or Debian Bullseye.
> >>>>
> >>>
> >>> Right. I only target linux-yocto-dev at the latest master where we do all
> >>> our testing. The support matrix of ever newer kernels against the older
> >>> releases can get complicated, but we can at least say a given release
> >>> supports the reference kernels + the reference -dev kernel version.
> >>>
> >>> Anything more we do on a case by case basis.
> >>>
> >>
> >> Oh for sure! I wasn't implying we aren't testing appropriately or that
> >> we need to increase the number of kernels to support per release. Just
> >> that **some** people (likely me.... :) ) may want to support 6.12 on
> >> Scarthgap whenever it's out and that will be an issue. The answer to
> >> that issue could very well be "upstream isn't interested in supporting
> >> this for already-released versions, just handle this in your layer".
> >>
> >> I assume one could simply add HOSTTOOLS += "truncate" in the kernel
> >> recipe and be done with it? I would be worried to add it globally as it
> >> could then break/change other stuff since the host's tool would be used
> >> instead of the one in recipe-sysroot-native (is that even true?)?
> >>
> >
> > That would mess with the configuration space from a recipe, and won't
> > work. It's already gone into use long before the kernel starts to be
> > parsed and built.
> >
> >
> >>
> >>> I'd go with that simple host tool addition, rather than adding
> >>> coreutils-native
> >>> as a dependency.
> >>>
> >>> I have a patch locally that can test hosttools and if truncate is missing
> >>> conditionally add the dependency. That balances the speed vs supporting
> >>> non-default host configuration.
> >>>
> >>
> >> I'm not planning on using linux-yocto for our products so was hoping for
> >> a generic solution maybe? If there's one :)
> >>
> >
> > I really push back on polluting kernel.bbclass with any version specific
> > dependencies and changes. It is best handled in the versioned recipes
> > until it is no longer version specific.
> >
> >
> >>
> >> I guess adding truncate to HOSTTOOLS in conf/bitbake.conf in an
> >> already-released version is just not something we want?
> >>
> >>
> > I personally have no issue with it, the tool is tiny and I'd be shocked if
> > it wasn't on all the supported hosts for the release(s) in question.
> >
> > It is far preferable to doing kernel version specific tests and dependencies
> > and/or adding coreutils-native unconditionally.
> >
> >
> >
> >> Just looking for guidance so I know which direction to go in 3/4 months
> >> from now when I'll be supporting 6.12 :)
> >>
> >
> > I'd append to HOSTTOOLS in your layer ! Or just copy into your
> > kernel recipe what I'm about to add to linux-yocto-dev :)
> >
>
> Did you send something already? I think I missed it if you did?
>
> Will send the backport patches as an RFC for scarthgap in any case but
> I'm still interested to see what you came up with :)

I didn't send anything yet, as my test and add coreutils-native as a DEPENDS,
seemed less ideal than just adding the hosttool to older releases.
Since anything
newer will have that hosttool passthrough. There's a number of other tools that
could get the same treatment (i.e. don't assume they are in hosttools and build
a -native in that case).

That being said, I can definitely send it, and will do so once I'm through some
other test cycles.

Bruce

>
> Cheers,
> Quentin
diff mbox series

Patch

diff --git a/meta/recipes-kernel/linux/linux-yocto-dev.bb b/meta/recipes-kernel/linux/linux-yocto-dev.bb
index 0097fec7b2..292897ce43 100644
--- a/meta/recipes-kernel/linux/linux-yocto-dev.bb
+++ b/meta/recipes-kernel/linux/linux-yocto-dev.bb
@@ -14,7 +14,7 @@  require recipes-kernel/linux/linux-yocto.inc
 # provide this .inc to set specific revisions
 include recipes-kernel/linux/linux-yocto-dev-revisions.inc
 
-KBRANCH = "v6.10/standard/base"
+KBRANCH = "v6.11/standard/base"
 KMETA = "kernel-meta"
 
 SRC_URI = "git://git.yoctoproject.org/linux-yocto-dev.git;branch=${KBRANCH};name=machine;protocol=https \
@@ -28,7 +28,7 @@  SRC_URI = "git://git.yoctoproject.org/linux-yocto-dev.git;branch=${KBRANCH};name
 SRCREV_machine ?= '${@oe.utils.conditional("PREFERRED_PROVIDER_virtual/kernel", "linux-yocto-dev", "${AUTOREV}", "29594404d7fe73cd80eaa4ee8c43dcc53970c60e", d)}'
 SRCREV_meta ?= '${@oe.utils.conditional("PREFERRED_PROVIDER_virtual/kernel", "linux-yocto-dev", "${AUTOREV}", "29594404d7fe73cd80eaa4ee8c43dcc53970c60e", d)}'
 
-LINUX_VERSION ?= "6.10"
+LINUX_VERSION ?= "6.11"
 LINUX_VERSION_EXTENSION ?= "-yoctodev-${LINUX_KERNEL_TYPE}"
 PV = "${LINUX_VERSION}+git"