Package Details: linux-clear-headers 6.12.6-1

Git Clone URL: https://aur.archlinux.org/linux-clear.git (read-only, click to copy)
Package Base: linux-clear
Description: Linux kernel with patches from Clear Linux which allow for higher performance. This package includes header files and scripts for building kernel modules.
Upstream URL: https://git.staropensource.de/JeremyStarTM/aur-linux-clear
Keywords: clear clearlinux intel kernel linux
Licenses: GPL-2.0-only
Submitter: metak
Maintainer: JeremyStarTM
Last Packager: JeremyStarTM
Votes: 73
Popularity: 0.52
First Submitted: 2018-01-18 21:47 (UTC)
Last Updated: 2024-12-23 00:00 (UTC)

Pinned Comments

JeremyStarTM commented on 2024-12-22 18:24 (UTC) (edited on 2024-12-22 18:24 (UTC) by JeremyStarTM)

Important update
I have updated and renamed some settings envvars. Please check your scripts, aliases, brain memory or whatever you use to store your build command and update them accordingly. Please read the description in the PKGBUILD file instead of the short summary in the pinned comment on the AUR or in the README in the repository as some important details important to this update are only found inside the PKGBUILD.

JeremyStarTM commented on 2024-08-06 19:37 (UTC) (edited on 2024-12-22 18:20 (UTC) by JeremyStarTM)

Information comment
This comment provides useful information about this package. Make sure to read it through, you won't regret it.

Repository URL
This package is hosted at sos!git. If you want to contribute to the package, you can do it here: https://git.staropensource.de/JeremyStarTM/aur-linux-clear

Issue handling
Please only submit issues in the package's repository if they aren't bug reports about the package or help requests. Please keep them to the AUR only. This prevents unnecessary signups.

Updates
I usually publish updates 0-3 days after a kernel release, depending on how busy I am.
If I however get wind of security-relevant updates or any vulnerabilities I will try to update the kernel as soon as possible and write a comment about the vulnerability/update. So make sure to subscribe to this package's comment mailing list.

PKGBUILD environment variable customization
The PKGBUILD file supports customization via environment variables. Here's a list of all of them:
- _makemenuconfig: Invokes make menuconfig (ncurses-based default configuration menu) before compilation starts
- _makenconfig: Invokes make nconfig (ncurses-based nicer configuration menu) before compilation starts
- _makexconfig: Invokes make xconfig (X11-based GUI configuration menu) before compilation starts
- _reuse_current: Will use the configuration of the running kernel, if the running kernel is compiled with IKCONFIG_PROC
- _reuse_file: Will use the configuration file named kconfig contained in the PKGBUILD file's directory
- _update_kconfig_on_reuse: Specifies whether the kernel configuration shall be updated when using any of the 'reuse*' flags
- _copyfinalconfig: Copies the final kernel configuration into the repository root as kconfig-new before compilation starts
- _localmodcfg: Only compiles modules found in modprobed-db's database (which decreases compilation time and kernel size)
- _use_llvm_lto: Compiles the kernel with LLVM instead of GCC. Should work, if not open an issue
- _subarch: Specifies the subarchitecture to compile for (see the PKGBUILD file for a list of all subarches). Default is 41 (Generic x86-64), which is compatible with all amd64 processors. Must be a number
- _use_llvm_lto: Enables compilation with LLVM. Untested but should work. If not write a comment on the AUR.
- _subarch_microarch: Specifies the microarchitecture to compile for. Only applies to and is required by the GENERIC_CPU subarch. Must be a number between 1 and 4 (click for more information)
- _debug_kernel: Force enables kernel debugging options when set to y, force disables debug options when set to n or relies on the kconfig when unset
- _debug_script: Enables debugging for the PKGBUILD file

All of these variables just need to be set for them to apply, except for _subarch, _subarch_microarch and _debug_kernel. For more information please check their documentation inside the PKGBUILD file

GPG errors
If makepkg complains about invalid PGP keys, try running this command first: gpg --locate-keys torvalds@kernel.org gregkh@kernel.org sashal@kernel.org benh@debian.org. This command only needs to be executed once.

