-
-
Notifications
You must be signed in to change notification settings - Fork 2.7k
Automatic kernel config rewrite
#8902
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
github-actions
wants to merge
1
commit into
main
Choose a base branch
from
update-kernel-configs
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
Oops, something went wrong.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Something is very wrong with this beagle / k3 stuff.
The boards
beagley-ai.conf(1x) andpocketbeagle2.conf(2x) are all sharing a LINUXFAMILY and apparently also a LINUXCONFIG, although they're all different KERNELSOURCEs and KERNELBRANCH's.That is why this is flipping between 6.6 and 6.12.
It needs cleanup; preferably unifying it around a single kernel, or actually using separate LINUXFAMILY/LINUXCONFIG for each, otherwise crazy will ensue.
@igorpecovnik who is actually maintaining those? it is probably causing other problems (overwritten .deb's in apt repo, maybe) other than this.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Indeed.
Themselves https://github.com/orgs/armbian/teams/boards-texasinstruments with my assistance. I recently asked @tabrisnet to help around such problems, so I expect that situation will improve soon.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
On our side the way things are is basically this-
All Texas Instruments SoC based boards are K3 (Keystone 3 Family) so they are built with k3.conf.
BeagleBoards then re-use most of infra except they keep their own Kernel and Uboot configs.
All TI based EVMs should then use TI defconfigs and sources for Kernel/Uboot. (Although we did want to add mainline options instead of just vendor at some point in the future)
For Beagle - boards that are in mainline (like BeaglePlay) are easy, but then in the case of PocketBeagle2 (and especially) BeagleY we had to keep them with post-family configs to pin BeagleY to a patched 6.6 kernel from Beagle for example. Beagleboard maintain a forks of the TI Linux & Uboot with their own patches. It's messy at the best of times and I'm not sure how to really clean this up currently... it's mostly on the Beagle side.
For KConfigs - the TI ones should in theory be pruned regularly to align with what we ship in Yocto releases with some small deltas where it makes sense. Beagle keeps their own separate KConfigs since they have a lot more historic stuff switched on due to users asking for them.
Any recommendations I'm very open to....
@jonaswood01 @glneo for visibility too.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The Beagle boards should be using the TI kernel and upstream, only the two mentioned cases I see
LINUXFAMILY="k3-beagle"for using the "Beagle" kernel, but theLINUXCONFIGwould remain the default from the TI/upstream kernel settings. We should either use a differentLINUXCONFIGfor those, or at this point switch them away from the Beagle kernels and back to the normal TI/upstream kernel.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think in this particular case Play and AI64 would both boot fine off of TI branch... Pb2 may as well.
If they don't boot like that should I just revert them to CSC and keep the hackyness w/Beagle sources for now?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Booting-or-not, internal details of each board, etc, are not in question here.
That's fine, but...
... that is not correct. If each board needs a different kernel (due to a different source branch, .config, or whatever that in the end causes it to be a different kernel / different .deb package) then each board should be in it's own LINUXFAMILY, with it's own LINUXCONFIG.
Sincerely I recommend ya'll try to unify it - there's expenses (of both machine-time, bandwidth, but most important of maintainer time, as you can see in this PR) related to having multiple kernels.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since I spent the time already, here goes.
{ "BOARD": "beaglebone-ai64", "BRANCH": "current", "kernel": "k3", "needed_by": 8, "ARMBIAN_KERNEL_DEB_NAME": "k3-current", "LINUXCONFIG": "linux-k3-current", "KERNELSOURCE": "https://github.com/TexasInstruments/ti-linux-kernel", "KERNELBRANCH": "tag:11.00.09" } { "BOARD": "beaglebone-ai64", "BRANCH": "edge", "kernel": "k3", "needed_by": 8, "ARMBIAN_KERNEL_DEB_NAME": "k3-edge", "LINUXCONFIG": "linux-k3-edge", "KERNELSOURCE": "https://github.com/TexasInstruments/ti-linux-kernel", "KERNELBRANCH": "tag:11.00.12" } { "BOARD": "beagley-ai", "BRANCH": "current", "kernel": "k3-beagle", "needed_by": 1, "ARMBIAN_KERNEL_DEB_NAME": "k3-beagle-current", "LINUXCONFIG": "linux-k3-current", "KERNELSOURCE": "https://github.com/beagleboard/linux", "KERNELBRANCH": "branch:v6.6.58-ti-arm64-r21" } { "BOARD": "pocketbeagle2", "BRANCH": "edge", "kernel": "k3-beagle", "needed_by": 1, "ARMBIAN_KERNEL_DEB_NAME": "k3-beagle-edge", "LINUXCONFIG": "linux-k3-beagle-edge", "KERNELSOURCE": "https://github.com/beagleboard/linux", "KERNELBRANCH": "branch:v6.12.24-ti-arm64-r43" }As you can see, the
k3-currentkernel (used by 8 boards, amongst thembeaglebone-ai64) is using LINUXCONFIGlinux-k3-current.The
k3-beagle-currentkernel (used by a single board,beagley-ai) is also using LINUXCONFIGlinux-k3-current.This obviously is incorrect.
There is also a plethora of other problems, like
-rtvariants just left there, etc.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So here is my attempt to clean this up for the Beagle boards when using their custom kernel: #8913