Edit: Merged! Thanks @metak
Heres a patch to fix clang lto compiling only modifying the PKGBUILD https://gist.github.com/xstefen/546d201257475c0ffbb954369453f692
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 the kernel and compiled modules. |
Upstream URL: | https://git.staropensource.de/JeremyStarTM/aur-linux-clear |
Keywords: | clear clearlinux intel kernel |
Licenses: | GPL-2.0-only |
Provides: | KSMBD-MODULE, VIRTUALBOX-GUEST-MODULES, WIREGUARD-MODULE |
Submitter: | metak |
Maintainer: | JeremyStarTM |
Last Packager: | JeremyStarTM |
Votes: | 75 |
Popularity: | 1.93 |
First Submitted: | 2018-01-18 21:47 (UTC) |
Last Updated: | 2024-11-23 13:57 (UTC) |
« First ‹ Previous 1 2 3 4 5 6 7 8 9 10 11 12 .. 51 Next › Last »
Edit: Merged! Thanks @metak
Heres a patch to fix clang lto compiling only modifying the PKGBUILD https://gist.github.com/xstefen/546d201257475c0ffbb954369453f692
@seqfault I don't know since I don't run any benchmarks/tests. Upstream Clear team tests and develops with gcc in mind so I can't say anything about clang/llvm.
@metak thanks for explaining! how do you think, what will produce faster kernel binary: llvm16 without patch 162 but with lto, or gcc13 without lto, but with 162 optimizations?
hey @metak, now that llvm16 is in the stable repos, can we compile this with patch 162? if not, is there a way to build with gcc, but still have lto? also, should I use _subarch=44 now instead of 40, if using llvm16?
@tydynrain llvm/clang is unsupported upstream, comment out the latest patch Patch0162: 0162-extra-optmization-flags.patch
.
The past 3 versions of the linux-clear kernel have failed to build for me (it generally builds fine) with the following error message:
clang-15: error: optimization flag '-fivopts' is not supported [-Werror,-Wignored-optimization-argument]
clang-15: error: optimization flag '-fmodulo-sched' is not supported [-Werror,-Wignored-optimization-argument]
make[1]: *** [scripts/Makefile.build:252: scripts/mod/empty.o] Error 1
make: *** [Makefile:1286: prepare0] Error 2
==> ERROR: A failure occurred in build().
Aborting...
Built OK after I first manually compressed /lib/firmware/amd-ucode/microcode_amd_fam19h.bin
into /lib/firmware/amd-ucode/microcode_amd_fam19h.bin.xz
.
6.3.10-1 fails to build for me:
make[5]: *** No rule to make target '/lib/firmware/amd-ucode/microcode_amd_fam19h.bin.xz', needed by 'drivers/base/firmware_loader/builtin/amd-ucode/microcode_amd_fam19h.bin.xz.gen.o'. Stop.
make[5]: *** Waiting for unfinished jobs....
make[4]: *** [scripts/Makefile.build:494: drivers/base/firmware_loader/builtin] Error 2
make[3]: *** [scripts/Makefile.build:494: drivers/base/firmware_loader] Error 2
Pinned Comments
JeremyStarTM commented on 2024-11-08 18:33 (UTC) (edited on 2024-11-08 18:33 (UTC) by JeremyStarTM)
Proposal update
The package has been updated to 6.11.7 (clr 6.11.6-1477), and with that landlock support has been enabled the package source moved to https://git.staropensource.de/JeremyStarTM/linux-clear.
JeremyStarTM commented on 2024-08-06 19:37 (UTC) (edited on 2024-11-08 18:36 (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
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.
The PKGBUILD file supports customization via environment variables. Here's a list of all of them:
_makemenuconfig
: Invokesmake menuconfig
(ncurses-based default configuration menu) before compilation starts_makenconfig
: Invokesmake nconfig
(ncurses-based nicer configuration menu) before compilation starts_makexconfig
: Invokesmake xconfig
(X11-based GUI configuration menu) before compilation starts_use_current
: Will use the configuration of the running kernel, if the running kernel is compiled withIKCONFIG_PROC
_copyfinalconfig
: Copies the final kernel configuration into the repository root askconfig-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 write a comment_subarch
: Specifies the sub architecture to compile for (see the PKGBUILD file for a list of all subarches). Default is40
(Generic-x86-64), which is compatible with all amd64 processors. Must be a number_debug
: Force enables debug options when set toy
, force disables debug options when set ton
or uses the config defaults when unsetAll of these variables just need to be set for them to apply, except for
_subarch
and_debug
. See their descriptions for more information.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.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. Tihs prevents unnecessary signups.
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.