From 0d590e3b22262bde2f70a145ca7a6e215efdec1e Mon Sep 17 00:00:00 2001 From: Peter Jung Date: Wed, 11 May 2022 15:25:37 +0200 Subject: [PATCH] 5.17.6-4 --- .SRCINFO | 12 +- PKGBUILD | 519 ++--- config | 5682 +++++++++++++++++++++--------------------------------- 3 files changed, 2508 insertions(+), 3705 deletions(-) diff --git a/.SRCINFO b/.SRCINFO index d5594dd..37000cd 100755 --- a/.SRCINFO +++ b/.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 diff --git a/PKGBUILD b/PKGBUILD index 45cca97..4cae642 100644 --- a/PKGBUILD +++ b/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 $(