This commit is contained in:
Peter Jung 2022-04-25 16:14:41 +02:00
parent 1e351890f9
commit 861f6512f6
No known key found for this signature in database
GPG Key ID: C3C4820857F654FE
2 changed files with 56 additions and 111 deletions

View File

@ -1,7 +1,7 @@
pkgbase = linux-cachyos pkgbase = linux-cachyos
pkgdesc = Linux CFS scheduler Kernel by CachyOS with other patches and improvements pkgdesc = Linux CFS scheduler Kernel by CachyOS with other patches and improvements
pkgver = 5.17.4 pkgver = 5.17.4
pkgrel = 2 pkgrel = 3
url = https://github.com/CachyOS/linux-cachyos url = https://github.com/CachyOS/linux-cachyos
arch = x86_64 arch = x86_64
arch = x86_64_v3 arch = x86_64_v3
@ -42,25 +42,27 @@ pkgbase = linux-cachyos
source = https://raw.githubusercontent.com/ptr1337/kernel-patches/master/5.17/0014-lrng.patch source = https://raw.githubusercontent.com/ptr1337/kernel-patches/master/5.17/0014-lrng.patch
source = https://raw.githubusercontent.com/ptr1337/kernel-patches/master/5.17/0015-le9.patch source = https://raw.githubusercontent.com/ptr1337/kernel-patches/master/5.17/0015-le9.patch
source = https://raw.githubusercontent.com/ptr1337/kernel-patches/master/5.17/0016-ck-hrtimer.patch source = https://raw.githubusercontent.com/ptr1337/kernel-patches/master/5.17/0016-ck-hrtimer.patch
source = https://raw.githubusercontent.com/ptr1337/kernel-patches/master/5.17/0017-futex-winesync.patch
source = auto-cpu-optimization.sh source = auto-cpu-optimization.sh
sha256sums = 6e3cd56ee83a9cb5ac3fde1442c40367ab67368946c4c93bbeb1c65664a0d3c5 sha256sums = 6e3cd56ee83a9cb5ac3fde1442c40367ab67368946c4c93bbeb1c65664a0d3c5
sha256sums = 29c5dd2ae6b452b75b25816a8f6610fa2ff54f21b22a0ccef5c2e98a7077eb36 sha256sums = 29c5dd2ae6b452b75b25816a8f6610fa2ff54f21b22a0ccef5c2e98a7077eb36
sha256sums = e2109061823fe11e99eb5002b3d553ef9629c8495b974af36fc4113889dd0080 sha256sums = e7a81fb26bb61875c07ba83075522d3d1c1ed463581c7067404a91bc724340b8
sha256sums = efd954e75525fb169c3e7d5f4a8b673f8a59469c9c5f8843c9255efbda48e6a9 sha256sums = dea401c0efff7f7979b91b1a32524646d0bab38191d70daf18924f944a4f1fd5
sha256sums = 80d4a1e4c7f3cbed102de9079859b34a942d4e6424bf86c34a6b00d90f51fdb3 sha256sums = 9962cab7ce58729912c70f2dce345d088c0c61f640e0bd9ee2975d571b08a0d2
sha256sums = c1f8023e0c60fb19f34e22616eda55b5aa0d5a9c9d3e801e23b18dd1de9b860f sha256sums = 2abc3cd48db8e37cdaf3dd8e4bfd350a314ad91185b57faf78292c41620d1d7d
sha256sums = 983242865137a9b90de992d5b0c1b764da79c4f12e9a85029201b21f954383b5 sha256sums = 6f291e71de3df52728933d2e04da6a59eb08c3bdb3012ebeae40f05183744b93
sha256sums = 0a170fa3526a28e6ff58f98ffa6e4a0fd48a2b0e68f17353086708c04b49898a sha256sums = 18cfe65a2da89006f8aeb701a846a2e6ed2cac2e84b86cd7f6f9a25e988c4057
sha256sums = eedb29c8a6844094a21d1c1114f59508a3b03ba84bf54c4338740806bfafa993 sha256sums = 832781712c6c6a9523e1a9436f2131cc9f0b9d7131d44477c7e81739fc28e529
sha256sums = d086a129018c4e8a899f4599a02765f9ebce1f0ec8565bdf802c9957935a3044 sha256sums = 6d40f7697931628c7e55dff52248170f27230d4f6ab97a15d0432c4b5d3876d5
sha256sums = cc43eabeb8773b5a926f9d1897a409d8ac4b9509be662d6d81f590b70ffa0450 sha256sums = be3e41373ab7a6f112b5ebd96f4c2b0550333192b54b587be43727bf82003a2a
sha256sums = 352d36b81ddce85e372e72fd99ddc2ff27f7796f15a8d24bf68a9507b135e9e0 sha256sums = 9c701eda6fda419ceab4b9e7b21b9d6e2a1eb0844b65404fc04bc609778b7419
sha256sums = 6c64123aa846d9768c794385fa12cd145c6ad8f5007a6072f8ee4fc4e9c655a2 sha256sums = b03d9ea1b2a7e5687e6e954dd3f039c341fa4d69fb047ca688ffe5b953e977be
sha256sums = c5eb38271687a9952dab922361765b31cc0a0bf779f8386e8bacb6667f93ba35 sha256sums = 6cb2a9282ebb4fd53058d22f8159e10d1d8c321b7d17d0f2d761bdab7f88eaf8
sha256sums = d2405846ab0501eb993180a0f6fa1e1ef81bac51a73ca00ff8ee3e75551b1886 sha256sums = b64ccbec1080320fec7bfc3b55a6a2ebc33159d216039170ba58008ba7ec37b7
sha256sums = c7048e30409190daa5e1e5a7994f4a3c28d7bc4714b8256d3d67a562a3ab3bec sha256sums = 354616dccd88c5227c276ddbf184c083c77d9cea9ac143993101d9e67b7f0cfc
sha256sums = 0ec74fbdd5c114026f07128fb84d0191157b2787141645545722b3f52aaa2187 sha256sums = 93eca845542db214f113c72df69c456f53ea0e77e1db865124384939ecd76e2d
sha256sums = d15fe026c0872ec902dcfd35c180746488b294d9ebf059b8e2699f970ead3734 sha256sums = 3a2f95a37b4614f05ac5a7c5d81a99555ba01b0b192667896006db8490cb89fa
sha256sums = 3135986d57900333a3a8a685fd7ab816f76948f926b3a8e00613e4fe21a35622
sha256sums = 65ec9ac5b8b28d5b61df1c72498059be2e7cb1f9b965bac0e4ffed3c05520b2b sha256sums = 65ec9ac5b8b28d5b61df1c72498059be2e7cb1f9b965bac0e4ffed3c05520b2b
pkgname = linux-cachyos pkgname = linux-cachyos

