Linux 5.10 LTS "mixin" layer for Dunfell


Alexander Kanavin
 

On Wed, 6 Oct 2021 at 22:40, Denys Dmytriyenko <denis@...> wrote:

Yes, I believe that was the intended usage:
$ git clone git://git.yoctoproject.org/meta-lts-mixins -b dunfell/kernel meta-lts-kernel-mixin
$ git clone git://git.yoctoproject.org/meta-lts-mixins -b dunfell/gizmo meta-lts-gizmo-mixin

When TSC discussed the process for Mixin layers, we wanted them to be slim
single-purpose layers and using branches instead of whole git repos seemed
reasonable. Especially since we were not envisioning too many of them. But
if it proves to be a problem in the future, we can certainly revisit it then.

Thanks, there might be that gizmo added then in the not too distant future :)

Alex


Denys Dmytriyenko
 

On Wed, Oct 06, 2021 at 12:30:55PM +0200, Alexander Kanavin wrote:
On Tue, 27 Jul 2021 at 18:54, Denys Dmytriyenko <denis@...> wrote:

Not necessarily. Providing latest LTS kernels for Dunfell also seems very
specific. For every extra year of official support for Dunfell, this can
offer a new LTS kernel version, that can be selected by PREFERRED_VERSION.
Creating a new branch for each kernel version seems wasteful. But I can do
that as well, if needed.
Hello Denys,

if I would like to add a 'dunfell/gizmo' branch to that repository, how
would it work if a given build needs both the kernel and the gizmo? Is the
repo supposed to be cloned twice into two separate locations on disk?
The page
https://wiki.yoctoproject.org/wiki/Stable_Release_and_LTS#LTS_.E2.80.9CMixin.E2.80.9D_repositories
doesn't make it clear either.
Yes, I believe that was the intended usage:
$ git clone git://git.yoctoproject.org/meta-lts-mixins -b dunfell/kernel meta-lts-kernel-mixin
$ git clone git://git.yoctoproject.org/meta-lts-mixins -b dunfell/gizmo meta-lts-gizmo-mixin

When TSC discussed the process for Mixin layers, we wanted them to be slim
single-purpose layers and using branches instead of whole git repos seemed
reasonable. Especially since we were not envisioning too many of them. But
if it proves to be a problem in the future, we can certainly revisit it then.

--
Regards,
Denys Dmytriyenko <denis@...>
PGP: 0x420902729A92C964 - https://denix.org/0x420902729A92C964
Fingerprint: 25FC E4A5 8A72 2F69 1186 6D76 4209 0272 9A92 C964


Alexander Kanavin
 

On Tue, 27 Jul 2021 at 18:54, Denys Dmytriyenko <denis@...> wrote:
Not necessarily. Providing latest LTS kernels for Dunfell also seems very
specific. For every extra year of official support for Dunfell, this can
offer a new LTS kernel version, that can be selected by PREFERRED_VERSION.
Creating a new branch for each kernel version seems wasteful. But I can do
that as well, if needed.

Hello Denys,

if I would like to add a 'dunfell/gizmo' branch to that repository, how would it work if a given build needs both the kernel and the gizmo? Is the repo supposed to be cloned twice into two separate locations on disk?

Thanks,
Alex


Denys Dmytriyenko
 

On Tue, Jul 27, 2021 at 05:40:32PM +0100, Richard Purdie wrote:
On Tue, 2021-07-27 at 12:38 -0400, Denys Dmytriyenko wrote:
On Tue, Jul 27, 2021 at 08:18:13AM +0100, Richard Purdie wrote:
On Mon, 2021-07-26 at 23:51 -0400, Denys Dmytriyenko wrote:
All,

The layer has been updated and moved to git.yoctoproject.org under a central
mixin repo called "meta-lts-mixins", branch "dunfell/kernel":
http://git.yoctoproject.org/cgit/cgit.cgi/meta-lts-mixins/

The naming is in accordance with the LTS mixin layer guidelines:
https://wiki.yoctoproject.org/wiki/Stable_Release_and_LTS#LTS_.E2.80.9CMixin.E2.80.9D_repositories

Other mixin layers are also welcome!
Should the layer be called kernel-5.10 since there potentially may be other
versions?
Either that, or it can hold multiple versions...
I think that defeats the idea of specific purpose layers?
Not necessarily. Providing latest LTS kernels for Dunfell also seems very
specific. For every extra year of official support for Dunfell, this can
offer a new LTS kernel version, that can be selected by PREFERRED_VERSION.
Creating a new branch for each kernel version seems wasteful. But I can do
that as well, if needed.

