5.17.6-4
This commit is contained in:
parent
b1649c8dd8
commit
0d590e3b22
12
.SRCINFO
12
.SRCINFO
@ -1,7 +1,7 @@
|
||||
pkgbase = linux-cachyos
|
||||
pkgbase = linux-cachyos-cfs
|
||||
pkgdesc = Linux CFS scheduler Kernel by CachyOS with other patches and improvements
|
||||
pkgver = 5.17.6
|
||||
pkgrel = 1
|
||||
pkgrel = 4
|
||||
url = https://github.com/CachyOS/linux-cachyos
|
||||
arch = x86_64
|
||||
arch = x86_64_v3
|
||||
@ -43,11 +43,11 @@ pkgbase = linux-cachyos
|
||||
source = https://raw.githubusercontent.com/ptr1337/kernel-patches/master/5.17/0015-futex-winesync.patch
|
||||
source = auto-cpu-optimization.sh
|
||||
sha256sums = 64ccf18380be5b5491322a3fd54904538b544e523e4bf86289dd8df7404cb10c
|
||||
sha256sums = 29c5dd2ae6b452b75b25816a8f6610fa2ff54f21b22a0ccef5c2e98a7077eb36
|
||||
sha256sums = bce05218cb52e8f70fd0e652483d0413cf3d3f8bcbe0302bfb2d2f195ea6ef7c
|
||||
sha256sums = 09aa0e17190ee113a352573b2d2386cc04b522641fd277306e8ace9fd7af0037
|
||||
sha256sums = ddaf45cc72ed743f70c8754505357e94d6dd4133bfde6e9c6afc59f4cc12ee69
|
||||
sha256sums = 6b31e4655e5ff9dbe95fb7db665426dad2bf3e33b5102d040a256f707cc99a23
|
||||
sha256sums = c222aa0b958c16db5f840f6d6890257319bfc8c1d26e39322ab0dfebf635ce49
|
||||
sha256sums = 7936c3cc3c7be010539414b392f942664f95d9659a44c614a2e57c5c72cdacbf
|
||||
sha256sums = ef7d6253dc8a149ffea1293f65ef43fe9277ba6a629bc54d656f594429813b5e
|
||||
sha256sums = ab87b51fcacd9c7c5bf5d363ac45dab994c2c53d0e80e552390c7cbf752d7dca
|
||||
sha256sums = 748d5b112d10870ce214c5fab1cc793492416faab73637e95c0a1b877b2574b7
|
||||
@ -61,7 +61,7 @@ pkgbase = linux-cachyos
|
||||
sha256sums = 179b540f8848b03ccb1a0d12e24feab63fd0576b5e9eed8f214d6e9cb790f151
|
||||
sha256sums = 65ec9ac5b8b28d5b61df1c72498059be2e7cb1f9b965bac0e4ffed3c05520b2b
|
||||
|
||||
pkgname = linux-cachyos
|
||||
pkgname = linux-cachyos-cfs
|
||||
pkgdesc = The Linux CFS scheduler Kernel by CachyOS with other patches and improvements kernel and modules
|
||||
depends = coreutils
|
||||
depends = kmod
|
||||
@ -73,6 +73,6 @@ pkgname = linux-cachyos
|
||||
provides = WIREGUARD-MODULE
|
||||
provides = KSMBD-MODULE
|
||||
|
||||
pkgname = linux-cachyos-headers
|
||||
pkgname = linux-cachyos-cfs-headers
|
||||
pkgdesc = Headers and scripts for building modules for the Linux CFS scheduler Kernel by CachyOS with other patches and improvements kernel
|
||||
depends = pahole
|
||||
|
519
PKGBUILD
519
PKGBUILD
@ -75,7 +75,7 @@ _kyber_disable=y
|
||||
_lru_enable=y
|
||||
|
||||
## Enable DAMON
|
||||
_damon=y
|
||||
_damon=
|
||||
|
||||
## enable SPECULATIVE_PAGE_FAULT
|
||||
_spf_enable=y
|
||||
@ -89,7 +89,7 @@ _use_auto_optimization=y
|
||||
## Apply Kernel Optimization selecting
|
||||
_use_optimization_select=
|
||||
|
||||
# Enable zram/zswap ZSTD compression
|
||||
## Enable zram/zswap ZSTD compression
|
||||
_zstd_compression=y
|
||||
|
||||
_nf_cone=y
|
||||
@ -102,13 +102,13 @@ _use_llvm_lto=
|
||||
## Change the thin lto cachedir for fixing building several dkms modules including zfs
|
||||
_thin_lto_cachedir=
|
||||
|
||||
# Enable it for using the LLVM CFI PATCH for a better security
|
||||
## Enable it for using the LLVM CFI PATCH for a better security
|
||||
_use_cfi=
|
||||
|
||||
if [ -n "$_use_llvm_lto" ]; then
|
||||
pkgbase=linux-cachyos-lto
|
||||
pkgbase=linux-cachyos-${_cpusched}-lto
|
||||
else
|
||||
pkgbase=linux-cachyos
|
||||
pkgbase=linux-cachyos-${_cpusched}
|
||||
fi
|
||||
_major=5.17
|
||||
_minor=6
|
||||
@ -122,20 +122,14 @@ _srcname=linux-${_stable}
|
||||
#_srcname=linux-${_major}
|
||||
arch=(x86_64 x86_64_v3)
|
||||
pkgdesc='Linux CFS scheduler Kernel by CachyOS with other patches and improvements'
|
||||
pkgrel=1
|
||||
pkgrel=4
|
||||
arch=('x86_64' 'x86_64_v3')
|
||||
url="https://github.com/CachyOS/linux-cachyos"
|
||||
license=('GPL2')
|
||||
options=('!strip')
|
||||
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
|
||||
depends+=(clang llvm lld python)
|
||||
BUILD_FLAGS=(
|
||||
CC=clang
|
||||
LD=ld.lld
|
||||
LLVM=1
|
||||
LLVM_IAS=1
|
||||
)
|
||||
makedepends+=(clang llvm lld python)
|
||||
fi
|
||||
_patchsource="https://raw.githubusercontent.com/ptr1337/kernel-patches/master/${_major}"
|
||||
source=(
|
||||
@ -178,9 +172,11 @@ source+=(
|
||||
"${_patchsource}/0015-futex-winesync.patch"
|
||||
"auto-cpu-optimization.sh"
|
||||
)
|
||||
if [ -n "$_thin_lto_cachedir" ] && [ "$_use_llvm_lto" = "thin" ]; then
|
||||
source+=(
|
||||
"${_patchsource}/0016-thinlto-cachedir.patch"
|
||||
|
||||
if [ -n "$_use_llvm_lto" ]; then
|
||||
BUILD_FLAGS=(
|
||||
LLVM=1
|
||||
LLVM_IAS=1
|
||||
)
|
||||
fi
|
||||
|
||||
@ -192,13 +188,11 @@ prepare() {
|
||||
|
||||
cd $_srcname
|
||||
|
||||
### Setting version
|
||||
echo "Setting version..."
|
||||
scripts/setlocalversion --save-scmversion
|
||||
echo "-$pkgrel" > localversion.10-pkgrel
|
||||
echo "${pkgbase#linux}" > localversion.20-pkgname
|
||||
|
||||
### Patching sources
|
||||
local src
|
||||
for src in "${source[@]}"; do
|
||||
src="${src%%::*}"
|
||||
@ -208,11 +202,9 @@ prepare() {
|
||||
patch -Np1 < "../$src"
|
||||
done
|
||||
|
||||
### Setting config
|
||||
echo "Setting config..."
|
||||
cp ../config .config
|
||||
|
||||
### Microarchitecture Optimization (GCC/CLANG)
|
||||
if [ -n "$_use_auto_optimization" ]; then
|
||||
"${srcdir}"/auto-cpu-optimization.sh
|
||||
fi
|
||||
@ -225,30 +217,30 @@ prepare() {
|
||||
### Selecting the CPU scheduler
|
||||
if [ "$_cpusched" = "bmq" ]; then
|
||||
echo "Selecting BMQ CPU scheduler..."
|
||||
scripts/config --enable CONFIG_SCHED_ALT
|
||||
scripts/config --enable CONFIG_SCHED_BMQ
|
||||
scripts/config --disable CONFIG_SCHED_PDS
|
||||
scripts/config --enable SCHED_ALT \
|
||||
--enable SCHED_BMQ \
|
||||
--disable SCHED_PDS
|
||||
elif [ "$_cpusched" = "pds" ]; then
|
||||
echo "Selecting PDS CPU scheduler..."
|
||||
scripts/config --enable CONFIG_SCHED_ALT
|
||||
scripts/config --disable CONFIG_SCHED_BMQ
|
||||
scripts/config --enable CONFIG_SCHED_PDS
|
||||
scripts/config --enable SCHED_ALT \
|
||||
--disable SCHED_BMQ \
|
||||
--enable SCHED_PDS
|
||||
elif [ "$_cpusched" = "cacule" ]; then
|
||||
echo "Selecting CacULE scheduler..."
|
||||
scripts/config --enable CONFIG_CACULE_SCHED
|
||||
scripts/config --disable CONFIG_CACULE_RDB
|
||||
scripts/config --enable CACULE_SCHED \
|
||||
--disable CACULE_RDB
|
||||
elif [ "$_cpusched" = "cacule-rdb" ]; then
|
||||
echo "Selecting CacULE-RDB scheduler..."
|
||||
scripts/config --enable CONFIG_CACULE_SCHED
|
||||
scripts/config --enable CONFIG_CACULE_RDB
|
||||
scripts/config --set-val CONFIG_RDB_INTERVAL 19
|
||||
scripts/config --enable CACULE_SCHED \
|
||||
--enable CACULE_RDB \
|
||||
--set-val RDB_INTERVAL 19
|
||||
elif [ "$_cpusched" = "tt" ]; then
|
||||
echo "Enable TT CPU scheduler..."
|
||||
scripts/config --enable CONFIG_TT_SCHED
|
||||
scripts/config --enable CONFIG_TT_ACCOUNTING_STATS
|
||||
scripts/config --enable TT_SCHED \
|
||||
--enable TT_ACCOUNTING_STATS
|
||||
elif [ "$_cpusched" = "bore" ]; then
|
||||
echo "Selecting BORE Scheduler..."
|
||||
scripts/config --enable CONFIG_SCHED_BORE
|
||||
scripts/config --enable SCHED_BORE
|
||||
elif [ "$_cpusched" = "cfs" ]; then
|
||||
echo "Selecting Completely Fair Scheduler..."
|
||||
else
|
||||
@ -261,307 +253,320 @@ prepare() {
|
||||
exit
|
||||
fi
|
||||
|
||||
## Enable it for using the LLVM CFI PATCH for a better security
|
||||
if [ -n "$_use_cfi" ] && [ -n "$_use_llvm_lto" ]; then
|
||||
echo "Enabling CFI"
|
||||
scripts/config --enable CONFIG_ARCH_SUPPORTS_CFI_CLANG
|
||||
scripts/config --enable CONFIG_CFI_CLANG
|
||||
fi
|
||||
# if [ -n "$_use_cfi" ] && [ -n "$_use_llvm_lto" ]; then
|
||||
# echo "Enabling CFI"
|
||||
# scripts/config --enable ARCH_SUPPORTS_CFI_CLANG \
|
||||
# --enable CFI_CLANG
|
||||
# fi
|
||||
|
||||
### Selecting the THIN or FULL-LTO compression level
|
||||
if [ "$_use_llvm_lto" = "thin" ]; then
|
||||
echo "Enabling LLVM THIN LTO..."
|
||||
scripts/config --disable LTO_NONE \
|
||||
--enable LTO \
|
||||
--enable LTO_CLANG \
|
||||
--enable ARCH_SUPPORTS_LTO_CLANG \
|
||||
--enable ARCH_SUPPORTS_LTO_CLANG_THIN \
|
||||
--enable HAS_LTO_CLANG \
|
||||
--enable LTO_CLANG_THIN \
|
||||
--enable HAVE_GCC_PLUGINS
|
||||
elif [ "$_use_llvm_lto" = "full" ]; then
|
||||
--enable LTO \
|
||||
--enable LTO_CLANG \
|
||||
--enable ARCH_SUPPORTS_LTO_CLANG \
|
||||
--enable ARCH_SUPPORTS_LTO_CLANG_THIN \
|
||||
--enable HAS_LTO_CLANG \
|
||||
--enable LTO_CLANG_THIN \
|
||||
--enable HAVE_GCC_PLUGINS
|
||||
elif [ "$_use_llvm_lto" = "full" ]; then
|
||||
echo "Enabling LLVM FULL LTO..."
|
||||
scripts/config --disable LTO_NONE \
|
||||
--enable LTO \
|
||||
--enable LTO_CLANG \
|
||||
--enable ARCH_SUPPORTS_LTO_CLANG \
|
||||
--enable ARCH_SUPPORTS_LTO_CLANG_THIN \
|
||||
--enable HAS_LTO_CLANG \
|
||||
--enable LTO_CLANG \
|
||||
--enable LTO_CLANG_FULL \
|
||||
--enable HAVE_GCC_PLUGINS
|
||||
--enable LTO \
|
||||
--enable LTO_CLANG \
|
||||
--enable ARCH_SUPPORTS_LTO_CLANG \
|
||||
--enable ARCH_SUPPORTS_LTO_CLANG_THIN \
|
||||
--enable HAS_LTO_CLANG \
|
||||
--enable LTO_CLANG \
|
||||
--enable LTO_CLANG_FULL \
|
||||
--enable HAVE_GCC_PLUGINS
|
||||
else
|
||||
scripts/config --enable CONFIG_LTO_NONE
|
||||
scripts/config --enable LTO_NONE
|
||||
fi
|
||||
|
||||
### Optionally set tickrate to 1000Hz
|
||||
if [ "$_HZ_ticks" = "1000" ]; then
|
||||
echo "Setting tick rate to 1k Hz..."
|
||||
scripts/config --disable CONFIG_HZ_300
|
||||
scripts/config --enable CONFIG_HZ_1000
|
||||
scripts/config --set-val CONFIG_HZ 1000
|
||||
|
||||
### Optionally set tickrate to 750HZ
|
||||
scripts/config --disable HZ_300 \
|
||||
--enable HZ_1000 \
|
||||
--set-val HZ 1000
|
||||
elif [ "$_HZ_ticks" = "750" ]; 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
|
||||
|
||||
### Optionally set tickrate to 600HZ
|
||||
scripts/config --disable HZ_300 \
|
||||
--enable HZ_750 \
|
||||
--set-val HZ 750
|
||||
elif [ "$_HZ_ticks" = "600" ]; then
|
||||
echo "Setting tick rate to 600Hz..."
|
||||
scripts/config --disable CONFIG_HZ_300
|
||||
scripts/config --enable CONFIG_HZ_600
|
||||
scripts/config --set-val CONFIG_HZ 600
|
||||
|
||||
### Optionally set tickrate to 500HZ
|
||||
scripts/config --disable HZ_300 \
|
||||
--enable HZ_600 \
|
||||
--set-val HZ 600
|
||||
elif [ "$_HZ_ticks" = "500" ]; 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
|
||||
### Optionally set tickrate to 300HZ
|
||||
scripts/config --disable HZ_300 \
|
||||
--enable HZ_500 \
|
||||
--set-val HZ 500
|
||||
elif [ "$_HZ_ticks" = "300" ]; then
|
||||
echo "Setting tick rate to 300Hz..."
|
||||
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
|
||||
scripts/config --disable CONFIG_AMD_NUMA
|
||||
scripts/config --disable CONFIG_X86_64_ACPI_NUMA
|
||||
scripts/config --disable CONFIG_NODES_SPAN_OTHER_NODES
|
||||
scripts/config --disable CONFIG_NUMA_EMU
|
||||
scripts/config --disable CONFIG_NEED_MULTIPLE_NODES
|
||||
scripts/config --disable CONFIG_USE_PERCPU_NUMA_NODE_ID
|
||||
scripts/config --disable CONFIG_ACPI_NUMA
|
||||
scripts/config --disable CONFIG_ARCH_SUPPORTS_NUMA_BALANCING
|
||||
scripts/config --disable CONFIG_NODES_SHIFT
|
||||
scripts/config --undefine CONFIG_NODES_SHIFT
|
||||
scripts/config --disable CONFIG_NEED_MULTIPLE_NODES
|
||||
scripts/config --disable NUMA \
|
||||
--disable AMD_NUMA \
|
||||
--disable X86_64_ACPI_NUMA \
|
||||
--disable NODES_SPAN_OTHER_NODES \
|
||||
--disable NUMA_EMU \
|
||||
--disable NEED_MULTIPLE_NODES \
|
||||
--disable USE_PERCPU_NUMA_NODE_ID \
|
||||
--disable ACPI_NUMA \
|
||||
--disable ARCH_SUPPORTS_NUMA_BALANCING \
|
||||
--disable NODES_SHIFT \
|
||||
--undefine NODES_SHIFT \
|
||||
--disable NEED_MULTIPLE_NODES
|
||||
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
|
||||
scripts/config --disable MQ_IOSCHED_DEADLINE
|
||||
fi
|
||||
|
||||
### Disable Kyber I/O scheduler
|
||||
if [ -n "$_kyber_disable" ]; then
|
||||
echo "Disabling Kyber I/O scheduler..."
|
||||
scripts/config --disable CONFIG_MQ_IOSCHED_KYBER
|
||||
scripts/config --disable MQ_IOSCHED_KYBER
|
||||
fi
|
||||
|
||||
### Set performance governor
|
||||
if [ -n "$_per_gov" ]; then
|
||||
echo "Setting performance governor..."
|
||||
scripts/config --disable CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL
|
||||
scripts/config --enable CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE
|
||||
echo "Set PCIEASPM DRIVER to performance..."
|
||||
scripts/config --enable CONFIG_PCIEASPM
|
||||
scripts/config --enable CONFIG_PCIEASPM_PERFORMANCE
|
||||
echo "Set CONFIG_PCIE_BUS for performance..."
|
||||
scripts/config --enable CONFIG_PCIE_BUS_PERFORMANCE
|
||||
fi
|
||||
scripts/config --disable CPU_FREQ_DEFAULT_GOV_SCHEDUTIL \
|
||||
--enable CPU_FREQ_DEFAULT_GOV_PERFORMANCE \
|
||||
--enable PCIEASPM \
|
||||
--enable PCIEASPM_PERFORMANCE \
|
||||
--enable PCIE_BUS_PERFORMANCE
|
||||
fi
|
||||
|
||||
### Selecting between tickless idle, perodic tics or full tickless
|
||||
if [ "$_tickrate" = "perodic" ]; then
|
||||
echo "Enabling periodic ticks..."
|
||||
scripts/config --disable CONFIG_NO_HZ_IDLE
|
||||
scripts/config --disable CONFIG_NO_HZ_FULL
|
||||
scripts/config --disable CONFIG_NO_HZ
|
||||
scripts/config --disable CONFIG_NO_HZ_COMMON
|
||||
scripts/config --enable CONFIG_HZ_PERIODIC
|
||||
scripts/config --disable NO_HZ_IDLE \
|
||||
--disable NO_HZ_FULL \
|
||||
--disable NO_HZ \
|
||||
--disable NO_HZ_COMMON \
|
||||
--enable HZ_PERIODIC
|
||||
elif [ "$_tickrate" = "idle" ]; then
|
||||
echo "Enabling tickless idle..."
|
||||
scripts/config --disable CONFIG_HZ_PERIODIC
|
||||
scripts/config --disable CONFIG_NO_HZ_FULL
|
||||
scripts/config --enable CONFIG_NO_HZ_IDLE
|
||||
scripts/config --enable CONFIG_NO_HZ
|
||||
scripts/config --enable CONFIG_NO_HZ_COMMON
|
||||
scripts/config --disable HZ_PERIODIC \
|
||||
--disable NO_HZ_FULL \
|
||||
--enable NO_HZ_IDLE \
|
||||
--enable NO_HZ \
|
||||
--enable NO_HZ_COMMON
|
||||
elif [ "$_tickrate" = "full" ]; then
|
||||
echo "Enabling tickless idle..."
|
||||
scripts/config --disable CONFIG_HZ_PERIODIC
|
||||
scripts/config --disable CONFIG_NO_HZ_IDLE
|
||||
scripts/config --disable CONFIG_CONTEXT_TRACKING_FORCE
|
||||
scripts/config --enable CONFIG_NO_HZ_FULL_NODEF
|
||||
scripts/config --enable CONFIG_NO_HZ_FULL
|
||||
scripts/config --enable CONFIG_NO_HZ
|
||||
scripts/config --enable CONFIG_NO_HZ_COMMON
|
||||
scripts/config --enable CONFIG_CONTEXT_TRACKING
|
||||
scripts/config --disable HZ_PERIODIC \
|
||||
--disable NO_HZ_IDLE \
|
||||
--disable CONTEXT_TRACKING_FORCE \
|
||||
--enable NO_HZ_FULL_NODEF \
|
||||
--enable NO_HZ_FULL \
|
||||
--enable NO_HZ \
|
||||
--enable NO_HZ_COMMON \
|
||||
--enable CONTEXT_TRACKING
|
||||
fi
|
||||
|
||||
### Selecting between preempt
|
||||
if [ "$_preempt" = "full" ]; then
|
||||
echo "Enabling low latency preempt..."
|
||||
scripts/config --enable CONFIG_PREEMPT_BUILD
|
||||
scripts/config --disable CONFIG_PREEMPT_NONE
|
||||
scripts/config --disable CONFIG_PREEMPT_VOLUNTARY
|
||||
scripts/config --enable CONFIG_PREEMPT
|
||||
scripts/config --enable CONFIG_PREEMPT_COUNT
|
||||
scripts/config --enable CONFIG_PREEMPTION
|
||||
scripts/config --enable CONFIG_PREEMPT_DYNAMIC
|
||||
scripts/config --enable PREEMPT_BUILD \
|
||||
--disable PREEMPT_NONE \
|
||||
--disable PREEMPT_VOLUNTARY \
|
||||
--enable PREEMPT \
|
||||
--enable PREEMPT_COUNT \
|
||||
--enable PREEMPTION \
|
||||
--enable PREEMPT_DYNAMIC
|
||||
elif [ "$_preempt" = "voluntary" ]; then
|
||||
echo "Enabling tickless idle..."
|
||||
scripts/config --enable CONFIG_PREEMPT_BUILD
|
||||
scripts/config --disable CONFIG_PREEMPT_NONE
|
||||
scripts/config --enable CONFIG_PREEMPT_VOLUNTARY
|
||||
scripts/config --disable CONFIG_PREEMPT
|
||||
scripts/config --enable CONFIG_PREEMPT_COUNT
|
||||
scripts/config --enable CONFIG_PREEMPTION
|
||||
scripts/config --enable CONFIG_PREEMPT_DYNAMIC
|
||||
scripts/config --enable PREEMPT_BUILD \
|
||||
--disable PREEMPT_NONE \
|
||||
--enable PREEMPT_VOLUNTARY \
|
||||
--disable PREEMPT \
|
||||
--enable PREEMPT_COUNT \
|
||||
--enable PREEMPTION \
|
||||
--enable PREEMPT_DYNAMIC
|
||||
elif [ "$_tickrate" = "server" ]; then
|
||||
echo "Enabling tickless idle..."
|
||||
scripts/config --enable CONFIG_PREEMPT_NONE_BUILD
|
||||
scripts/config --enable CONFIG_PREEMPT_NONE
|
||||
scripts/config --disable CONFIG_PREEMPT_VOLUNTARY
|
||||
scripts/config --disable CONFIG_PREEMPT
|
||||
scripts/config --disable CONFIG_PREEMPT_COUNT
|
||||
scripts/config --disable CONFIG_PREEMPTION
|
||||
scripts/config --disable CONFIG_PREEMPT_DYNAMIC
|
||||
scripts/config --enable PREEMPT_NONE_BUILD \
|
||||
--enable PREEMPT_NONE \
|
||||
--disable PREEMPT_VOLUNTARY \
|
||||
--disable PREEMPT \
|
||||
--disable PREEMPT_COUNT \
|
||||
--disable PREEMPTION \
|
||||
--disable PREEMPT_DYNAMIC
|
||||
fi
|
||||
|
||||
### Enable KBUILD_CFLAGS -O3
|
||||
if [ -n "$_cc_harder" ]; then
|
||||
echo "Enabling KBUILD_CFLAGS -O3..."
|
||||
scripts/config --disable CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE
|
||||
scripts/config --enable CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE_O3
|
||||
scripts/config --disable CC_OPTIMIZE_FOR_PERFORMANCE \
|
||||
--enable CC_OPTIMIZE_FOR_PERFORMANCE_O3
|
||||
fi
|
||||
|
||||
### Enable TCP_CONG_BBR2
|
||||
if [ -n "$_tcp_bbr2" ]; then
|
||||
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
|
||||
scripts/config --module TCP_CONG_CUBIC \
|
||||
--disable DEFAULT_CUBIC \
|
||||
--enable TCP_CONG_BBR2 \
|
||||
--enable DEFAULT_BBR2 \
|
||||
--set-str DEFAULT_TCP_CONG bbr2
|
||||
fi
|
||||
|
||||
### Enable FULLCONENAT
|
||||
if [ -n "$_nf_cone" ]; then
|
||||
echo "Enabling FULLCONENAT..."
|
||||
scripts/config --module CONFIG_IP_NF_TARGET_FULLCONENAT
|
||||
scripts/config --module CONFIG_NETFILTER_XT_TARGET_FULLCONENAT
|
||||
scripts/config --module IP_NF_TARGET_FULLCONENAT \
|
||||
--module NETFILTER_XT_TARGET_FULLCONENAT
|
||||
fi
|
||||
|
||||
### Enable SPF
|
||||
if [ -n "$_spf_enable" ]; then
|
||||
echo "Enabling SPECULATIVE_PAGE_FAULT LRU..."
|
||||
scripts/config --enable CONFIG_SPECULATIVE_PAGE_FAULT
|
||||
scripts/config --enable SPECULATIVE_PAGE_FAULT
|
||||
fi
|
||||
|
||||
### Enable multigenerational LRU
|
||||
if [ -n "$_lru_enable" ]; then
|
||||
echo "Enabling multigenerational LRU..."
|
||||
scripts/config --enable CONFIG_ARCH_HAS_NONLEAF_PMD_YOUNG
|
||||
scripts/config --enable CONFIG_LRU_GEN
|
||||
scripts/config --enable CONFIG_LRU_GEN_ENABLED
|
||||
scripts/config --disable CONFIG_LRU_GEN_STATS
|
||||
scripts/config --enable ARCH_HAS_NONLEAF_PMD_YOUNG \
|
||||
--enable LRU_GEN \
|
||||
--enable LRU_GEN_ENABLED \
|
||||
--disable LRU_GEN_STATS
|
||||
fi
|
||||
|
||||
### Enable DAMON
|
||||
if [ -n "$_damon" ]; then
|
||||
echo "Enabling DAMON..."
|
||||
scripts/config --enable CONFIG_DAMON
|
||||
scripts/config --disable CONFIG_DAMON_VADDR
|
||||
scripts/config --disable CONFIG_DAMON_DBGFS
|
||||
scripts/config --enable CONFIG_DAMON_PADDR
|
||||
scripts/config --enable CONFIG_DAMON_RECLAIM
|
||||
scripts/config --enable DAMON \
|
||||
--disable DAMON_VADDR \
|
||||
--disable DAMON_DBGFS \
|
||||
--enable DAMON_PADDR \
|
||||
--enable DAMON_RECLAIM
|
||||
fi
|
||||
|
||||
### Enable Linux Random Number Generator
|
||||
if [ -n "$_lrng_enable" ]; then
|
||||
echo "Enabling Linux Random Number Generator ..."
|
||||
scripts/config --disable CONFIG_RANDOM_DEFAULT_IMPL
|
||||
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_IRQ
|
||||
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 --enable CONFIG_LRNG_CPU
|
||||
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 --disable CONFIG_LRNG_TEST_CPU_ES_COMPRESSION
|
||||
scripts/config --enable CONFIG_LRNG_SELFTEST
|
||||
scripts/config --disable CONFIG_LRNG_SELFTEST_PANIC
|
||||
scripts/config --disable RANDOM_DEFAULT_IMPL \
|
||||
--enable LRNG \
|
||||
--enable LRNG_OVERSAMPLE_ENTROPY_SOURCES \
|
||||
--set-val LRNG_OVERSAMPLE_ES_BITS 64 \
|
||||
--set-val LRNG_SEED_BUFFER_INIT_ADD_BITS 128 \
|
||||
--enable LRNG_IRQ \
|
||||
--enable LRNG_CONTINUOUS_COMPRESSION_ENABLED \
|
||||
--disable LRNG_CONTINUOUS_COMPRESSION_DISABLED \
|
||||
--enable LRNG_ENABLE_CONTINUOUS_COMPRESSION \
|
||||
--enable LRNG_SWITCHABLE_CONTINUOUS_COMPRESSION \
|
||||
--disable LRNG_COLLECTION_SIZE_512 \
|
||||
--enable LRNG_COLLECTION_SIZE_1024 \
|
||||
--disable LRNG_COLLECTION_SIZE_2048 \
|
||||
--disable LRNG_COLLECTION_SIZE_4096 \
|
||||
--disable LRNG_COLLECTION_SIZE_8192 \
|
||||
--set-val LRNG_COLLECTION_SIZE 1024 \
|
||||
--enable LRNG_HEALTH_TESTS \
|
||||
--set-val LRNG_RCT_CUTOFF 31 \
|
||||
--set-val LRNG_APT_CUTOFF 325 \
|
||||
--set-val LRNG_IRQ_ENTROPY_RATE 256 \
|
||||
--enable LRNG_JENT \
|
||||
--set-val LRNG_JENT_ENTROPY_RATE 16 \
|
||||
--enable LRNG_CPU \
|
||||
--set-val LRNG_CPU_ENTROPY_RATE 8 \
|
||||
--enable LRNG_DRNG_SWITCH \
|
||||
--enable LRNG_KCAPI_HASH \
|
||||
--module LRNG_DRBG \
|
||||
--module LRNG_KCAPI \
|
||||
--enable LRNG_TESTING_MENU \
|
||||
--disable LRNG_RAW_HIRES_ENTROPY \
|
||||
--disable LRNG_RAW_JIFFIES_ENTROPY \
|
||||
--disable LRNG_RAW_IRQ_ENTROPY \
|
||||
--disable LRNG_RAW_IRQFLAGS_ENTROPY \
|
||||
--disable LRNG_RAW_RETIP_ENTROPY \
|
||||
--disable LRNG_RAW_REGS_ENTROPY \
|
||||
--disable LRNG_RAW_ARRAY \
|
||||
--disable LRNG_IRQ_PERF \
|
||||
--disable LRNG_ACVT_HASH \
|
||||
--enable LRNG_RUNTIME_ES_CONFIG \
|
||||
--disable LRNG_RUNTIME_MAX_WO_RESEED_CONFIG \
|
||||
--disable LRNG_TEST_CPU_ES_COMPRESSION \
|
||||
--enable LRNG_SELFTEST \
|
||||
--disable LRNG_SELFTEST_PANIC
|
||||
fi
|
||||
|
||||
### Enable zram/zswap ZSTD compression
|
||||
if [ -n "$_zstd_swap_compression" ]; then
|
||||
echo "Enabling zram ZSTD compression..."
|
||||
scripts/config --disable CONFIG_ZRAM_DEF_COMP_LZORLE
|
||||
scripts/config --enable CONFIG_ZRAM_DEF_COMP_ZSTD
|
||||
scripts/config --set-str CONFIG_ZRAM_DEF_COMP zstd
|
||||
echo "Enabling zswap ZSTD compression..."
|
||||
scripts/config --disable CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4
|
||||
scripts/config --enable CONFIG_ZSWAP_COMPRESSOR_DEFAULT_ZSTD
|
||||
scripts/config --set-str CONFIG_ZSWAP_COMPRESSOR_DEFAULT zstd
|
||||
scripts/config --disable ZRAM_DEF_COMP_LZORLE \
|
||||
--enable ZRAM_DEF_COMP_ZSTD \
|
||||
--set-str ZRAM_DEF_COMP zstd \
|
||||
--disable ZSWAP_COMPRESSOR_DEFAULT_LZ4 \
|
||||
--enable ZSWAP_COMPRESSOR_DEFAULT_ZSTD \
|
||||
--set-str ZSWAP_COMPRESSOR_DEFAULT zstd
|
||||
fi
|
||||
|
||||
## Enable Anbox Support
|
||||
if [ -n "$_anbox" ]; then
|
||||
echo "Enable Anbox..."
|
||||
scripts/config --enable CONFIG_ASHMEM
|
||||
scripts/config --enable CONFIG_ANDROID
|
||||
scripts/config --enable CONFIG_ANDROID_BINDER_IPC
|
||||
scripts/config --enable CONFIG_ANDROID_BINDERFS
|
||||
scripts/config --enable CONFIG_ANDROID_BINDER_DEVICES="binder,hwbinder,vndbinder"
|
||||
scripts/config --enable ASHMEM \
|
||||
--enable ANDROID \
|
||||
--enable ANDROID_BINDER_IPC \
|
||||
--enable ANDROID_BINDERFS \
|
||||
--enable ANDROID_BINDER_DEVICES="binder,hwbinder,vndbinder"
|
||||
fi
|
||||
|
||||
echo "disable debugging features to reduce the size..."
|
||||
scripts/config --disable CONFIG_DEBUG_INFO
|
||||
scripts/config --disable CONFIG_CGROUP_BPF
|
||||
scripts/config --disable CONFIG_BPF_LSM
|
||||
scripts/config --disable CONFIG_BPF_PRELOAD
|
||||
scripts/config --disable CONFIG_BPF_LIRC_MODE2
|
||||
scripts/config --disable CONFIG_BPF_KPROBE_OVERRIDE
|
||||
scripts/config --enable CONFIG_PSI_DEFAULT_DISABLED
|
||||
scripts/config --disable CONFIG_LATENCYTOP
|
||||
scripts/config --disable CONFIG_SCHED_DEBUG
|
||||
scripts/config --disable CONFIG_KVM_WERROR
|
||||
scripts/config --enable ACPI_REV_OVERRIDE_POSSIBLE \
|
||||
--enable ACPI_TABLE_UPGRADE
|
||||
|
||||
echo "Enable CONFIG_USER_NS_UNPRIVILEGED"
|
||||
scripts/config --enable CONFIG_USER_NS
|
||||
# General architecture-dependent options
|
||||
scripts/config --enable KPROBES
|
||||
|
||||
# Enable loadable module support
|
||||
scripts/config --undefine MODULE_SIG_FORCE \
|
||||
--enable MODULE_COMPRESS_ZSTD
|
||||
|
||||
# Networking support
|
||||
scripts/config --enable NETFILTER_INGRESS
|
||||
|
||||
# Device Drivers
|
||||
scripts/config --enable FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER \
|
||||
--enable DELL_SMBIOS_SMM \
|
||||
--module PATA_JMICRON \
|
||||
--enable-after SOUND SOUND_OSS_CORE \
|
||||
--enable SND_OSSEMUL \
|
||||
--module-after SND_OSSEMUL SND_MIXER_OSS \
|
||||
--module-after SND_MIXER_OSS SND_PCM_OSS \
|
||||
--enable-after SND_PCM_OSS SND_PCM_OSS_PLUGINS \
|
||||
--module AGP --module-after AGP AGP_INTEL --module-after AGP_INTEL AGP_VIA \
|
||||
--enable FW_LOADER_COMPRESS
|
||||
|
||||
# Kernel hacking -> Compile-time checks and compiler options -> Make section mismatch errors non-fatal
|
||||
scripts/config --enable SECTION_MISMATCH_WARN_ONLY
|
||||
|
||||
# File systems
|
||||
scripts/config --module NTFS3_FS \
|
||||
--enable NTFS3_LZX_XPRESS \
|
||||
--enable NTFS3_FS_POSIX_ACL
|
||||
|
||||
scripts/config --module SMB_SERVER \
|
||||
--enable SMB_SERVER_SMBDIRECT \
|
||||
--enable SMB_SERVER_CHECK_CAP_NET_ADMIN \
|
||||
--enable SMB_SERVER_KERBEROS5
|
||||
|
||||
# Security options
|
||||
scripts/config --enable SECURITY_SELINUX \
|
||||
--enable SECURITY_SELINUX_BOOTPARAM \
|
||||
--enable SECURITY_SMACK \
|
||||
--enable SECURITY_SMACK_BRINGUP \
|
||||
--enable SECURITY_SMACK_NETFILTER \
|
||||
--enable SECURITY_SMACK_APPEND_SIGNALS \
|
||||
--enable SECURITY_TOMOYO \
|
||||
--enable SECURITY_APPARMOR \
|
||||
--enable SECURITY_YAMA
|
||||
|
||||
scripts/config --disable DEBUG_INFO \
|
||||
--disable DEBUG_INFO_BTF \
|
||||
--disable DEBUG_INFO_DWARF4 \
|
||||
--disable PAHOLE_HAS_SPLIT_BTF \
|
||||
--disable DEBUG_INFO_BTF_MODULES
|
||||
|
||||
echo "Enable USER_NS_UNPRIVILEGED"
|
||||
scripts/config --enable USER_NS
|
||||
|
||||
echo "Enable WINE FASTSYNC"
|
||||
scripts/config --enable CONFIG_WINESYNC
|
||||
scripts/config --enable WINESYNC
|
||||
|
||||
### Optionally use running kernel's config
|
||||
# code originally by nous; http://aur.archlinux.org/packages.php?ID=40191
|
||||
@ -571,7 +576,7 @@ prepare() {
|
||||
# modprobe configs
|
||||
zcat /proc/config.gz > ./.config
|
||||
else
|
||||
warning "Your kernel was not compiled with IKCONFIG_PROC!"
|
||||
warning "Your kernel was not compiled with IKPROC!"
|
||||
warning "You cannot read the current config!"
|
||||
warning "Aborting!"
|
||||
exit
|
||||
@ -594,7 +599,6 @@ prepare() {
|
||||
|
||||
|
||||
echo "Applying default config..."
|
||||
|
||||
make ${BUILD_FLAGS[*]} olddefconfig
|
||||
make ${BUILD_FLAGS[*]} -s kernelrelease > version
|
||||
echo "Prepared $pkgbase version $(<version)"
|
||||
@ -621,19 +625,20 @@ _package() {
|
||||
provides=(VIRTUALBOX-GUEST-MODULES WIREGUARD-MODULE KSMBD-MODULE)
|
||||
|
||||
cd $_srcname
|
||||
|
||||
local kernver="$(<version)"
|
||||
local modulesdir="$pkgdir/usr/lib/modules/$kernver"
|
||||
|
||||
echo "Installing boot image..."
|
||||
# systemd expects to find the kernel here to allow hibernation
|
||||
# https://github.com/systemd/systemd/commit/edda44605f06a41fb86b7ab8128dcf99161d2344
|
||||
install -Dm644 "$(make ${BUILD_FLAGS[*]} -s image_name)" "$modulesdir/vmlinuz"
|
||||
install -Dm644 "$(make -s image_name)" "$modulesdir/vmlinuz"
|
||||
|
||||
# Used by mkinitcpio to name the kernel
|
||||
echo "$pkgbase" | install -Dm644 /dev/stdin "$modulesdir/pkgbase"
|
||||
|
||||
echo "Installing modules..."
|
||||
make ${BUILD_FLAGS[*]} INSTALL_MOD_PATH="$pkgdir/usr" INSTALL_MOD_STRIP=1 \
|
||||
make INSTALL_MOD_PATH="$pkgdir/usr" INSTALL_MOD_STRIP=1 \
|
||||
DEPMOD=/doesnt/exist modules_install # Suppress depmod
|
||||
|
||||
# remove build and source links
|
||||
@ -644,7 +649,7 @@ _package-headers() {
|
||||
pkgdesc="Headers and scripts for building modules for the $pkgdesc kernel"
|
||||
depends=(pahole)
|
||||
|
||||
cd $_srcname
|
||||
cd ${_srcname}
|
||||
local builddir="$pkgdir/usr/lib/modules/$(<version)/build"
|
||||
|
||||
echo "Installing build files..."
|
||||
@ -657,8 +662,10 @@ _package-headers() {
|
||||
# required when STACK_VALIDATION is enabled
|
||||
install -Dt "$builddir/tools/objtool" tools/objtool/objtool
|
||||
|
||||
# required when DEBUG_INFO_BTF_MODULES is enabled
|
||||
# install -Dt "$builddir/tools/bpf/resolve_btfids" tools/bpf/resolve_btfids/resolve_btfids
|
||||
# # required when DEBUG_INFO_BTF_MODULES is enabled
|
||||
# if [ -f tools/bpf/resolve_btfids/resolve_btfids ]; then
|
||||
# install -Dt "$builddir/tools/bpf/resolve_btfids" tools/bpf/resolve_btfids/resolve_btfids
|
||||
# fi
|
||||
|
||||
echo "Installing headers..."
|
||||
cp -t "$builddir" -a include
|
||||
@ -714,14 +721,12 @@ _package-headers() {
|
||||
esac
|
||||
done < <(find "$builddir" -type f -perm -u+x ! -name vmlinux -print0)
|
||||
|
||||
# echo "Stripping vmlinux..."
|
||||
# strip -v $STRIP_STATIC "$builddir/vmlinux"
|
||||
# not needed since not building with CONFIG_DEBUG_INFO=y
|
||||
echo "Stripping vmlinux..."
|
||||
strip -v $STRIP_STATIC "$builddir/vmlinux"
|
||||
|
||||
echo "Adding symlink..."
|
||||
mkdir -p "$pkgdir/usr/src"
|
||||
ln -sr "$builddir" "$pkgdir/usr/src/$pkgbase"
|
||||
|
||||
}
|
||||
|
||||
pkgname=("$pkgbase" "$pkgbase-headers")
|
||||
@ -733,11 +738,11 @@ for _p in "${pkgname[@]}"; do
|
||||
done
|
||||
|
||||
sha256sums=('64ccf18380be5b5491322a3fd54904538b544e523e4bf86289dd8df7404cb10c'
|
||||
'29c5dd2ae6b452b75b25816a8f6610fa2ff54f21b22a0ccef5c2e98a7077eb36'
|
||||
'bce05218cb52e8f70fd0e652483d0413cf3d3f8bcbe0302bfb2d2f195ea6ef7c'
|
||||
'09aa0e17190ee113a352573b2d2386cc04b522641fd277306e8ace9fd7af0037'
|
||||
'ddaf45cc72ed743f70c8754505357e94d6dd4133bfde6e9c6afc59f4cc12ee69'
|
||||
'6b31e4655e5ff9dbe95fb7db665426dad2bf3e33b5102d040a256f707cc99a23'
|
||||
'c222aa0b958c16db5f840f6d6890257319bfc8c1d26e39322ab0dfebf635ce49'
|
||||
'7936c3cc3c7be010539414b392f942664f95d9659a44c614a2e57c5c72cdacbf'
|
||||
'ef7d6253dc8a149ffea1293f65ef43fe9277ba6a629bc54d656f594429813b5e'
|
||||
'ab87b51fcacd9c7c5bf5d363ac45dab994c2c53d0e80e552390c7cbf752d7dca'
|
||||
'748d5b112d10870ce214c5fab1cc793492416faab73637e95c0a1b877b2574b7'
|
||||
|
Loading…
Reference in New Issue
Block a user