This fixes an issue where corrupt-linux would use the kernel config from the
wrong version. The reason is that the package phases in customize-linux come
from inheriting the package in the 'linux' keyword argument, defaulting to
linux-libre. The kernel configuration comes in the configure phase. Since we
did not use this in the customize-linux in corrupt-linux, we would be using
the wrong configuration. For example, linux-6.7 would be built with the
linux-libre-6.6 kernel config rather than linux-libre-6.7, missing the new
CONFIG_BCACHEFS_FS option. Presumably all of our kernels were trying to use
the default linux-libre version kernel config rather than the correct one to
match their version. This should fix that.
* nongnu/packages/linux.scm (corrupt-linux): Use the 'linux' keyword argument
in customize-linux.
Reported-by: reedm and yelninei on the #nonguix IRC channel.
In order to be able to use WiFi chip in P14s ThinkPad, the mt7921e module is
required. This commit enables it in kernels that do have it.
I originally implemented this using a list of additional option, same way
%default-extra-linux-options is done. However I quickly realized that
approach is not suitable for hardware enablement. The older versions do not
support the same drivers as the newer ones.
Solution is to create a new procedure that generates the list for a specific
kernel version and use it as a default value for #:configs.
* nongnu/packages/linux.scm (nonguix-extra-linux-options): New procedure.
(corrupt-linux): Use it as default value for #:configs.
Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
Upstream added linux-libre@6.7 in 95a3aaf7ad37bb0717f2c9e3faf6f636b586d133 but
it is not yet the default.
* nongnu/packages/linux.scm (linux-6.7): New variable.
* nongnu/packages/linux.scm (%default-extra-linux-options,config->string):
Move into make-linux-xanmod.
(make-linux-xanmod): Adjust comments.
Move the base kernel produced by customize-linux out of let form.
[native-inputs]: Use prepend instead of append.
Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
* nongnu/packages/linux.scm (make-linux-xanmod-source): Patch upstream linux
source instead of downloading the auto-generated tarball from GitLab.
(make-linux-xanmod)[arguments]<#:phases>: Delete 'remove-localversion, moved
to snippet.
(linux-xanmod-source,linux-xanmod-lts-source): Adjust accordingly.
Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
Fixes build with newer kernel version.
* nongnu/packages/linux.scm (r8168-linux-module): Update to 8.052.01.
[arguments]: Remove phases to fix build as proper fix is now in upstream.
Upstream Guix defaults to linux-libre@6.5. Follow suit by making linux track
linux@6.5.
* nongnu/packages/linux.scm (linux): Update to linux-6.5.
Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
Adding linux@6.5 but not changing the default linux to this version until
upstream does as well.
* nongnu/packages/linux.scm (linux-6.5): New variable.
Co-authored-by: John Kehayias <john.kehayias@protonmail.com>
Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
Fixes CVE-2022-40982, CVE-2022-41804 and CVE-2023-23908.
* nongnu/packages/linux.scm (intel-microcode): Update to 20230808.
Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
Adding linux@6.4 but not changing the default linux to this version until
upstream does as well.
* nongnu/packages/linux.scm (linux-6.4): New variable.
* nongnu/packages/linux.scm (linux-xanmod-lts-version,linux-xanmod-lts-source):
Update to 6.1.38.
Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
* nongnu/packages/linux.scm (linux-xanmod-version,linux-xanmod-source): Update
to 6.4.3.
Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
* nongnu/packages/linux.scm (linux-xanmod-lts-version)
(linux-xanmod-lts-revision,linux-xanmod-lts-source,linux-xanmod-lts): New
variables.
Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
The linux-lts commit introduced a breaking change by referring to the
nonexistent linux-libre-arm64-generic package variants. Even before that all
of nonguix's linux-arm64-generic package variants were based on the same
kernel version.
* nongnu/packages/linux.scm (linux-arm64-generic-6.0): Remove package variant.
(linux-arm64-generic-5.15): Ditto.
(linux-arm64-generic-lts): Ditto.
(linux-arm64-generic-5.10): New package variant.
(linux-arm64-generic-5.4): New package variant.
(linux-arm64-generic): Match version to most recent kernel in guix.
6.1 is the newest long-term support version of the kernel.
* nongnu/packages/linux.scm (linux-lts): Use linux-6.1
Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
* nongnu/packages/linux.scm (rtl8812au-aircrack-ng-linux-module): Update
to 5.6.4.2-11.35308f4.
Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
Piggy-back off of the patch list in Nixpkgs instead of maintaining our
own. This should make it easier to keep up to date so there's no need to
advise users to stick with Linux LTS releases any longer.
Though our existing patch list and Nixpkgs' differ the cumulative effect
is exactly the same except for two patches we have that Nix doesn't,
neither of which seem critical:
- broadcom-sta-debian-fix-kernel-warnings.patch
- broadcom-sta-fix_mac_profile_discrepancy.patch
Closes#246
* nongnu/packages/linux.scm (broadcom-sta): Replace patches
with code to fetch them from Nixpkgs.
[arguments]: Replace `linux-lts` with `linux`.
[description]: Remove Linux LTS recommendation.
* nongnu/packages/patches/broadcom-sta-debian-fix-kernel-warnings.patch: Remove.
* nongnu/packages/patches/broadcom-sta-fix_mac_profile_discrepancy.patch: Remove.
* nongnu/packages/patches/broadcom-sta-gcc.patch: Remove.
* nongnu/packages/patches/broadcom-sta-license.patch: Remove.
* nongnu/packages/patches/broadcom-sta-linux-4.11.patch: Remove.
* nongnu/packages/patches/broadcom-sta-linux-4.12.patch: Remove.
* nongnu/packages/patches/broadcom-sta-linux-4.15.patch: Remove.
* nongnu/packages/patches/broadcom-sta-linux-4.7.patch: Remove.
* nongnu/packages/patches/broadcom-sta-linux-4.8.patch: Remove.
* nongnu/packages/patches/broadcom-sta-linux-5.1.patch: Remove.
* nongnu/packages/patches/broadcom-sta-linux-5.10.patch: Remove.
* nongnu/packages/patches/broadcom-sta-linux-5.6.patch: Remove.
* nongnu/packages/patches/broadcom-sta-linux-5.9.patch: Remove.
* nongnu/packages/patches/broadcom-sta-null-pointer-fix.patch: Remove.
* nongnu/packages/patches/broadcom-sta-rdtscl.patch: Remove.
* README.org (Broadcom Wireless): Removed recommendation from
Broadcom Wireless section.
Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
Adding linux@6.2 but not changing the default linux to this version until
upstream does as well.
* nongnu/packages/linux.scm (linux-6.2): New variable.
This allows access to the "configs" keyword argument from the 'corrupt-linux'
procedure. This simplifies creation of kernels with custom modules.
* nongnu/packages/linux.scm (corrupt-linux): Add 'configs' argument.
Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
* nongnu/packages/linux.scm (linux-firmware)[source]: Use mirror://kernel.org
instead and switch to xz compressed tarball.
Downloading tarball from https://git.kernel.org is
too slow in some country.
Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
* nongnu/packages/linux.scm (linux-urls): Rename to ...
(linux-url): ... this. Return single url with mirror prefix like guix does.
(corrupt-linux): Use implementation details to dig up original hash of
upstream linux kernel sources.
It was already present as revision 8.
* nongnu/packages/linux.scm (rtl8821ce-linux-module)[revision]: Raise to 9.
Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
* nongnu/packages/linux.scm (rtl8812au-aircrack-ng-linux-module): Update to
5.6.4.2-10.08589e2.
Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
Upstream Guix will be removing linux-libre@6.0 and defaulting to
linux-libre@6.1. Do likewise here.
* nongnu/packages/linux.scm (linux-6.0): Remove variable.
(linux): Set to linux-6.1.
Adding linux@6.1 but not changing the default linux to this version until
upstream does as well.
* nongnu/packages/linux.scm (linux-6.1): New variable.
This reverts commit 370749ab7b, reinstating
commit 3d53be2c5c now that 1.4.0 has been
released.
Original commit message:
This simplifies our linux package definitions to not need hash updates as they
simply follow from the inherited part of the source field. The newly added
'customize-linux' procedure from Guix is the preferred way to customize the
kernel as well.
* nongnu/packages/linux.scm (corrupt-linux): No longer take 'version' or
'hash' arguments. Inherit from 'customize-linux' as a starting package. Remove
patch for now removed 'build-doc' phase.
(linux-6.0, linux-5.15, linux-5.10, linux-5.4, linux4.19, linux-4.14,
linux-4.9, linux-arm64-generic-6.0, linux-arm64-generic-5.15): Remove version
and hash strings.
This reverts commit 3d53be2c5c.
It depends on changes which are not available on the upstream
version-1.4.0 branch. I will add this back after the 1.4.0 release.
This simplifies our linux package definitions to not need hash updates as they
simply follow from the inherited part of the source field. The newly added
'customize-linux' procedure from Guix is the preferred way to customize the
kernel as well.
* nongnu/packages/linux.scm (corrupt-linux): No longer take 'version' or
'hash' arguments. Inherit from 'customize-linux' as a starting package. Remove
patch for now removed 'build-doc' phase.
(linux-6.0, linux-5.15, linux-5.10, linux-5.4, linux4.19, linux-4.14,
linux-4.9, linux-arm64-generic-6.0, linux-arm64-generic-5.15): Remove version
and hash strings.
Fixes#217. Builds of the linux kernel were failing without a recently added
patch from Guix to add an infodocs target for make. See commit
82c43b276dd5e60c81ad2c040a9d945befc4bc88. We now use this patch for
applicable kernels (version 5.10 or greater) so the 'build-doc' phase
succeeds.
* nongnu/package/linux.scm (corrupt-linux)[source]: Add patches with
"linux-libre-infodocs-target.patch" depending on version with the procedure
doc-supported? from (gnu packages linux).
Fixes https://gitlab.com/nonguix/nonguix/-/issues/211
* nongnu/packages/linux.scm (sof-firmware): Update to 2.2.
[source]: Switch from git checkout to prebuilt archives.
Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>