--
Regards,
Denys Dmytriyenko <denis@...>
PGP: 0x420902729A92C964 - https://denix.org/0x420902729A92C964
Fingerprint: 25FC E4A5 8A72 2F69 1186 6D76 4209 0272 9A92 C964


Richard Purdie
 

On Tue, 2021-07-27 at 12:38 -0400, Denys Dmytriyenko wrote:
On Tue, Jul 27, 2021 at 08:18:13AM +0100, Richard Purdie wrote:
On Mon, 2021-07-26 at 23:51 -0400, Denys Dmytriyenko wrote:
All,

The layer has been updated and moved to git.yoctoproject.org under a central
mixin repo called "meta-lts-mixins", branch "dunfell/kernel":
http://git.yoctoproject.org/cgit/cgit.cgi/meta-lts-mixins/

The naming is in accordance with the LTS mixin layer guidelines:
https://wiki.yoctoproject.org/wiki/Stable_Release_and_LTS#LTS_.E2.80.9CMixin.E2.80.9D_repositories

Other mixin layers are also welcome!
Should the layer be called kernel-5.10 since there potentially may be other
versions?
Either that, or it can hold multiple versions...
I think that defeats the idea of specific purpose layers?

Cheers,

Richard


Denys Dmytriyenko
 

On Tue, Jul 27, 2021 at 08:18:13AM +0100, Richard Purdie wrote:
On Mon, 2021-07-26 at 23:51 -0400, Denys Dmytriyenko wrote:
All,

The layer has been updated and moved to git.yoctoproject.org under a central
mixin repo called "meta-lts-mixins", branch "dunfell/kernel":
http://git.yoctoproject.org/cgit/cgit.cgi/meta-lts-mixins/

The naming is in accordance with the LTS mixin layer guidelines:
https://wiki.yoctoproject.org/wiki/Stable_Release_and_LTS#LTS_.E2.80.9CMixin.E2.80.9D_repositories

Other mixin layers are also welcome!
Should the layer be called kernel-5.10 since there potentially may be other
versions?
Either that, or it can hold multiple versions...

--
Regards,
Denys Dmytriyenko <denis@...>
PGP: 0x420902729A92C964 - https://denix.org/0x420902729A92C964
Fingerprint: 25FC E4A5 8A72 2F69 1186 6D76 4209 0272 9A92 C964


Richard Purdie
 

On Mon, 2021-07-26 at 23:51 -0400, Denys Dmytriyenko wrote:
All,

The layer has been updated and moved to git.yoctoproject.org under a central
mixin repo called "meta-lts-mixins", branch "dunfell/kernel":
http://git.yoctoproject.org/cgit/cgit.cgi/meta-lts-mixins/

The naming is in accordance with the LTS mixin layer guidelines:
https://wiki.yoctoproject.org/wiki/Stable_Release_and_LTS#LTS_.E2.80.9CMixin.E2.80.9D_repositories

Other mixin layers are also welcome!
Should the layer be called kernel-5.10 since there potentially may be other
versions?

Cheers,

Richard


Denys Dmytriyenko
 

All,

The layer has been updated and moved to git.yoctoproject.org under a central
mixin repo called "meta-lts-mixins", branch "dunfell/kernel":
http://git.yoctoproject.org/cgit/cgit.cgi/meta-lts-mixins/

The naming is in accordance with the LTS mixin layer guidelines:
https://wiki.yoctoproject.org/wiki/Stable_Release_and_LTS#LTS_.E2.80.9CMixin.E2.80.9D_repositories

Other mixin layers are also welcome!

On Mon, Jul 19, 2021 at 01:55:42PM -0400, Denys Dmytriyenko wrote:
All,

Recently several Yocto Project members have expressed interest in being able
to upgrade the Linux kernel in Dunfell LTS release from 5.4 to 5.10. Both of
those Linux kernel versions are designated "longterm"[1], but at the time
Dunfell was released in April 2020, 5.10 was not out yet.

Recommended way to add new features or upgrade components in Yocto LTS
releases is with the so called "mixin" layers[2]. After discussing some of
the details of such layer among the Yocto Project TSC and other interested
developers, as well as testing the concept for few weeks, I'd like to make
this open to a wider consumption in hopes it would be useful to others.

This Linux kernel "mixin" layer is currently hosted on GitHub under my
name[3], but can be moved to a more public space, like Yocto Project git
server, if it gets traction and is found useful to others. Please feel free
to try it and provide feedback. Thanks!
--
Regards,
Denys Dmytriyenko <denis@...>
PGP: 0x420902729A92C964 - https://denix.org/0x420902729A92C964
Fingerprint: 25FC E4A5 8A72 2F69 1186 6D76 4209 0272 9A92 C964


Denys Dmytriyenko
 