131
PKGBUILD
View File

@ -85,25 +85,6 @@ _use_auto_optimization=y
## Apply Kernel Optimization selecting ## Apply Kernel Optimization selecting
_use_optimization_select= _use_optimization_select=
### Selecting the ZSTD compression level
# ATTENTION - one of two predefined values should be selected!
# 'ultra' - highest compression ratio
# 'normal' - standard compression ratio
_zstd_level='normal'
### Selecting the ZSTD module compression level
# If you want to use ZSTD compression,
# first install mkinitcpio-zstd:
# https://gitlab.com/sirlucjan/lucjan-kernels/tree/master/depends
# or
# https://github.com/sirlucjan/lucjan-kernels/tree/master/depends
# ATTENTION - one of two predefined values should be selected!
# 'ultra' - highest compression ratio
# 'normal' - standard compression ratio
# WARNING: the ultra settings can sometimes
# be counterproductive in both size and speed.
_zstd_level_value='normal'
# Enable zram/zswap ZSTD compression # Enable zram/zswap ZSTD compression
_zstd_compression=y _zstd_compression=y
@ -134,14 +115,18 @@ _srcname=linux-${_stable}
#_srcname=linux-${_major} #_srcname=linux-${_major}
arch=(x86_64 x86_64_v3) arch=(x86_64 x86_64_v3)
pkgdesc='Linux CFS scheduler Kernel by CachyOS with other patches and improvements' pkgdesc='Linux CFS scheduler Kernel by CachyOS with other patches and improvements'
pkgrel=2 pkgrel=3
arch=('x86_64' 'x86_64_v3') arch=('x86_64' 'x86_64_v3')
url="https://github.com/CachyOS/linux-cachyos" url="https://github.com/CachyOS/linux-cachyos"
license=('GPL2') license=('GPL2')
options=('!strip') options=('!strip')
makedepends=('bc' 'texlive-latexextra' 'libelf' 'pahole' 'cpio' 'perl' 'tar' 'xz' 'zstd' 'xmlto' 'git' 'gcc' 'gcc-libs' 'glibc' 'binutils' 'make' 'patch') makedepends=('bc' 'texlive-latexextra' 'libelf' 'pahole' 'cpio' 'perl' 'tar' 'xz' 'zstd' 'xmlto' 'git' 'gcc' 'gcc-libs' 'glibc' 'binutils' 'make' 'patch')
if [ -n "$_use_llvm_lto" ]; then if [ -n "$_use_llvm_lto" ]; then
depends=(clang llvm lld python) depends+=(clang llvm lld python)
BUILD_FLAGS=(
LLVM=1
LLVM_IAS=1
)
fi fi
_patchsource="https://raw.githubusercontent.com/ptr1337/kernel-patches/master/${_major}" _patchsource="https://raw.githubusercontent.com/ptr1337/kernel-patches/master/${_major}"
source=( source=(
@ -183,16 +168,10 @@ source+=(
"${_patchsource}/0014-lrng.patch" "${_patchsource}/0014-lrng.patch"
"${_patchsource}/0015-le9.patch" "${_patchsource}/0015-le9.patch"
"${_patchsource}/0016-ck-hrtimer.patch" "${_patchsource}/0016-ck-hrtimer.patch"
"${_patchsource}/0017-futex-winesync.patch"
"auto-cpu-optimization.sh" "auto-cpu-optimization.sh"
) )
if [ -n "$_use_llvm_lto" ]; then
BUILD_FLAGS=(
LLVM=1
LLVM_IAS=1
)
fi
export KBUILD_BUILD_HOST=archlinux export KBUILD_BUILD_HOST=archlinux
export KBUILD_BUILD_USER=$pkgbase export KBUILD_BUILD_USER=$pkgbase
export KBUILD_BUILD_TIMESTAMP="$(date -Ru${SOURCE_DATE_EPOCH:+d @$SOURCE_DATE_EPOCH})" export KBUILD_BUILD_TIMESTAMP="$(date -Ru${SOURCE_DATE_EPOCH:+d @$SOURCE_DATE_EPOCH})"
@ -234,10 +213,12 @@ prepare() {
### Selecting the CPU scheduler ### Selecting the CPU scheduler
if [ "$_cpusched" = "bmq" ]; then if [ "$_cpusched" = "bmq" ]; then
echo "Selecting BMQ CPU scheduler..." echo "Selecting BMQ CPU scheduler..."
scripts/config --enable CONFIG_SCHED_ALT
scripts/config --enable CONFIG_SCHED_BMQ scripts/config --enable CONFIG_SCHED_BMQ
scripts/config --disable CONFIG_SCHED_PDS scripts/config --disable CONFIG_SCHED_PDS
elif [ "$_cpusched" = "pds" ]; then elif [ "$_cpusched" = "pds" ]; then
echo "Selecting PDS CPU scheduler..." echo "Selecting PDS CPU scheduler..."
scripts/config --enable CONFIG_SCHED_ALT
scripts/config --disable CONFIG_SCHED_BMQ scripts/config --disable CONFIG_SCHED_BMQ
scripts/config --enable CONFIG_SCHED_PDS scripts/config --enable CONFIG_SCHED_PDS
elif [ "$_cpusched" = "cacule" ]; then elif [ "$_cpusched" = "cacule" ]; then
@ -276,7 +257,7 @@ prepare() {
### Selecting the THIN or FULL-LTO compression level ### Selecting the THIN or FULL-LTO compression level
if [ "$_use_llvm_lto" = "thin" ]; then if [ "$_use_llvm_lto" = "thin" ]; then
echo "Enabling highest ZSTD compression ratio..." echo "Enabling LLVM THIN LTO..."
scripts/config --disable LTO_NONE \ scripts/config --disable LTO_NONE \
--enable LTO \ --enable LTO \
--enable LTO_CLANG \ --enable LTO_CLANG \
@ -286,7 +267,7 @@ prepare() {
--enable LTO_CLANG_THIN \ --enable LTO_CLANG_THIN \
--enable HAVE_GCC_PLUGINS --enable HAVE_GCC_PLUGINS
elif [ "$_use_llvm_lto" = "full" ]; then elif [ "$_use_llvm_lto" = "full" ]; then
echo "Enabling standard ZSTD compression ratio..." echo "Enabling LLVM FULL LTO..."
scripts/config --disable LTO_NONE \ scripts/config --disable LTO_NONE \
--enable LTO \ --enable LTO \
--enable LTO_CLANG \ --enable LTO_CLANG \
@ -294,14 +275,15 @@ prepare() {
--enable ARCH_SUPPORTS_LTO_CLANG_THIN \ --enable ARCH_SUPPORTS_LTO_CLANG_THIN \
--enable HAS_LTO_CLANG \ --enable HAS_LTO_CLANG \
--enable LTO_CLANG \ --enable LTO_CLANG \
--enable LTO_CLANG_FULL \
--enable HAVE_GCC_PLUGINS --enable HAVE_GCC_PLUGINS
else else
scripts/config --enable CONFIG_LTO_NONE scripts/config --enable CONFIG_LTO_NONE
fi fi
### Optionally set tickrate to 1000 ### Optionally set tickrate to 1000Hz
if [ -n "$_1k_HZ_ticks" ]; then if [ -n "$_1k_HZ_ticks" ]; then
echo "Setting tick rate to 1k..." echo "Setting tick rate to 1k Hz..."
scripts/config --disable CONFIG_HZ_300 scripts/config --disable CONFIG_HZ_300
scripts/config --enable CONFIG_HZ_1000 scripts/config --enable CONFIG_HZ_1000
scripts/config --set-val CONFIG_HZ 1000 scripts/config --set-val CONFIG_HZ 1000
@ -309,7 +291,7 @@ prepare() {
### Optionally set tickrate to 750HZ ### Optionally set tickrate to 750HZ
if [ -n "$_750_HZ_ticks" ]; then if [ -n "$_750_HZ_ticks" ]; then
echo "Setting tick rate to 750HZ..." echo "Setting tick rate to 750Hz..."
scripts/config --disable CONFIG_HZ_300 scripts/config --disable CONFIG_HZ_300
scripts/config --enable CONFIG_HZ_750 scripts/config --enable CONFIG_HZ_750
scripts/config --set-val CONFIG_HZ 750 scripts/config --set-val CONFIG_HZ 750
@ -317,7 +299,7 @@ prepare() {
### Optionally set tickrate to 600HZ ### Optionally set tickrate to 600HZ
if [ -n "$_600_HZ_ticks" ]; then if [ -n "$_600_HZ_ticks" ]; then
echo "Setting tick rate to 600HZ..." echo "Setting tick rate to 600Hz..."
scripts/config --disable CONFIG_HZ_300 scripts/config --disable CONFIG_HZ_300
scripts/config --enable CONFIG_HZ_600 scripts/config --enable CONFIG_HZ_600
scripts/config --set-val CONFIG_HZ 600 scripts/config --set-val CONFIG_HZ 600
@ -325,7 +307,7 @@ prepare() {
### Optionally set tickrate to 500HZ ### Optionally set tickrate to 500HZ
if [ -n "$_500_HZ_ticks" ]; then if [ -n "$_500_HZ_ticks" ]; then
echo "Setting tick rate to 500HZ..." echo "Setting tick rate to 500Hz..."
scripts/config --disable CONFIG_HZ_300 scripts/config --disable CONFIG_HZ_300
scripts/config --enable CONFIG_HZ_500 scripts/config --enable CONFIG_HZ_500
scripts/config --set-val CONFIG_HZ 500 scripts/config --set-val CONFIG_HZ 500
@ -498,49 +480,6 @@ prepare() {
scripts/config --disable CONFIG_LRNG_SELFTEST_PANIC scripts/config --disable CONFIG_LRNG_SELFTEST_PANIC
fi fi
### Selecting the ZSTD compression level
if [ "$_zstd_level" = "ultra" ]; then
echo "Enabling highest ZSTD compression ratio..."
scripts/config --set-val CONFIG_KERNEL_ZSTD_LEVEL 19
scripts/config --enable CONFIG_KERNEL_ZSTD_LEVEL_ULTRA
elif [ "$_zstd_level" = "normal" ]; then
echo "Enabling standard ZSTD compression ratio..."
scripts/config --set-val CONFIG_KERNEL_ZSTD_LEVEL 19
scripts/config --disable CONFIG_KERNEL_ZSTD_LEVEL_ULTRA
else
if [ -n "$_zstd_level" ]; then
error "The value $_zstd_level is invalid. Choose the correct one again."
else
error "The value is empty. Choose the correct one again."
fi
error "Selecting the ZSTD compression level failed!"
exit
fi
### Selecting the ZSTD modules and kernel compression level
if [ "$_zstd_level_value" = "ultra" ]; then
echo "Enabling highest ZSTD modules compression ratio..."
scripts/config --set-val CONFIG_MODULE_COMPRESS_ZSTD_LEVEL 19
scripts/config --enable CONFIG_MODULE_COMPRESS_ZSTD_ULTRA
scripts/config --set-val CONFIG_MODULE_COMPRESS_ZSTD_LEVEL_ULTRA 22
echo "Enabling highest ZSTD kernel compression ratio..."
scripts/config --set-val CONFIG_ZSTD_COMP_VAL 22
elif [ "$_zstd_level_value" = "normal" ]; then
echo "Enabling standard ZSTD modules compression ratio..."
scripts/config --set-val CONFIG_MODULE_COMPRESS_ZSTD_LEVEL 19
scripts/config --disable CONFIG_MODULE_COMPRESS_ZSTD_ULTRA
echo "Enabling standard ZSTD kernel compression ratio..."
scripts/config --set-val CONFIG_ZSTD_COMP_VAL 19
else
if [ -n "$_zstd_level_value" ]; then
error "The value $_zstd_level_value is invalid. Choose the correct one again."
else
error "The value is empty. Choose the correct one again."
fi
error "Selecting the ZSTD modules and kernel compression level failed!"
exit
fi
### Enable zram/zswap ZSTD compression ### Enable zram/zswap ZSTD compression
if [ -n "$_zstd_swap_compression" ]; then if [ -n "$_zstd_swap_compression" ]; then
echo "Enabling zram ZSTD compression..." echo "Enabling zram ZSTD compression..."
@ -575,6 +514,9 @@ prepare() {
echo "Enable CONFIG_USER_NS_UNPRIVILEGED" echo "Enable CONFIG_USER_NS_UNPRIVILEGED"
scripts/config --enable CONFIG_USER_NS scripts/config --enable CONFIG_USER_NS
echo "Enable WINE FASTSYNC"
scripts/config --enable CONFIG_WINESYNC
### Optionally use running kernel's config ### Optionally use running kernel's config
# code originally by nous; http://aur.archlinux.org/packages.php?ID=40191 # code originally by nous; http://aur.archlinux.org/packages.php?ID=40191
if [ -n "$_use_current" ]; then if [ -n "$_use_current" ]; then
@ -746,20 +688,21 @@ done
sha256sums=('6e3cd56ee83a9cb5ac3fde1442c40367ab67368946c4c93bbeb1c65664a0d3c5' sha256sums=('6e3cd56ee83a9cb5ac3fde1442c40367ab67368946c4c93bbeb1c65664a0d3c5'
'29c5dd2ae6b452b75b25816a8f6610fa2ff54f21b22a0ccef5c2e98a7077eb36' '29c5dd2ae6b452b75b25816a8f6610fa2ff54f21b22a0ccef5c2e98a7077eb36'
'e2109061823fe11e99eb5002b3d553ef9629c8495b974af36fc4113889dd0080' 'e7a81fb26bb61875c07ba83075522d3d1c1ed463581c7067404a91bc724340b8'
'efd954e75525fb169c3e7d5f4a8b673f8a59469c9c5f8843c9255efbda48e6a9' 'dea401c0efff7f7979b91b1a32524646d0bab38191d70daf18924f944a4f1fd5'
'80d4a1e4c7f3cbed102de9079859b34a942d4e6424bf86c34a6b00d90f51fdb3' '9962cab7ce58729912c70f2dce345d088c0c61f640e0bd9ee2975d571b08a0d2'
'c1f8023e0c60fb19f34e22616eda55b5aa0d5a9c9d3e801e23b18dd1de9b860f' '2abc3cd48db8e37cdaf3dd8e4bfd350a314ad91185b57faf78292c41620d1d7d'
'983242865137a9b90de992d5b0c1b764da79c4f12e9a85029201b21f954383b5' '6f291e71de3df52728933d2e04da6a59eb08c3bdb3012ebeae40f05183744b93'
'0a170fa3526a28e6ff58f98ffa6e4a0fd48a2b0e68f17353086708c04b49898a' '18cfe65a2da89006f8aeb701a846a2e6ed2cac2e84b86cd7f6f9a25e988c4057'
'eedb29c8a6844094a21d1c1114f59508a3b03ba84bf54c4338740806bfafa993' '832781712c6c6a9523e1a9436f2131cc9f0b9d7131d44477c7e81739fc28e529'
'd086a129018c4e8a899f4599a02765f9ebce1f0ec8565bdf802c9957935a3044' '6d40f7697931628c7e55dff52248170f27230d4f6ab97a15d0432c4b5d3876d5'
'cc43eabeb8773b5a926f9d1897a409d8ac4b9509be662d6d81f590b70ffa0450' 'be3e41373ab7a6f112b5ebd96f4c2b0550333192b54b587be43727bf82003a2a'
'352d36b81ddce85e372e72fd99ddc2ff27f7796f15a8d24bf68a9507b135e9e0' '9c701eda6fda419ceab4b9e7b21b9d6e2a1eb0844b65404fc04bc609778b7419'
'6c64123aa846d9768c794385fa12cd145c6ad8f5007a6072f8ee4fc4e9c655a2' 'b03d9ea1b2a7e5687e6e954dd3f039c341fa4d69fb047ca688ffe5b953e977be'
'c5eb38271687a9952dab922361765b31cc0a0bf779f8386e8bacb6667f93ba35' '6cb2a9282ebb4fd53058d22f8159e10d1d8c321b7d17d0f2d761bdab7f88eaf8'
'd2405846ab0501eb993180a0f6fa1e1ef81bac51a73ca00ff8ee3e75551b1886' 'b64ccbec1080320fec7bfc3b55a6a2ebc33159d216039170ba58008ba7ec37b7'
'c7048e30409190daa5e1e5a7994f4a3c28d7bc4714b8256d3d67a562a3ab3bec' '354616dccd88c5227c276ddbf184c083c77d9cea9ac143993101d9e67b7f0cfc'
'0ec74fbdd5c114026f07128fb84d0191157b2787141645545722b3f52aaa2187' '93eca845542db214f113c72df69c456f53ea0e77e1db865124384939ecd76e2d'
'd15fe026c0872ec902dcfd35c180746488b294d9ebf059b8e2699f970ead3734' '3a2f95a37b4614f05ac5a7c5d81a99555ba01b0b192667896006db8490cb89fa'
'3135986d57900333a3a8a685fd7ab816f76948f926b3a8e00613e4fe21a35622'
'65ec9ac5b8b28d5b61df1c72498059be2e7cb1f9b965bac0e4ffed3c05520b2b') '65ec9ac5b8b28d5b61df1c72498059be2e7cb1f9b965bac0e4ffed3c05520b2b')