Build tool
If you want a dead simple way to compile this package, you can try out my build tool. It includes a few no nonsense changes to the kernel configuration and allows you to configure the PKGBUILD file in a simple manner and decrease build time. And if you don't want that, using makepkg as-is works fine too.

Latest Comments

« First ‹ Previous 1 .. 9 10 11 12 13 14 15 16 17 18 19 .. 52 Next › Last »

xuanruiqi commented on 2022-01-22 08:03 (UTC)

I was building nvidia-dkms. Some modules like nvidia need btf info to build properly, so maybe you want to put it under an option or something like that. AFAIK a lot of people use nvidia-dkms.

metak commented on 2022-01-21 23:14 (UTC)

@xuanruiqi I had to comment out that line in PKGBUILD file when I synced it with stock arch because it would fail to build. (not enabled on Clear) It needs some other debugging things enabled like CONFIG_DEBUG_INFO, CONFIG_DEBUG_INFO_BTF, CONFIG_PAHOLE_HAS_SPLIT_BTF which will increase the size and compilation time. I can enable the debug info if others want it, but I would rather not.

As for dkms error, I just tried building random module (rtl88x2bu) and it builds fine. (gcc & llvm) Please specify which module/versions, etc. (whole build log)

xuanruiqi commented on 2022-01-21 17:02 (UTC) (edited on 2022-01-21 20:26 (UTC) by xuanruiqi)

SOLUTION: please fix the PKGBUILD, add this line, otherwise external DKMS modules can't be built:

install -Dt "$builddir/tools/bpf/resolve_btfids" tools/bpf/resolve_btfids/resolve_btfids

See diff in official linux package commit history.


Hey all! With LLVM compiled kernel (5.16.2), I get this error when I try to compile DKMS modules:

/bin/sh: line 1: ./tools/bpf/resolve_btfids/resolve_btfids: No such file or directory

This error is absent in linux-clear <=5.16.1.

GCC doesn't work either. I suspect this is a really silly mistake, but I can't fix it...

k0r0ng commented on 2022-01-12 22:55 (UTC)

@metak Thank you!

metak commented on 2022-01-11 17:37 (UTC)

@k0r0ng It's not enabled by default in CLR config file, I've enabled it in ˙5.15.14-1˙.

k0r0ng commented on 2022-01-11 15:06 (UTC)

Why CONFIG_KPROBES not included by default?

d00d00 commented on 2021-12-11 05:13 (UTC)

@metak @Moviuro You're both legends. Compiling on Skylake for Atom with single short script now, no interaction required. Thank you so much!

saltyming commented on 2021-12-10 12:31 (UTC)

@metak I can confirm that 5.15.7-3 and 5.15.7-4 changes work fine here! Happy to use clang kernel with new dkms support :)

metak commented on 2021-12-10 11:58 (UTC)

@d00d00 Added in 5.15.7-2. https://bugs.archlinux.org/task/72756

@xuanruiqi Added in 5.15.7-3. Haven't tried it too much so test it and we'll see.

@Moviuro Added in 5.15.7-4. I also changed it for the other variables as well.

Moviuro commented on 2021-12-10 11:13 (UTC)

Could we get the following diff in the PKGBUILD? rationale: I can now do _subarch=26 makepkg -sriCfc; and it correctly compiles for skylake, with no interaction from me. That way, I don't need to edit the PKGBUILD, or wait until I'm asked for the subarch in an interactive way.

The : "${var:="value"}" is a POSIX-compliant way to set a variable to a default value (in our case: the empty string), but only if it wasn't already set. This change has no impact for people who simply type makepkg, and it will still ask them (interactively) which subarch to compile for.

diff --git a/PKGBUILD b/PKGBUILD
index 13880d4..ff19d30 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -62,7 +62,7 @@ _localmodcfg=
 #  39. Generic-x86-64-v4 (GENERIC_CPU4)
 #  40. Intel-Native optimizations autodetected by GCC (MNATIVE_INTEL)
 #  41. AMD-Native optimizations autodetected by GCC (MNATIVE_AMD)
-_subarch=
+: "${_subarch:=""}"

 # Use the current kernel's .config file
 # Enabling this option will use the .config of the RUNNING kernel rather than