On Tue, Jul 20, 2021 at 08:38:05AM +0100, Paul Barker wrote:
On Mon, 19 Jul 2021 13:55:42 -0400
"Denys Dmytriyenko" <denis@...> wrote:

All,

Recently several Yocto Project members have expressed interest in being able
to upgrade the Linux kernel in Dunfell LTS release from 5.4 to 5.10. Both of
those Linux kernel versions are designated "longterm"[1], but at the time
Dunfell was released in April 2020, 5.10 was not out yet.

Recommended way to add new features or upgrade components in Yocto LTS
releases is with the so called "mixin" layers[2]. After discussing some of
the details of such layer among the Yocto Project TSC and other interested
developers, as well as testing the concept for few weeks, I'd like to make
this open to a wider consumption in hopes it would be useful to others.

This Linux kernel "mixin" layer is currently hosted on GitHub under my
name[3], but can be moved to a more public space, like Yocto Project git
server, if it gets traction and is found useful to others. Please feel free
to try it and provide feedback. Thanks!

[1] https://kernel.org/
[2] https://wiki.yoctoproject.org/wiki/Stable_Release_and_LTS#LTS_.E2.80.9CMixin.E2.80.9D_repositories
[3] https://github.com/denix0/meta-lts-kernel-mixin
Hi Denys,
Paul,

Thanks for the review!


This looks like a good initiative. A couple of initial comments:

layer.conf contains `PREFERRED_VERSION_linux-yocto ?= "5.10%"`. It'd
be better to leave that out and in the readme say that users need to
add this in their distro or local conf. That would bring the layer in
line with best practices and what's needed for Yocto Project Compatible
status as adding simply a layer to a build should not result in changes
to the images you build.
Right, good point. I put it there for testing and totally forgot about it.


The layer needs a COPYING or LICENSE file.
Sure, will add a standard MIT one.


It'd be good to explicitly say how contributions to the layer can be
made - should this be by GitHub pull request or via a mailing list?
Yeah, it was missing because GitHub is a temporary location for this layer.
Most probably contribution model will be via a mailing list - will have to
update it after the move.

--
Regards,
Denys Dmytriyenko <denis@...>
PGP: 0x420902729A92C964 - https://denix.org/0x420902729A92C964
Fingerprint: 25FC E4A5 8A72 2F69 1186 6D76 4209 0272 9A92 C964


Steve Sakoman
 

On Mon, Jul 19, 2021 at 2:34 PM Mark Hatle
<mark.hatle@...> wrote:

Did someone already backport the change to Dunfell to fix the module.lds for out
of tree kernel builds?

Master commit 596b0474d3d?
Yes, see https://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?h=dunfell&id=5981a05525442f1a0db1c4e710b319dbf1fbba8b

For gatesgarth, we ended up porting a copy of this into our distribution branch,
as it was rejected for a backport.

Also there was a necessary change for kernel-devsrc as well, I believe the
oe-core commit was: cb940d8af359fa370254bd4c2b36ba26708bb54b
I missed that one, but it seems safe enough so I'll add it to my next
review series.

Steve


See:

https://github.com/Xilinx/meta-petalinux/tree/rel-v2021.1/oe-core/meta

classes/kernel.bbclass and recipes-kernel/linux

this was the best way we could find to override these files for gatesgarth.

--Mark


On 7/19/21 12:55 PM, Denys Dmytriyenko wrote:
All,

Recently several Yocto Project members have expressed interest in being able
to upgrade the Linux kernel in Dunfell LTS release from 5.4 to 5.10. Both of
those Linux kernel versions are designated "longterm"[1], but at the time
Dunfell was released in April 2020, 5.10 was not out yet.

Recommended way to add new features or upgrade components in Yocto LTS
releases is with the so called "mixin" layers[2]. After discussing some of
the details of such layer among the Yocto Project TSC and other interested
developers, as well as testing the concept for few weeks, I'd like to make
this open to a wider consumption in hopes it would be useful to others.

This Linux kernel "mixin" layer is currently hosted on GitHub under my
name[3], but can be moved to a more public space, like Yocto Project git
server, if it gets traction and is found useful to others. Please feel free
to try it and provide feedback. Thanks!

[1] https://kernel.org/
[2] https://wiki.yoctoproject.org/wiki/Stable_Release_and_LTS#LTS_.E2.80.9CMixin.E2.80.9D_repositories
[3] https://github.com/denix0/meta-lts-kernel-mixin






 

On Mon, 19 Jul 2021 13:55:42 -0400
"Denys Dmytriyenko" <denis@...> wrote:

All,

