5.14.13
This commit is contained in:
parent
d16b39bb04
commit
3a3a7c5b33
8
.SRCINFO
8
.SRCINFO
@ -1,7 +1,7 @@
|
||||
pkgbase = linux-cachyos
|
||||
pkgdesc = Linux cfs scheduler Kernel by CachyOS and with some other patches and other improvements
|
||||
pkgver = 5.14.12
|
||||
pkgrel = 2
|
||||
pkgver = 5.14.13
|
||||
pkgrel = 1
|
||||
url = https://github.com/CachyOS/linux-cachyos
|
||||
arch = x86_64
|
||||
arch = x86_64_v3
|
||||
@ -19,7 +19,7 @@ pkgbase = linux-cachyos
|
||||
makedepends = tar
|
||||
makedepends = xz
|
||||
options = !strip
|
||||
source = https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.14.12.tar.xz
|
||||
source = https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.14.13.tar.xz
|
||||
source = config
|
||||
source = https://raw.githubusercontent.com/ptr1337/kernel-patches/master/5.14/0001-CK-TIMER.patch
|
||||
source = https://raw.githubusercontent.com/ptr1337/kernel-patches/master/5.14/arch-patches-v10/0001-arch-patches.patch
|
||||
@ -51,7 +51,7 @@ pkgbase = linux-cachyos
|
||||
source = https://raw.githubusercontent.com/ptr1337/kernel-patches/master/5.14/0001-winesync.patch
|
||||
source = https://raw.githubusercontent.com/ptr1337/kernel-patches/master/5.14/0001-v4l2loopback.patch
|
||||
source = auto-cpu-optimization.sh
|
||||
md5sums = a52286fe206a3f7664ca5a6c5995b9ed
|
||||
md5sums = dd8c7efa62d69eb9a50806f2b0d6da01
|
||||
md5sums = 6918c6961e213ae5ee0c9d374bb9a06b
|
||||
md5sums = 04c5865e765e07cff0649824c2a8d810
|
||||
md5sums = 581faf85cd625c41bbdd0cadbd0e451e
|
||||
|
653
PKGBUILD
653
PKGBUILD
@ -108,12 +108,12 @@ _makenconfig=
|
||||
|
||||
|
||||
if [ -n "$_use_llvm_lto" ]; then
|
||||
pkgbase=linux-cachyos-lto
|
||||
pkgbase=linux-cachyos-lto
|
||||
else
|
||||
pkgbase=linux-cachyos
|
||||
pkgbase=linux-cachyos
|
||||
fi
|
||||
pkgver=5.14.12
|
||||
pkgrel=2
|
||||
pkgver=5.14.13
|
||||
pkgrel=1
|
||||
arch=(x86_64 x86_64_v3)
|
||||
pkgdesc='Linux cfs scheduler Kernel by CachyOS and with some other patches and other improvements'
|
||||
_gittag=v${pkgver%.*}-${pkgver##*.}
|
||||
@ -122,60 +122,59 @@ url="https://github.com/CachyOS/linux-cachyos"
|
||||
license=('GPL2')
|
||||
options=('!strip')
|
||||
makedepends=('kmod' 'bc' 'libelf' 'python-sphinx' 'python-sphinx_rtd_theme'
|
||||
'graphviz' 'imagemagick' 'pahole' 'cpio' 'perl' 'tar' 'xz')
|
||||
'graphviz' 'imagemagick' 'pahole' 'cpio' 'perl' 'tar' 'xz')
|
||||
if [ -n "$_use_llvm_lto" ]; then
|
||||
makedepends+=(clang llvm lld python)
|
||||
makedepends+=(clang llvm lld python)
|
||||
fi
|
||||
_patchsource="https://raw.githubusercontent.com/ptr1337/kernel-patches/master/5.14"
|
||||
source=("https://cdn.kernel.org/pub/linux/kernel/v${pkgver:0:1}.x/linux-${pkgver}.tar.xz"
|
||||
"config"
|
||||
# "${_patchsource}/arch-patches/0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch"
|
||||
"${_patchsource}/0001-CK-TIMER.patch"
|
||||
"${_patchsource}/arch-patches-v10/0001-arch-patches.patch"
|
||||
"${_patchsource}/0001-preempt-hz-cfs.patch"
|
||||
"${_patchsource}/misc/amd/0006-amd-cppc.patch"
|
||||
"${_patchsource}/misc/0008-remove-LightNVM.patch"
|
||||
"${_patchsource}/ll-patches/0004-mm-set-8-megabytes-for-address_space-level-file-read.patch"
|
||||
"${_patchsource}/android-patches/0001-android-export-symbold-and-enable-building-ashmem-an.patch"
|
||||
"${_patchsource}/bbr2-patches/0001-bbr2-5.14-introduce-BBRv2.patch"
|
||||
"${_patchsource}/block-patches/0001-block-patches.patch"
|
||||
"${_patchsource}/btrfs-patches-v7/0001-btrfs-patches.patch"
|
||||
"${_patchsource}/fixes-miscellaneous-v6/0001-fixes-miscellaneous.patch"
|
||||
"${_patchsource}/futex-xanmod-patches-v2/0001-futex-resync-from-gitlab.collabora.com.patch"
|
||||
"${_patchsource}/futex2-xanmod-patches-v2/0001-futex2-resync-from-gitlab.collabora.com.patch"
|
||||
"${_patchsource}/ksmbd-patches-v18/0001-ksmbd-patches.patch"
|
||||
"${_patchsource}/hwmon-patches-v5/0001-hwmon-patches.patch"
|
||||
"${_patchsource}/lqx-patches/0001-lqx-patches.patch"
|
||||
"${_patchsource}/lrng-patches-v2/0001-lrng-patches.patch"
|
||||
"${_patchsource}/lru-patches-v4/0001-lru-patches.patch"
|
||||
"${_patchsource}/pf-patches-v9/0001-pf-patches.patch"
|
||||
"${_patchsource}/xanmod-patches-v2/0001-xanmod-patches.patch"
|
||||
"${_patchsource}/zen-patches-v3/0001-zen-patches.patch"
|
||||
"${_patchsource}/zstd-patches-v2/0001-zstd-patches.patch"
|
||||
"${_patchsource}/security-patches/0001-security-patches.patch"
|
||||
"${_patchsource}/zstd-upstream-patches-v6/0001-zstd-upstream-patches.patch"
|
||||
"${_patchsource}/ntfs3-patches-v14/0001-ntfs3-patches.patch"
|
||||
"${_patchsource}/0001-ksm.patch"
|
||||
"${_patchsource}/0001-cpu-patches.patch"
|
||||
"${_patchsource}/0001-winesync.patch"
|
||||
"${_patchsource}/0001-v4l2loopback.patch"
|
||||
"auto-cpu-optimization.sh"
|
||||
)
|
||||
if [ -n "$_use_cfi" ]; then
|
||||
source+=("${_patchsource}/0002-clang-cfi.patch")
|
||||
fi
|
||||
"config"
|
||||
"${_patchsource}/0001-CK-TIMER.patch"
|
||||
"${_patchsource}/arch-patches-v10/0001-arch-patches.patch"
|
||||
"${_patchsource}/0001-preempt-hz-cfs.patch"
|
||||
"${_patchsource}/misc/amd/0006-amd-cppc.patch"
|
||||
"${_patchsource}/misc/0008-remove-LightNVM.patch"
|
||||
"${_patchsource}/ll-patches/0004-mm-set-8-megabytes-for-address_space-level-file-read.patch"
|
||||
"${_patchsource}/android-patches/0001-android-export-symbold-and-enable-building-ashmem-an.patch"
|
||||
"${_patchsource}/bbr2-patches/0001-bbr2-5.14-introduce-BBRv2.patch"
|
||||
"${_patchsource}/block-patches/0001-block-patches.patch"
|
||||
"${_patchsource}/btrfs-patches-v7/0001-btrfs-patches.patch"
|
||||
"${_patchsource}/fixes-miscellaneous-v6/0001-fixes-miscellaneous.patch"
|
||||
"${_patchsource}/futex-xanmod-patches-v2/0001-futex-resync-from-gitlab.collabora.com.patch"
|
||||
"${_patchsource}/futex2-xanmod-patches-v2/0001-futex2-resync-from-gitlab.collabora.com.patch"
|
||||
"${_patchsource}/ksmbd-patches-v18/0001-ksmbd-patches.patch"
|
||||
"${_patchsource}/hwmon-patches-v5/0001-hwmon-patches.patch"
|
||||
"${_patchsource}/lqx-patches/0001-lqx-patches.patch"
|
||||
"${_patchsource}/lrng-patches-v2/0001-lrng-patches.patch"
|
||||
"${_patchsource}/lru-patches-v4/0001-lru-patches.patch"
|
||||
"${_patchsource}/pf-patches-v9/0001-pf-patches.patch"
|
||||
"${_patchsource}/xanmod-patches-v2/0001-xanmod-patches.patch"
|
||||
"${_patchsource}/zen-patches-v3/0001-zen-patches.patch"
|
||||
"${_patchsource}/zstd-patches-v2/0001-zstd-patches.patch"
|
||||
"${_patchsource}/security-patches/0001-security-patches.patch"
|
||||
"${_patchsource}/zstd-upstream-patches-v6/0001-zstd-upstream-patches.patch"
|
||||
"${_patchsource}/ntfs3-patches-v14/0001-ntfs3-patches.patch"
|
||||
"${_patchsource}/0001-ksm.patch"
|
||||
"${_patchsource}/0001-cpu-patches.patch"
|
||||
"${_patchsource}/0001-winesync.patch"
|
||||
"${_patchsource}/0001-v4l2loopback.patch"
|
||||
"auto-cpu-optimization.sh"
|
||||
)
|
||||
if [ -n "$_use_cfi" ]; then
|
||||
source+=("${_patchsource}/0002-clang-cfi.patch")
|
||||
fi
|
||||
|
||||
if [ -n "$_use_pgo" ]; then
|
||||
source+=("${_patchsource}/0001-PGO.patch")
|
||||
fi
|
||||
if [ -n "$_use_pgo" ]; then
|
||||
source+=("${_patchsource}/0001-PGO.patch")
|
||||
fi
|
||||
|
||||
if [ -n "$_use_llvm_lto" ]; then
|
||||
if [ -n "$_use_llvm_lto" ]; then
|
||||
|
||||
BUILD_FLAGS=(
|
||||
LLVM=1
|
||||
LLVM_IAS=1
|
||||
)
|
||||
fi
|
||||
LLVM=1
|
||||
LLVM_IAS=1
|
||||
)
|
||||
fi
|
||||
|
||||
export KBUILD_BUILD_HOST=archlinux
|
||||
export KBUILD_BUILD_USER=$pkgbase
|
||||
@ -195,286 +194,294 @@ prepare() {
|
||||
echo "${pkgbase#linux}" > localversion.20-pkgname
|
||||
|
||||
|
||||
local src
|
||||
for src in "${source[@]}"; do
|
||||
src="${src%%::*}"
|
||||
src="${src##*/}"
|
||||
[[ $src = *.patch ]] || continue
|
||||
echo "Applying patch $src..."
|
||||
patch -Np1 < "../$src"
|
||||
done
|
||||
local src
|
||||
for src in "${source[@]}"; do
|
||||
src="${src%%::*}"
|
||||
src="${src##*/}"
|
||||
[[ $src = *.patch ]] || continue
|
||||
echo "Applying patch $src..."
|
||||
patch -Np1 < "../$src"
|
||||
done
|
||||
|
||||
echo "Setting config..."
|
||||
cp ../config .config
|
||||
echo "Setting config..."
|
||||
cp ../config .config
|
||||
|
||||
if [ -n "$_use_cfi" ]; then
|
||||
scripts/config --enable CONFIG_ARCH_SUPPORTS_CFI_CLANG
|
||||
scripts/config --enable CONFIG_CFI_CLANG
|
||||
fi
|
||||
if [ -n "$_use_cfi" ]; then
|
||||
scripts/config --enable CONFIG_ARCH_SUPPORTS_CFI_CLANG
|
||||
scripts/config --enable CONFIG_CFI_CLANG
|
||||
fi
|
||||
|
||||
if [ -n "$_use_pgo" ]; then
|
||||
scripts/config --enable CONFIG_ARCH_SUPPORTS_PGO_CLANG
|
||||
scripts/config --enable DEBUG_FS
|
||||
scripts/config --enable CONFIG_PGO_CLANG
|
||||
fi
|
||||
if [ -n "$_use_pgo" ]; then
|
||||
scripts/config --enable CONFIG_ARCH_SUPPORTS_PGO_CLANG
|
||||
scripts/config --enable DEBUG_FS
|
||||
scripts/config --enable CONFIG_PGO_CLANG
|
||||
fi
|
||||
|
||||
### Microarchitecture Optimization (GCC/CLANG)
|
||||
if [ -n "$_use_auto_optimization" ]; then
|
||||
"${srcdir}"/auto-cpu-optimization.sh
|
||||
fi
|
||||
if [ -n "$_use_optimization_select" ]; then
|
||||
source "${startdir}"/configure
|
||||
cpu_arch
|
||||
fi
|
||||
### Optionally set tickrate to 2000HZ
|
||||
if [ -n "$_2k_HZ_ticks" ]; then
|
||||
echo "Setting tick rate to 2k..."
|
||||
scripts/config --disable CONFIG_HZ_300
|
||||
scripts/config --enable CONFIG_HZ_2000
|
||||
scripts/config --set-val CONFIG_HZ 2000
|
||||
fi
|
||||
### Microarchitecture Optimization (GCC/CLANG)
|
||||
if [ -n "$_use_auto_optimization" ]; then
|
||||
"${srcdir}"/auto-cpu-optimization.sh
|
||||
fi
|
||||
if [ -n "$_use_optimization_select" ]; then
|
||||
source "${startdir}"/configure
|
||||
cpu_arch
|
||||
fi
|
||||
### Optionally set tickrate to 2000HZ
|
||||
if [ -n "$_2k_HZ_ticks" ]; then
|
||||
echo "Setting tick rate to 2k..."
|
||||
scripts/config --disable CONFIG_HZ_300
|
||||
scripts/config --enable CONFIG_HZ_2000
|
||||
scripts/config --set-val CONFIG_HZ 2000
|
||||
fi
|
||||
|
||||
### Optionally set tickrate to 1000
|
||||
if [ -n "$_1k_HZ_ticks" ]; then
|
||||
echo "Setting tick rate to 1k..."
|
||||
scripts/config --disable CONFIG_HZ_300
|
||||
scripts/config --enable CONFIG_HZ_1000
|
||||
scripts/config --set-val CONFIG_HZ 1000
|
||||
fi
|
||||
### Optionally set tickrate to 1000
|
||||
if [ -n "$_1k_HZ_ticks" ]; then
|
||||
echo "Setting tick rate to 1k..."
|
||||
scripts/config --disable CONFIG_HZ_300
|
||||
scripts/config --enable CONFIG_HZ_1000
|
||||
scripts/config --set-val CONFIG_HZ 1000
|
||||
fi
|
||||
|
||||
### Optionally set tickrate to 750HZ
|
||||
if [ -n "$_750_HZ_ticks" ]; then
|
||||
echo "Setting tick rate to 750HZ..."
|
||||
scripts/config --disable CONFIG_HZ_300
|
||||
scripts/config --enable CONFIG_HZ_750
|
||||
scripts/config --set-val CONFIG_HZ 750
|
||||
fi
|
||||
### Optionally set tickrate to 750HZ
|
||||
if [ -n "$_750_HZ_ticks" ]; then
|
||||
echo "Setting tick rate to 750HZ..."
|
||||
scripts/config --disable CONFIG_HZ_300
|
||||
scripts/config --enable CONFIG_HZ_750
|
||||
scripts/config --set-val CONFIG_HZ 750
|
||||
fi
|
||||
|
||||
### Optionally set tickrate to 500HZ
|
||||
if [ -n "$_500_HZ_ticks" ]; then
|
||||
echo "Setting tick rate to 500HZ..."
|
||||
scripts/config --disable CONFIG_HZ_300
|
||||
scripts/config --enable CONFIG_HZ_500
|
||||
scripts/config --set-val CONFIG_HZ 500
|
||||
fi
|
||||
### Optionally set tickrate to 750HZ
|
||||
if [ -n "$_750_HZ_ticks" ]; then
|
||||
echo "Setting tick rate to 750HZ..."
|
||||
scripts/config --disable CONFIG_HZ_300
|
||||
scripts/config --enable CONFIG_HZ_750
|
||||
scripts/config --set-val CONFIG_HZ 750
|
||||
fi
|
||||
|
||||
### Optionally disable NUMA for 64-bit kernels only
|
||||
# (x86 kernels do not support NUMA)
|
||||
if [ -n "$_NUMAdisable" ]; then
|
||||
echo "Disabling NUMA from kernel config..."
|
||||
scripts/config --disable CONFIG_NUMA
|
||||
fi
|
||||
### Optionally set tickrate to 500HZ
|
||||
if [ -n "$_500_HZ_ticks" ]; then
|
||||
echo "Setting tick rate to 500HZ..."
|
||||
scripts/config --disable CONFIG_HZ_300
|
||||
scripts/config --enable CONFIG_HZ_500
|
||||
scripts/config --set-val CONFIG_HZ 500
|
||||
fi
|
||||
|
||||
if [ -n "$_fsync" ]; then
|
||||
echo "Enable Fsync support"
|
||||
scripts/config --enable CONFIG_FUTEX
|
||||
scripts/config --enable CONFIG_FUTEX_PI
|
||||
fi
|
||||
### Optionally disable NUMA for 64-bit kernels only
|
||||
# (x86 kernels do not support NUMA)
|
||||
if [ -n "$_NUMAdisable" ]; then
|
||||
echo "Disabling NUMA from kernel config..."
|
||||
scripts/config --disable CONFIG_NUMA
|
||||
fi
|
||||
|
||||
if [ -n "$_futex2" ]; then
|
||||
echo "Enable Futex2 support"
|
||||
scripts/config --enable CONFIG_FUTEX2
|
||||
fi
|
||||
if [ -n "$_fsync" ]; then
|
||||
echo "Enable Fsync support"
|
||||
scripts/config --enable CONFIG_FUTEX
|
||||
scripts/config --enable CONFIG_FUTEX_PI
|
||||
fi
|
||||
|
||||
if [ -n "$_winesync" ]; then
|
||||
echo "Enable winesync support"
|
||||
scripts/config --module CONFIG_WINESYNC
|
||||
fi
|
||||
if [ -n "$_futex2" ]; then
|
||||
echo "Enable Futex2 support"
|
||||
scripts/config --enable CONFIG_FUTEX2
|
||||
fi
|
||||
|
||||
### Disable MQ-Deadline I/O scheduler
|
||||
if [ -n "$_mq_deadline_disable" ]; then
|
||||
echo "Disabling MQ-Deadline I/O scheduler..."
|
||||
scripts/config --disable CONFIG_MQ_IOSCHED_DEADLINE
|
||||
fi
|
||||
if [ -n "$_winesync" ]; then
|
||||
echo "Enable winesync support"
|
||||
scripts/config --module CONFIG_WINESYNC
|
||||
fi
|
||||
|
||||
### Disable Kyber I/O scheduler
|
||||
if [ -n "$_kyber_disable" ]; then
|
||||
echo "Disabling Kyber I/O scheduler..."
|
||||
scripts/config --disable CONFIG_MQ_IOSCHED_KYBER
|
||||
fi
|
||||
### Disable MQ-Deadline I/O scheduler
|
||||
if [ -n "$_mq_deadline_disable" ]; then
|
||||
echo "Disabling MQ-Deadline I/O scheduler..."
|
||||
scripts/config --disable CONFIG_MQ_IOSCHED_DEADLINE
|
||||
fi
|
||||
|
||||
### Enable protect file mappings under memory pressure
|
||||
if [ -n "$_mm_protect" ]; then
|
||||
echo "Enabling protect file mappings under memory pressure..."
|
||||
scripts/config --enable CONFIG_UNEVICTABLE_FILE
|
||||
scripts/config --set-val CONFIG_UNEVICTABLE_FILE_KBYTES_LOW 262144
|
||||
scripts/config --set-val CONFIG_UNEVICTABLE_FILE_KBYTES_MIN 131072
|
||||
scripts/config --enable CONFIG_UNEVICTABLE_ANON
|
||||
scripts/config --set-val CONFIG_UNEVICTABLE_ANON_KBYTES_LOW 65536
|
||||
scripts/config --set-val CONFIG_UNEVICTABLE_ANON_KBYTES_MIN 32768
|
||||
fi
|
||||
### Disable Kyber I/O scheduler
|
||||
if [ -n "$_kyber_disable" ]; then
|
||||
echo "Disabling Kyber I/O scheduler..."
|
||||
scripts/config --disable CONFIG_MQ_IOSCHED_KYBER
|
||||
fi
|
||||
|
||||
### Enable multigenerational LRU
|
||||
if [ -n "$_lru_enable" ]; then
|
||||
echo "Enabling multigenerational LRU..."
|
||||
scripts/config --enable CONFIG_HAVE_ARCH_PARENT_PMD_YOUNG
|
||||
scripts/config --enable CONFIG_LRU_GEN
|
||||
scripts/config --set-val CONFIG_NR_LRU_GENS 7
|
||||
scripts/config --set-val CONFIG_TIERS_PER_GEN 4
|
||||
scripts/config --enable CONFIG_LRU_GEN_ENABLED
|
||||
scripts/config --disable CONFIG_LRU_GEN_STATS
|
||||
fi
|
||||
### Enable protect file mappings under memory pressure
|
||||
if [ -n "$_mm_protect" ]; then
|
||||
echo "Enabling protect file mappings under memory pressure..."
|
||||
scripts/config --enable CONFIG_UNEVICTABLE_FILE
|
||||
scripts/config --set-val CONFIG_UNEVICTABLE_FILE_KBYTES_LOW 262144
|
||||
scripts/config --set-val CONFIG_UNEVICTABLE_FILE_KBYTES_MIN 131072
|
||||
scripts/config --enable CONFIG_UNEVICTABLE_ANON
|
||||
scripts/config --set-val CONFIG_UNEVICTABLE_ANON_KBYTES_LOW 65536
|
||||
scripts/config --set-val CONFIG_UNEVICTABLE_ANON_KBYTES_MIN 32768
|
||||
fi
|
||||
|
||||
### Enable Linux Random Number Generator
|
||||
if [ -n "$_lrng_enable" ]; then
|
||||
echo "Enabling Linux Random Number Generator ..."
|
||||
scripts/config --enable CONFIG_LRNG
|
||||
scripts/config --enable CONFIG_LRNG_OVERSAMPLE_ENTROPY_SOURCES
|
||||
scripts/config --set-val CONFIG_CONFIG_LRNG_OVERSAMPLE_ES_BITS 64
|
||||
scripts/config --set-val CONFIG_LRNG_SEED_BUFFER_INIT_ADD_BITS 128
|
||||
scripts/config --enable CONFIG_LRNG_CONTINUOUS_COMPRESSION_ENABLED
|
||||
scripts/config --disable CONFIG_LRNG_CONTINUOUS_COMPRESSION_DISABLED
|
||||
scripts/config --enable CONFIG_LRNG_ENABLE_CONTINUOUS_COMPRESSION
|
||||
scripts/config --enable CONFIG_LRNG_SWITCHABLE_CONTINUOUS_COMPRESSION
|
||||
scripts/config --disable CONFIG_LRNG_COLLECTION_SIZE_512
|
||||
scripts/config --enable CONFIG_LRNG_COLLECTION_SIZE_1024
|
||||
scripts/config --disable CONFIG_LRNG_COLLECTION_SIZE_2048
|
||||
scripts/config --disable CONFIG_LRNG_COLLECTION_SIZE_4096
|
||||
scripts/config --disable CONFIG_LRNG_COLLECTION_SIZE_8192
|
||||
scripts/config --set-val CONFIG_LRNG_COLLECTION_SIZE 1024
|
||||
scripts/config --enable CONFIG_LRNG_HEALTH_TESTS
|
||||
scripts/config --set-val CONFIG_LRNG_RCT_CUTOFF 31
|
||||
scripts/config --set-val CONFIG_LRNG_APT_CUTOFF 325
|
||||
scripts/config --set-val CONFIG_LRNG_IRQ_ENTROPY_RATE 256
|
||||
scripts/config --enable CONFIG_LRNG_JENT
|
||||
scripts/config --set-val CONFIG_LRNG_JENT_ENTROPY_RATE 16
|
||||
scripts/config --set-val CONFIG_LRNG_CPU_ENTROPY_RATE 8
|
||||
scripts/config --enable CONFIG_LRNG_DRNG_SWITCH
|
||||
scripts/config --enable CONFIG_LRNG_KCAPI_HASH
|
||||
scripts/config --module CONFIG_LRNG_DRBG
|
||||
scripts/config --module CONFIG_LRNG_KCAPI
|
||||
scripts/config --enable CONFIG_LRNG_TESTING_MENU
|
||||
scripts/config --disable CONFIG_LRNG_RAW_HIRES_ENTROPY
|
||||
scripts/config --disable CONFIG_LRNG_RAW_JIFFIES_ENTROPY
|
||||
scripts/config --disable CONFIG_LRNG_RAW_IRQ_ENTROPY
|
||||
scripts/config --disable CONFIG_LRNG_RAW_IRQFLAGS_ENTROPY
|
||||
scripts/config --disable CONFIG_LRNG_RAW_RETIP_ENTROPY
|
||||
scripts/config --disable CONFIG_LRNG_RAW_REGS_ENTROPY
|
||||
scripts/config --disable CONFIG_LRNG_RAW_ARRAY
|
||||
scripts/config --disable CONFIG_LRNG_IRQ_PERF
|
||||
scripts/config --disable CONFIG_LRNG_ACVT_HASH
|
||||
scripts/config --enable CONFIG_LRNG_RUNTIME_ES_CONFIG
|
||||
scripts/config --disable CONFIG_LRNG_RUNTIME_MAX_WO_RESEED_CONFIG
|
||||
scripts/config --enable CONFIG_LRNG_SELFTEST
|
||||
scripts/config --disable CONFIG_LRNG_SELFTEST_PANIC
|
||||
fi
|
||||
echo "Enable LLVM LTO"
|
||||
if [ -n "$_use_llvm_lto" ]; then
|
||||
scripts/config --disable CONFIG_LTO_NONE
|
||||
fi
|
||||
### Enable multigenerational LRU
|
||||
if [ -n "$_lru_enable" ]; then
|
||||
echo "Enabling multigenerational LRU..."
|
||||
scripts/config --enable CONFIG_HAVE_ARCH_PARENT_PMD_YOUNG
|
||||
scripts/config --enable CONFIG_LRU_GEN
|
||||
scripts/config --set-val CONFIG_NR_LRU_GENS 7
|
||||
scripts/config --set-val CONFIG_TIERS_PER_GEN 4
|
||||
scripts/config --enable CONFIG_LRU_GEN_ENABLED
|
||||
scripts/config --disable CONFIG_LRU_GEN_STATS
|
||||
fi
|
||||
|
||||
### Enable SMB3 Kernel Server
|
||||
if [ -n "$_ksmbd_enable" ]; then
|
||||
echo "Enabling SMB3 Kernel Server..."
|
||||
scripts/config --module CONFIG_SMB_SERVER
|
||||
scripts/config --enable CONFIG_SMB_SERVER_SMBDIRECT
|
||||
scripts/config --enable CONFIG_SMB_SERVER_CHECK_CAP_NET_ADMIN
|
||||
scripts/config --enable CONFIG_SMB_SERVER_KERBEROS5
|
||||
fi
|
||||
### Enable Linux Random Number Generator
|
||||
if [ -n "$_lrng_enable" ]; then
|
||||
echo "Enabling Linux Random Number Generator ..."
|
||||
scripts/config --enable CONFIG_LRNG
|
||||
scripts/config --enable CONFIG_LRNG_OVERSAMPLE_ENTROPY_SOURCES
|
||||
scripts/config --set-val CONFIG_CONFIG_LRNG_OVERSAMPLE_ES_BITS 64
|
||||
scripts/config --set-val CONFIG_LRNG_SEED_BUFFER_INIT_ADD_BITS 128
|
||||
scripts/config --enable CONFIG_LRNG_CONTINUOUS_COMPRESSION_ENABLED
|
||||
scripts/config --disable CONFIG_LRNG_CONTINUOUS_COMPRESSION_DISABLED
|
||||
scripts/config --enable CONFIG_LRNG_ENABLE_CONTINUOUS_COMPRESSION
|
||||
scripts/config --enable CONFIG_LRNG_SWITCHABLE_CONTINUOUS_COMPRESSION
|
||||
scripts/config --disable CONFIG_LRNG_COLLECTION_SIZE_512
|
||||
scripts/config --enable CONFIG_LRNG_COLLECTION_SIZE_1024
|
||||
scripts/config --disable CONFIG_LRNG_COLLECTION_SIZE_2048
|
||||
scripts/config --disable CONFIG_LRNG_COLLECTION_SIZE_4096
|
||||
scripts/config --disable CONFIG_LRNG_COLLECTION_SIZE_8192
|
||||
scripts/config --set-val CONFIG_LRNG_COLLECTION_SIZE 1024
|
||||
scripts/config --enable CONFIG_LRNG_HEALTH_TESTS
|
||||
scripts/config --set-val CONFIG_LRNG_RCT_CUTOFF 31
|
||||
scripts/config --set-val CONFIG_LRNG_APT_CUTOFF 325
|
||||
scripts/config --set-val CONFIG_LRNG_IRQ_ENTROPY_RATE 256
|
||||
scripts/config --enable CONFIG_LRNG_JENT
|
||||
scripts/config --set-val CONFIG_LRNG_JENT_ENTROPY_RATE 16
|
||||
scripts/config --set-val CONFIG_LRNG_CPU_ENTROPY_RATE 8
|
||||
scripts/config --enable CONFIG_LRNG_DRNG_SWITCH
|
||||
scripts/config --enable CONFIG_LRNG_KCAPI_HASH
|
||||
scripts/config --module CONFIG_LRNG_DRBG
|
||||
scripts/config --module CONFIG_LRNG_KCAPI
|
||||
scripts/config --enable CONFIG_LRNG_TESTING_MENU
|
||||
scripts/config --disable CONFIG_LRNG_RAW_HIRES_ENTROPY
|
||||
scripts/config --disable CONFIG_LRNG_RAW_JIFFIES_ENTROPY
|
||||
scripts/config --disable CONFIG_LRNG_RAW_IRQ_ENTROPY
|
||||
scripts/config --disable CONFIG_LRNG_RAW_IRQFLAGS_ENTROPY
|
||||
scripts/config --disable CONFIG_LRNG_RAW_RETIP_ENTROPY
|
||||
scripts/config --disable CONFIG_LRNG_RAW_REGS_ENTROPY
|
||||
scripts/config --disable CONFIG_LRNG_RAW_ARRAY
|
||||
scripts/config --disable CONFIG_LRNG_IRQ_PERF
|
||||
scripts/config --disable CONFIG_LRNG_ACVT_HASH
|
||||
scripts/config --enable CONFIG_LRNG_RUNTIME_ES_CONFIG
|
||||
scripts/config --disable CONFIG_LRNG_RUNTIME_MAX_WO_RESEED_CONFIG
|
||||
scripts/config --enable CONFIG_LRNG_SELFTEST
|
||||
scripts/config --disable CONFIG_LRNG_SELFTEST_PANIC
|
||||
fi
|
||||
echo "Enable LLVM LTO"
|
||||
if [ -n "$_use_llvm_lto" ]; then
|
||||
scripts/config --disable CONFIG_LTO_NONE
|
||||
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
|
||||
### Enable SMB3 Kernel Server
|
||||
if [ -n "$_ksmbd_enable" ]; then
|
||||
echo "Enabling SMB3 Kernel Server..."
|
||||
scripts/config --module CONFIG_SMB_SERVER
|
||||
scripts/config --enable CONFIG_SMB_SERVER_SMBDIRECT
|
||||
scripts/config --enable CONFIG_SMB_SERVER_CHECK_CAP_NET_ADMIN
|
||||
scripts/config --enable CONFIG_SMB_SERVER_KERBEROS5
|
||||
fi
|
||||
|
||||
### Selecting the ZSTD module compression level
|
||||
if [ "$_zstd_module_level" = "ultra" ]; then
|
||||
echo "Enabling highest ZSTD module 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
|
||||
elif [ "$_zstd_module_level" = "normal" ]; then
|
||||
echo "Enabling standard ZSTD module compression ratio..."
|
||||
scripts/config --set-val CONFIG_MODULE_COMPRESS_ZSTD_LEVEL 19
|
||||
scripts/config --disable CONFIG_MODULE_COMPRESS_ZSTD_ULTRA
|
||||
else
|
||||
if [ -n "$_zstd_module_level" ]; then
|
||||
error "The value $_zstd_module_level is invalid. Choose the correct one again."
|
||||
else
|
||||
error "The value is empty. Choose the correct one again."
|
||||
fi
|
||||
error "Selecting the ZSTD module compression level failed!"
|
||||
exit
|
||||
### 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
|
||||
|
||||
echo "Disabling TCP_CONG_CUBIC..."
|
||||
scripts/config --module CONFIG_TCP_CONG_CUBIC
|
||||
scripts/config --disable CONFIG_DEFAULT_CUBIC
|
||||
echo "Enabling TCP_CONG_BBR2..."
|
||||
scripts/config --enable CONFIG_TCP_CONG_BBR2
|
||||
scripts/config --enable CONFIG_DEFAULT_BBR2
|
||||
scripts/config --set-str CONFIG_DEFAULT_TCP_CONG bbr2
|
||||
echo "Enabling FULLCONENAT..."
|
||||
scripts/config --module CONFIG_IP_NF_TARGET_FULLCONENAT
|
||||
scripts/config --module CONFIG_NETFILTER_XT_TARGET_FULLCONENAT
|
||||
echo "Setting performance governor..."
|
||||
scripts/config --disable CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL
|
||||
scripts/config --enable CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE
|
||||
scripts/config --enable CONFIG_CPU_FREQ_GOV_ONDEMAND
|
||||
scripts/config --enable CONFIG_CPU_FREQ_GOV_CONSERVATIVE
|
||||
scripts/config --enable CONFIG_CPU_FREQ_GOV_USERSPACE
|
||||
scripts/config --enable CONFIG_CPU_FREQ_GOV_SCHEDUTIL
|
||||
echo "Enable AMD PSTATE v3 driver"
|
||||
scripts/config --enable CONFIG_X86_AMD_PSTATE
|
||||
|
||||
|
||||
### Optionally disable NUMA for 64-bit kernels only
|
||||
# (x86 kernels do not support NUMA)
|
||||
if [ -n "$_NUMAdisable" ]; then
|
||||
echo "Disabling NUMA from kernel config..."
|
||||
scripts/config --disable CONFIG_NUMA
|
||||
fi
|
||||
|
||||
### Optionally use running kernel's config
|
||||
# code originally by nous; http://aur.archlinux.org/packages.php?ID=40191
|
||||
if [ -n "$_use_current" ]; then
|
||||
if [[ -s /proc/config.gz ]]; then
|
||||
echo "Extracting config from /proc/config.gz..."
|
||||
# modprobe configs
|
||||
zcat /proc/config.gz > ./.config
|
||||
else
|
||||
warning "Your kernel was not compiled with IKCONFIG_PROC!"
|
||||
warning "You cannot read the current config!"
|
||||
warning "Aborting!"
|
||||
exit
|
||||
fi
|
||||
### Selecting the ZSTD module compression level
|
||||
if [ "$_zstd_module_level" = "ultra" ]; then
|
||||
echo "Enabling highest ZSTD module 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
|
||||
elif [ "$_zstd_module_level" = "normal" ]; then
|
||||
echo "Enabling standard ZSTD module compression ratio..."
|
||||
scripts/config --set-val CONFIG_MODULE_COMPRESS_ZSTD_LEVEL 19
|
||||
scripts/config --disable CONFIG_MODULE_COMPRESS_ZSTD_ULTRA
|
||||
else
|
||||
if [ -n "$_zstd_module_level" ]; then
|
||||
error "The value $_zstd_module_level is invalid. Choose the correct one again."
|
||||
else
|
||||
error "The value is empty. Choose the correct one again."
|
||||
fi
|
||||
error "Selecting the ZSTD module compression level failed!"
|
||||
exit
|
||||
fi
|
||||
|
||||
### Optionally load needed modules for the make localmodconfig
|
||||
# See https://aur.archlinux.org/packages/modprobed-db
|
||||
if [ -n "$_localmodcfg" ]; then
|
||||
if [ -e "$HOME"/.config/modprobed.db ]; then
|
||||
echo "Running Steven Rostedt's make localmodconfig now"
|
||||
make ${BUILD_FLAGS[*]} LSMOD="$HOME"/.config/modprobed.db localmodconfig
|
||||
else
|
||||
echo "No modprobed.db data found"
|
||||
exit
|
||||
fi
|
||||
echo "Disabling TCP_CONG_CUBIC..."
|
||||
scripts/config --module CONFIG_TCP_CONG_CUBIC
|
||||
scripts/config --disable CONFIG_DEFAULT_CUBIC
|
||||
echo "Enabling TCP_CONG_BBR2..."
|
||||
scripts/config --enable CONFIG_TCP_CONG_BBR2
|
||||
scripts/config --enable CONFIG_DEFAULT_BBR2
|
||||
scripts/config --set-str CONFIG_DEFAULT_TCP_CONG bbr2
|
||||
echo "Enabling FULLCONENAT..."
|
||||
scripts/config --module CONFIG_IP_NF_TARGET_FULLCONENAT
|
||||
scripts/config --module CONFIG_NETFILTER_XT_TARGET_FULLCONENAT
|
||||
echo "Setting performance governor..."
|
||||
scripts/config --disable CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL
|
||||
scripts/config --enable CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE
|
||||
scripts/config --enable CONFIG_CPU_FREQ_GOV_ONDEMAND
|
||||
scripts/config --enable CONFIG_CPU_FREQ_GOV_CONSERVATIVE
|
||||
scripts/config --enable CONFIG_CPU_FREQ_GOV_USERSPACE
|
||||
scripts/config --enable CONFIG_CPU_FREQ_GOV_SCHEDUTIL
|
||||
echo "Enable AMD PSTATE v3 driver"
|
||||
scripts/config --enable CONFIG_X86_AMD_PSTATE
|
||||
|
||||
|
||||
### Optionally disable NUMA for 64-bit kernels only
|
||||
# (x86 kernels do not support NUMA)
|
||||
if [ -n "$_NUMAdisable" ]; then
|
||||
echo "Disabling NUMA from kernel config..."
|
||||
scripts/config --disable CONFIG_NUMA
|
||||
fi
|
||||
|
||||
### Optionally use running kernel's config
|
||||
# code originally by nous; http://aur.archlinux.org/packages.php?ID=40191
|
||||
if [ -n "$_use_current" ]; then
|
||||
if [[ -s /proc/config.gz ]]; then
|
||||
echo "Extracting config from /proc/config.gz..."
|
||||
# modprobe configs
|
||||
zcat /proc/config.gz > ./.config
|
||||
else
|
||||
warning "Your kernel was not compiled with IKCONFIG_PROC!"
|
||||
warning "You cannot read the current config!"
|
||||
warning "Aborting!"
|
||||
exit
|
||||
fi
|
||||
fi
|
||||
|
||||
echo "Applying default config..."
|
||||
make ${BUILD_FLAGS[*]} olddefconfig
|
||||
make ${BUILD_FLAGS[*]} -s kernelrelease > version
|
||||
echo "Prepared $pkgbase version $(<version)"
|
||||
### Optionally load needed modules for the make localmodconfig
|
||||
# See https://aur.archlinux.org/packages/modprobed-db
|
||||
if [ -n "$_localmodcfg" ]; then
|
||||
if [ -e "$HOME"/.config/modprobed.db ]; then
|
||||
echo "Running Steven Rostedt's make localmodconfig now"
|
||||
make ${BUILD_FLAGS[*]} LSMOD="$HOME"/.config/modprobed.db localmodconfig
|
||||
else
|
||||
echo "No modprobed.db data found"
|
||||
exit
|
||||
fi
|
||||
fi
|
||||
|
||||
[[ -z "$_makenconfig" ]] || make ${BUILD_FLAGS[*]} nconfig
|
||||
echo "Applying default config..."
|
||||
make ${BUILD_FLAGS[*]} olddefconfig
|
||||
make ${BUILD_FLAGS[*]} -s kernelrelease > version
|
||||
echo "Prepared $pkgbase version $(<version)"
|
||||
|
||||
### Save configuration for later reuse
|
||||
cp -Tf ./.config "${startdir}/config-${pkgver}-${pkgrel}${pkgbase#linux}"
|
||||
[[ -z "$_makenconfig" ]] || make ${BUILD_FLAGS[*]} nconfig
|
||||
|
||||
### Save configuration for later reuse
|
||||
cp -Tf ./.config "${startdir}/config-${pkgver}-${pkgrel}${pkgbase#linux}"
|
||||
}
|
||||
|
||||
build() {
|
||||
@ -482,16 +489,16 @@ build() {
|
||||
echo -e "\E[1;31mCan't cd to ${srcdir:?}/linux-${pkgver} directory! Build failed! \E[0m"
|
||||
exit 1
|
||||
)
|
||||
make ${BUILD_FLAGS[*]} -j$(nproc) all
|
||||
make ${BUILD_FLAGS[*]} -j$(nproc) all
|
||||
}
|
||||
|
||||
_package() {
|
||||
pkgdesc="The $pkgdesc kernel and modules"
|
||||
depends=('coreutils' 'kmod' 'initramfs')
|
||||
optdepends=('crda: to set the correct wireless channels of your country'
|
||||
'linux-firmware: firmware images needed for some devices'
|
||||
'modprobed-db: Keeps track of EVERY kernel module that has ever been probed - useful for those of us who make localmodconfig')
|
||||
provides=(VIRTUALBOX-GUEST-MODULES WIREGUARD-MODULE)
|
||||
pkgdesc="The $pkgdesc kernel and modules"
|
||||
depends=('coreutils' 'kmod' 'initramfs')
|
||||
optdepends=('crda: to set the correct wireless channels of your country'
|
||||
'linux-firmware: firmware images needed for some devices'
|
||||
'modprobed-db: Keeps track of EVERY kernel module that has ever been probed - useful for those of us who make localmodconfig')
|
||||
provides=(VIRTUALBOX-GUEST-MODULES WIREGUARD-MODULE)
|
||||
|
||||
cd "${srcdir:?}/linux-${pkgver}" || (
|
||||
echo -e "\E[1;31mCan't cd to ${srcdir:?}/linux-${pkgver} directory! Package linux kernel failed! \E[0m"
|
||||
@ -584,14 +591,14 @@ _package-headers() {
|
||||
local file
|
||||
while read -rd '' file; do
|
||||
case "$(file -bi "$file")" in
|
||||
application/x-sharedlib\;*) # Libraries (.so)
|
||||
strip -v "${STRIP_SHARED}" "$file" ;;
|
||||
application/x-archive\;*) # Libraries (.a)
|
||||
strip -v "${STRIP_STATIC}" "$file" ;;
|
||||
application/x-executable\;*) # Binaries
|
||||
strip -v "${STRIP_BINARIES}" "$file" ;;
|
||||
application/x-pie-executable\;*) # Relocatable binaries
|
||||
strip -v "${STRIP_SHARED}" "$file" ;;
|
||||
application/x-sharedlib\;*) # Libraries (.so)
|
||||
strip -v "${STRIP_SHARED}" "$file" ;;
|
||||
application/x-archive\;*) # Libraries (.a)
|
||||
strip -v "${STRIP_STATIC}" "$file" ;;
|
||||
application/x-executable\;*) # Binaries
|
||||
strip -v "${STRIP_BINARIES}" "$file" ;;
|
||||
application/x-pie-executable\;*) # Relocatable binaries
|
||||
strip -v "${STRIP_SHARED}" "$file" ;;
|
||||
esac
|
||||
done < <(find "${builddir}" -type f -perm -u+x ! -name vmlinux -print0)
|
||||
|
||||
@ -604,7 +611,7 @@ _package-headers() {
|
||||
|
||||
}
|
||||
|
||||
md5sums=('a52286fe206a3f7664ca5a6c5995b9ed'
|
||||
md5sums=('dd8c7efa62d69eb9a50806f2b0d6da01'
|
||||
'6918c6961e213ae5ee0c9d374bb9a06b'
|
||||
'04c5865e765e07cff0649824c2a8d810'
|
||||
'581faf85cd625c41bbdd0cadbd0e451e'
|
||||
@ -637,9 +644,9 @@ md5sums=('a52286fe206a3f7664ca5a6c5995b9ed'
|
||||
'95eb4457f95f3f8dd153983612ee65c0'
|
||||
'21c98f19e883879dd3336c1fa143fd31')
|
||||
pkgname=("$pkgbase" "$pkgbase-headers" )
|
||||
for _p in "${pkgname[@]}"; do
|
||||
eval "package_$_p() {
|
||||
for _p in "${pkgname[@]}"; do
|
||||
eval "package_$_p() {
|
||||
$(declare -f "_package${_p#$pkgbase}")
|
||||
_package${_p#$pkgbase}
|
||||
}"
|
||||
done
|
||||
}"
|
||||
done
|
||||
|
Loading…
Reference in New Issue
Block a user