Merged
Conversation
88af018 to
9c4e042
Compare
jkloetzke
reviewed
May 14, 2025
Member
jkloetzke
left a comment
There was a problem hiding this comment.
Nice.
I'm wondering if we could not just put all the functions into the linux" class with the exception of linux::menuconfig`. They just declare functions so they could be in one class without interfering with each other...
Building linux is a common task required in most projects. Right now, the kernel::linux recipe can be used for that. However, this builds a fixed version from kernel.org, which will be not correct in a lot of cases. Especially if one builds a project for a specific arm board, the upstream kernel is most of the time not usable. Vendors of those boards tend to provided there own BSP's, including a modified linux version. On top of that, sometimes it is also required to make modifications which a project specific. In those cases I don't want to copy the linux.yaml all the time and make local modifications. Instead provide a set of base class helper functions, which make the task of compiling a linux kernel (and all dependent task, like dtb handling) only a matter of adding a couple of lines to the custom linux kernel recipe. The new classes also add support by providing functions for a kmod distribution. This allows building external kernel mode drivers against the kernel in use.
Contributor
Author
modules.yaml also has a tool dependency. So we decided to keep this structure. |
jkloetzke
reviewed
May 15, 2025
Member
jkloetzke
left a comment
There was a problem hiding this comment.
Thanks for the update. I still found two small things, though...
Switch the default kernel::linux recipe to use the new linux classes. This also serves as an example on how they can be used.
Make it possible to override the linux kernel used in a project. Just set CONFIG_SELECT_LINUX to your linux package. This recipe needs to provide targets as seen in the virtual::kernel::linux package. For a template on how this can look like, see the documentation in classes/linux.yaml or recipes/kernel/linux.yaml. Any recipe that has a dependency on the linux kernel should depend on one of the targets defined here. This is especially true for any external linux kernel mode driver.
Member
|
Thanks! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.