Recently several Yocto Project members have expressed interest in being able
to upgrade the Linux kernel in Dunfell LTS release from 5.4 to 5.10. Both of
those Linux kernel versions are designated "longterm"[1], but at the time
Dunfell was released in April 2020, 5.10 was not out yet.

Recommended way to add new features or upgrade components in Yocto LTS
releases is with the so called "mixin" layers[2]. After discussing some of
the details of such layer among the Yocto Project TSC and other interested
developers, as well as testing the concept for few weeks, I'd like to make
this open to a wider consumption in hopes it would be useful to others.

This Linux kernel "mixin" layer is currently hosted on GitHub under my
name[3], but can be moved to a more public space, like Yocto Project git
server, if it gets traction and is found useful to others. Please feel free
to try it and provide feedback. Thanks!

[1] https://kernel.org/
[2] https://wiki.yoctoproject.org/wiki/Stable_Release_and_LTS#LTS_.E2.80.9CMixin.E2.80.9D_repositories
[3] https://github.com/denix0/meta-lts-kernel-mixin
Hi Denys,

This looks like a good initiative. A couple of initial comments:

layer.conf contains `PREFERRED_VERSION_linux-yocto ?= "5.10%"`. It'd
be better to leave that out and in the readme say that users need to
add this in their distro or local conf. That would bring the layer in
line with best practices and what's needed for Yocto Project Compatible
status as adding simply a layer to a build should not result in changes
to the images you build.

The layer needs a COPYING or LICENSE file.

It'd be good to explicitly say how contributions to the layer can be
made - should this be by GitHub pull request or via a mailing list?

Thanks,

--
Paul Barker
https://pbarker.dev/


Mark Hatle
 

Did someone already backport the change to Dunfell to fix the module.lds for out
of tree kernel builds?

Master commit 596b0474d3d?

For gatesgarth, we ended up porting a copy of this into our distribution branch,
as it was rejected for a backport.

Also there was a necessary change for kernel-devsrc as well, I believe the
oe-core commit was: cb940d8af359fa370254bd4c2b36ba26708bb54b

See:

https://github.com/Xilinx/meta-petalinux/tree/rel-v2021.1/oe-core/meta

classes/kernel.bbclass and recipes-kernel/linux

this was the best way we could find to override these files for gatesgarth.

--Mark

On 7/19/21 12:55 PM, Denys Dmytriyenko wrote:
All,

Recently several Yocto Project members have expressed interest in being able
to upgrade the Linux kernel in Dunfell LTS release from 5.4 to 5.10. Both of
those Linux kernel versions are designated "longterm"[1], but at the time
Dunfell was released in April 2020, 5.10 was not out yet.

Recommended way to add new features or upgrade components in Yocto LTS
releases is with the so called "mixin" layers[2]. After discussing some of
the details of such layer among the Yocto Project TSC and other interested
developers, as well as testing the concept for few weeks, I'd like to make
this open to a wider consumption in hopes it would be useful to others.

This Linux kernel "mixin" layer is currently hosted on GitHub under my
name[3], but can be moved to a more public space, like Yocto Project git
server, if it gets traction and is found useful to others. Please feel free
to try it and provide feedback. Thanks!

[1] https://kernel.org/
[2] https://wiki.yoctoproject.org/wiki/Stable_Release_and_LTS#LTS_.E2.80.9CMixin.E2.80.9D_repositories
[3] https://github.com/denix0/meta-lts-kernel-mixin





Denys Dmytriyenko
 

All,

Recently several Yocto Project members have expressed interest in being able
to upgrade the Linux kernel in Dunfell LTS release from 5.4 to 5.10. Both of
those Linux kernel versions are designated "longterm"[1], but at the time
Dunfell was released in April 2020, 5.10 was not out yet.

Recommended way to add new features or upgrade components in Yocto LTS
releases is with the so called "mixin" layers[2]. After discussing some of
the details of such layer among the Yocto Project TSC and other interested
developers, as well as testing the concept for few weeks, I'd like to make
this open to a wider consumption in hopes it would be useful to others.

This Linux kernel "mixin" layer is currently hosted on GitHub under my
name[3], but can be moved to a more public space, like Yocto Project git
server, if it gets traction and is found useful to others. Please feel free
to try it and provide feedback. Thanks!

[1] https://kernel.org/
[2] https://wiki.yoctoproject.org/wiki/Stable_Release_and_LTS#LTS_.E2.80.9CMixin.E2.80.9D_repositories
[3] https://github.com/denix0/meta-lts-kernel-mixin

--
Regards,
Denys Dmytriyenko <denis@...>
PGP: 0x420902729A92C964 - https://denix.org/0x420902729A92C964
Fingerprint: 25FC E4A5 8A72 2F69 1186 6D76 4209 0272 9A92 C964