Skip to content

linux/generic: take a kernelTarget argument#287122

Draft
RaitoBezarius wants to merge 2 commits intoNixOS:masterfrom
RaitoBezarius:kernel-targets-step1
Draft

linux/generic: take a kernelTarget argument#287122
RaitoBezarius wants to merge 2 commits intoNixOS:masterfrom
RaitoBezarius:kernel-targets-step1

Conversation

@RaitoBezarius
Copy link
Member

Description of changes

Deprecates the legacy targets too.

Nowadays, most architectures supports KBUILD_IMAGE which is
set by the architecture-specific Makefile or can be overriden by the user
Before that, we were using Makefile "install targets" such as "uinstall" for uImage,
"zinstall" for zImage, etc.

We move them into a "legacy" list which is used by default if kernelTarget is null.

This is a retake of #244706 containing the old amjoseph comments.

Things done

  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)
    • sandbox = relaxed
    • sandbox = true
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
  • Fits CONTRIBUTING.md.

Add a 👍 reaction to pull requests you find important.

…tall targets

Nowadays, most architectures supports `KBUILD_IMAGE` which is
set by the architecture-specific Makefile or can be overriden by the user
Before that, we were using Makefile "install targets" such as "uinstall" for uImage,
"zinstall" for zImage, etc.

We move them into a "legacy" list which is used by default if `kernelTarget` is null.
For completeness, this may be needed for some legacy software or
to simplify further refactors.

Prefer KBUILD_IMAGE and kernelTarget.
@github-actions github-actions bot added the 6.topic: kernel The Linux kernel label Feb 8, 2024
@ofborg ofborg bot added 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin. 10.rebuild-linux: 0 This PR does not cause any packages to rebuild on Linux. labels Feb 8, 2024
@RaitoBezarius RaitoBezarius marked this pull request as draft February 8, 2024 04:26
@jmbaur
Copy link
Contributor

jmbaur commented Feb 8, 2024

@RaitoBezarius It would be great to have the changes from #277975 incorporated here as well

@RaitoBezarius
Copy link
Member Author

@RaitoBezarius It would be great to have the changes from #277975 incorporated here as well

I recommend reading the initial PR :). Enabling ZBOOT is the trivial part of this. Fixing the layering violation is the hard part and then whatever can be done about ZBOOT. This will take time though to get this right without breaking the existing builds.

@wegank wegank added the 2.status: merge conflict This PR has merge conflicts with the target branch label Jul 4, 2024
@wegank wegank added the 2.status: stale https://github.com/NixOS/nixpkgs/blob/master/.github/STALE-BOT.md label Jan 2, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

2.status: merge conflict This PR has merge conflicts with the target branch 2.status: stale https://github.com/NixOS/nixpkgs/blob/master/.github/STALE-BOT.md 6.topic: kernel The Linux kernel 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin. 10.rebuild-linux: 0 This PR does not cause any packages to rebuild on Linux.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

Comments