Skip to content
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

Add support for compiling kernel per distribution #4487

Closed
wants to merge 3 commits into from
Closed

Conversation

igorpecovnik
Copy link
Member

@igorpecovnik igorpecovnik commented Nov 25, 2022

Description

In order to achieve full compatibility between kernel, headers and libc, we need to build kernel per distribution, native, with distro compilers. In order to achieve that, we also need to store kernel into its repository. This method also significantly increases arm64 build load.

To do:

  • secure at least two serious arm64 irons
  • merge sub components

Jira reference number AR-1407

How Has This Been Tested?

  • Basic tests

Checklist:

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • Any dependent changes have been merged and published in downstream modules

@igorpecovnik
Copy link
Member Author

/rebase

@igorpecovnik igorpecovnik added Backlog Stalled work that needs to be completed and removed 23.08 Work in progress Unfinished / work in progress labels Nov 15, 2023
@github-actions github-actions bot removed the Software label Dec 5, 2023
@ColorfulRhino
Copy link
Collaborator

🧹 PR Cleanup Quest 🧹

@igorpecovnik The workflow files seem to be vastly different today compared to when this PR was made ~two years ago. Is this issue that this PR solved still a problem today?

@The-going
Copy link
Contributor

@ColorfulRhino The problem remains relevant.
And the solution will require a lot of work.
I think that this PR can just be closed.
There is nothing valuable here.

P.S.
The package must be created in the native environment,
in the environment of the distribution for which it is intended.
Then many problems will not appear.

@ColorfulRhino
Copy link
Collaborator

@ColorfulRhino The problem remains relevant. And the solution will require a lot of work. I think that this PR can just be closed. There is nothing valuable here.

P.S. The package must be created in the native environment, in the environment of the distribution for which it is intended. Then many problems will not appear.

Thanks for your reply! After looking at this more closely, the goal is to e.g. build one kernel for Debian Bookworm, one for Debian Trixie, one for Ubuntu Noble and so on, each with the compiler and defconfig from the respective distribution? If yes, I do agree that this seems pretty complex and especially heavy on building and maintenance.

I don't think I'm understanding the issue yet though, like what this would solve.

Honestly, so far I never had issues with the normal "non-native" kernel. I like it, since it can be used even for other distros if needed.

I think that this PR can just be closed.

I'll leave that up to Igor :)

@The-going
Copy link
Contributor

build one kernel for Debian Bookworm, one for Debian Trixie, one for Ubuntu Noble and so on, each with the compiler and defconfig from the respective distribution? If yes, I do agree that this seems pretty complex and especially heavy on building and maintenance.

I don't think I'm understanding the issue yet though, like what this would solve.

It's much more complicated than that.
Compression algorithms, system scripts that are involved in creating a package
or installing a package can be changed from distribution to distribution.
Library versions will change and new functionality will not be supported in early distributions.

The user uses Ubuntu 20.04 and when updating receives packages collected in Ubuntu 24.04
and receives an error during installation or, even worse, a broken system.
The complaint on the forum is "I have updated and the board is not loading".
We spend our time on this too.

@igorpecovnik
Copy link
Member Author

I think that this PR can just be closed.

Yes, agree.

@ColorfulRhino
Copy link
Collaborator

Library versions will change and new functionality will not be supported in early distributions.

So e.g. if I install a freshly built edge kernel on a board running Ubuntu 20.04, the kernel may try to access library functions which Ubuntu 20.04 doesn't have?

The user uses Ubuntu 20.04 and when updating receives packages collected in Ubuntu 24.04

Are there some packages included in the kernel that will be installed when updating the kernel?

The complaint on the forum is "I have updated and the board is not loading".

I see, this is bad. But the solution seems very complex. Maybe at some point there will magically be an easy solution, one can always hope 😄

@igorpecovnik igorpecovnik deleted the AR-1407 branch November 10, 2024 13:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Backlog Stalled work that needs to be completed
Development

Successfully merging this pull request may close these issues.

3 participants