From b1649c8dd8907ec247057f77f00211ee799b4bc1 Mon Sep 17 00:00:00 2001 From: Peter Jung Date: Mon, 9 May 2022 10:28:34 +0200 Subject: [PATCH] 5.17.6-1 --- .SRCINFO | 36 +- PKGBUILD | 1025 ++++++++++++++++++++++++++++-------------------------- 2 files changed, 545 insertions(+), 516 deletions(-) diff --git a/.SRCINFO b/.SRCINFO index 053fba9..d5594dd 100755 --- a/.SRCINFO +++ b/.SRCINFO @@ -1,6 +1,6 @@ pkgbase = linux-cachyos pkgdesc = Linux CFS scheduler Kernel by CachyOS with other patches and improvements - pkgver = 5.17.5 + pkgver = 5.17.6 pkgrel = 1 url = https://github.com/CachyOS/linux-cachyos arch = x86_64 @@ -24,7 +24,7 @@ pkgbase = linux-cachyos makedepends = make makedepends = patch options = !strip - source = https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.17.5.tar.xz + source = https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.17.6.tar.xz source = config source = https://raw.githubusercontent.com/ptr1337/kernel-patches/master/5.17/0001-arch.patch source = https://raw.githubusercontent.com/ptr1337/kernel-patches/master/5.17/0002-anbox.patch @@ -42,23 +42,23 @@ pkgbase = linux-cachyos source = https://raw.githubusercontent.com/ptr1337/kernel-patches/master/5.17/0014-ck-hrtimer.patch source = https://raw.githubusercontent.com/ptr1337/kernel-patches/master/5.17/0015-futex-winesync.patch source = auto-cpu-optimization.sh - sha256sums = 9bbcd185b94436f9c8fe977fa0e862f60d34003562327fcebb27c9fa342fe987 + sha256sums = 64ccf18380be5b5491322a3fd54904538b544e523e4bf86289dd8df7404cb10c sha256sums = 29c5dd2ae6b452b75b25816a8f6610fa2ff54f21b22a0ccef5c2e98a7077eb36 - sha256sums = ba45fa1a0de3d0c813358e381f5fe1105afd730fbcd8c9ba451b115448f7aa5b - sha256sums = b0cfdc9867119d36cf2deaaa8efffca165fcf1a48c7fd5a28a2b2ec7c5026421 - sha256sums = 0d4b9c288727e6e4c44ba53990538cf118d5a432e612e9060534ab077427848a - sha256sums = 8ec8d66e06a1b5ca6a5ddf59a793b8af01d0e5ce4c5168e30b0b95aceb89dafb - sha256sums = e71f3a80e83ff2a31cdc7533f1dcd4f4832f233346668fc5c86f60ec6d20a47e - sha256sums = fcef8eb5b5d7f7dbc32fdc20d3b6764ec352b33079d96f9fd583d0f7094a1542 - sha256sums = d089a0a3063b5fbccf7175e89ebc648c19a3d9eb74cb457d4685ca5cab092628 - sha256sums = d94002f53ee9cdad412fc6f2c487cea97143a7b880335b2847d4acc2b6f4b823 - sha256sums = 290f75b6ce492c32c17f3c1a0fea7b2aa7228ceb91acb274922ea0fa9c768af0 - sha256sums = 4375a07806c57819cadb5c91ba15169baacdda5a44425da4ac1e2d517c483a88 - sha256sums = 40500b27dc527563de24f029641bb108b829987dcbf7e441c299b3a1efc275ff - sha256sums = ed3053a8bd1d4b855ef6ed3b0dd456cef15e38061dbb834624d62486c875b1c8 - sha256sums = 71b5ea3baa39520b5687a1b5265b722f2240590eb9d11336e7b145db7f1e9c62 - sha256sums = f1fab7056f9f62b8c967bbd7d678adfc9ab20802c78d9aa9355cf6869ac699fc - sha256sums = 71e4b1f30c50a947bbf11167e00aaadcd97d3d5d4b06dce94b4f72cd3e776117 + sha256sums = 09aa0e17190ee113a352573b2d2386cc04b522641fd277306e8ace9fd7af0037 + sha256sums = ddaf45cc72ed743f70c8754505357e94d6dd4133bfde6e9c6afc59f4cc12ee69 + sha256sums = 6b31e4655e5ff9dbe95fb7db665426dad2bf3e33b5102d040a256f707cc99a23 + sha256sums = c222aa0b958c16db5f840f6d6890257319bfc8c1d26e39322ab0dfebf635ce49 + sha256sums = ef7d6253dc8a149ffea1293f65ef43fe9277ba6a629bc54d656f594429813b5e + sha256sums = ab87b51fcacd9c7c5bf5d363ac45dab994c2c53d0e80e552390c7cbf752d7dca + sha256sums = 748d5b112d10870ce214c5fab1cc793492416faab73637e95c0a1b877b2574b7 + sha256sums = 9625dd5a95a07ea94ea903a1bd7100ff2037c31d72c68ec43b9b6435a8f6dbf6 + sha256sums = b834d558c412add87fec0fc0ce117674216c1b8717f48eaf8134ac64249ba8b3 + sha256sums = 9c2c0ccee49c17663f27dcdf43cfa02cd45ee15d53ff1a05da7e683098abdde1 + sha256sums = 1b2dd9147b7443a42ec49e9d1bf01d1209bfcbe625e686e90f0276abb3ed52ec + sha256sums = 0e5177f086ddcac9b0e6596d29588c0730cce5c827e4c51e57f835a32f25ee85 + sha256sums = 761abc5bd65c194b6b810af1022df5888ce0ecbe70ffe4cd67e6e0c748fb78a2 + sha256sums = 07e34ca2f03d96837166ff4764503a76ff6f499107716455073e5e081b40a146 + sha256sums = 179b540f8848b03ccb1a0d12e24feab63fd0576b5e9eed8f214d6e9cb790f151 sha256sums = 65ec9ac5b8b28d5b61df1c72498059be2e7cb1f9b965bac0e4ffed3c05520b2b pkgname = linux-cachyos diff --git a/PKGBUILD b/PKGBUILD index 2ba4340..45cca97 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -56,15 +56,15 @@ _per_gov=y _tcp_bbr2=y ### Running with a 1000HZ, 750Hz, 600 Hz or 500Hz tick rate -_1k_HZ_ticks= -_750_HZ_ticks=y -_600_HZ_ticks= -_500_HZ_ticks= +_HZ_ticks=750 -##รค Choose between perodic, tickless idle or full tickless -### Full tickless can give higher performances in various cases but, depending on hardware, lower consistency. Just tickless idle can perform better on some platforms (mostly AMD based). +## Choose between perodic, tickless idle or full tickless +### Full tickless can give higher performances in various cases but, depending on hardware, lower consistency. _tickrate=full +## Choose between full(low-latency), voluntary or server +_preempt=voluntary + ### Disable MQ-Deadline I/O scheduler _mq_deadline_disable=y @@ -74,12 +74,13 @@ _kyber_disable=y ### Enable multigenerational LRU _lru_enable=y -### Enable DAMON +## Enable DAMON _damon=y +## enable SPECULATIVE_PAGE_FAULT _spf_enable=y -### Enable Linux Random Number Generator +## Enable Linux Random Number Generator _lrng_enable=y ## Apply Kernel automatic Optimization @@ -105,12 +106,12 @@ _thin_lto_cachedir= _use_cfi= if [ -n "$_use_llvm_lto" ]; then - pkgbase=linux-cachyos-lto + pkgbase=linux-cachyos-lto else - pkgbase=linux-cachyos + pkgbase=linux-cachyos fi _major=5.17 -_minor=5 +_minor=6 #_minorc=$((_minor+1)) #_rcver=rc8 pkgver=${_major}.${_minor} @@ -128,61 +129,59 @@ 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 - ) + depends+=(clang llvm lld python) + BUILD_FLAGS=( + CC=clang + LD=ld.lld + LLVM=1 + LLVM_IAS=1 + ) fi _patchsource="https://raw.githubusercontent.com/ptr1337/kernel-patches/master/${_major}" source=( - "https://cdn.kernel.org/pub/linux/kernel/v${pkgver%%.*}.x/${_srcname}.tar.xz" - "config" + "https://cdn.kernel.org/pub/linux/kernel/v${pkgver%%.*}.x/${_srcname}.tar.xz" + "config" ) if [ "$_cpusched" = "bmq" ]; then - source+=("${_patchsource}/sched/0001-prjc.patch") + source+=("${_patchsource}/sched/0001-prjc.patch") fi if [ "$_cpusched" = "pds" ]; then - source+=("${_patchsource}/sched/0001-prjc.patch") + source+=("${_patchsource}/sched/0001-prjc.patch") fi if [ "$_cpusched" = "cacule" ]; then - source+=("${_patchsource}/sched/0001-cacULE.patch") + source+=("${_patchsource}/sched/0001-cacULE.patch") fi if [ "$_cpusched" = "cacule-rdb" ]; then - source+=("${_patchsource}/sched/0001-cacULE.patch") + source+=("${_patchsource}/sched/0001-cacULE.patch") fi if [ "$_cpusched" = "tt" ]; then - source+=("${_patchsource}/sched/0001-tt.patch") + source+=("${_patchsource}/sched/0001-tt.patch") fi if [ "$_cpusched" = "bore" ]; then - source+=("${_patchsource}/sched/0001-bore-sched.patch") + source+=("${_patchsource}/sched/0001-bore-sched.patch") fi source+=( - "${_patchsource}/0001-arch.patch" - "${_patchsource}/0002-anbox.patch" - "${_patchsource}/0003-bbr2.patch" - "${_patchsource}/0004-cachy.patch" - "${_patchsource}/0005-clearlinux.patch" - "${_patchsource}/0006-cpu.patch" - "${_patchsource}/0007-fixes-miscellaneous.patch" - "${_patchsource}/0008-fs-patches.patch" - "${_patchsource}/0009-hwmon.patch" - "${_patchsource}/0010-lru-le9.patch" - "${_patchsource}/0011-spf-lru.patch" - "${_patchsource}/0012-xanmod.patch" - "${_patchsource}/0013-lrng.patch" - "${_patchsource}/0014-ck-hrtimer.patch" - "${_patchsource}/0015-futex-winesync.patch" -# "${_patchsource}/0017-FG-KASLR.patch" -# "${_patchsource}/0018-zstd-dev.patch" # Don't use them without custom mkinitcpio - "auto-cpu-optimization.sh" + "${_patchsource}/0001-arch.patch" + "${_patchsource}/0002-anbox.patch" + "${_patchsource}/0003-bbr2.patch" + "${_patchsource}/0004-cachy.patch" + "${_patchsource}/0005-clearlinux.patch" + "${_patchsource}/0006-cpu.patch" + "${_patchsource}/0007-fixes-miscellaneous.patch" + "${_patchsource}/0008-fs-patches.patch" + "${_patchsource}/0009-hwmon.patch" + "${_patchsource}/0010-lru-le9.patch" + "${_patchsource}/0011-spf-lru.patch" + "${_patchsource}/0012-xanmod.patch" + "${_patchsource}/0013-lrng.patch" + "${_patchsource}/0014-ck-hrtimer.patch" + "${_patchsource}/0015-futex-winesync.patch" + "auto-cpu-optimization.sh" ) if [ -n "$_thin_lto_cachedir" ] && [ "$_use_llvm_lto" = "thin" ]; then -source+=( - "${_patchsource}/0016-thinlto-cache-dir.patch" -) + source+=( + "${_patchsource}/0016-thinlto-cachedir.patch" + ) fi export KBUILD_BUILD_HOST=archlinux @@ -191,533 +190,563 @@ export KBUILD_BUILD_TIMESTAMP="$(date -Ru${SOURCE_DATE_EPOCH:+d @$SOURCE_DATE_EP prepare() { - cd $_srcname + cd $_srcname - ### Setting version - echo "Setting version..." - scripts/setlocalversion --save-scmversion - echo "-$pkgrel" > localversion.10-pkgrel - echo "${pkgbase#linux}" > localversion.20-pkgname + ### 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%%::*}" - src="${src##*/}" - [[ $src = *.patch ]] || continue - echo "Applying patch $src..." - patch -Np1 < "../$src" - done + ### Patching sources + local src + for src in "${source[@]}"; do + src="${src%%::*}" + src="${src##*/}" + [[ $src = *.patch ]] || continue + echo "Applying patch $src..." + patch -Np1 < "../$src" + done - ### Setting config - echo "Setting config..." - cp ../config .config + ### Setting config + echo "Setting config..." + cp ../config .config - ### 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 - - ### 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 - 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 - elif [ "$_cpusched" = "cacule" ]; then - echo "Selecting CacULE scheduler..." - scripts/config --enable CONFIG_CACULE_SCHED - scripts/config --disable CONFIG_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 - elif [ "$_cpusched" = "tt" ]; then - echo "Enable TT CPU scheduler..." - scripts/config --enable CONFIG_TT_SCHED - scripts/config --enable CONFIG_TT_ACCOUNTING_STATS - elif [ "$_cpusched" = "bore" ]; then - echo "Selecting BORE Scheduler..." - scripts/config --enable CONFIG_SCHED_BORE - elif [ "$_cpusched" = "cfs" ]; then - echo "Selecting Completely Fair Scheduler..." - else - if [ -n "$_cpusched" ]; then - error "The value $_cpusched is invalid. Choose the correct one again." - else - error "The value is empty. Choose the correct one again." + ### Microarchitecture Optimization (GCC/CLANG) + if [ -n "$_use_auto_optimization" ]; then + "${srcdir}"/auto-cpu-optimization.sh fi - error "Selecting the CPU scheduler failed!" - 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_optimization_select" ]; then + source "${startdir}"/configure + cpu_arch + 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 - 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 - else - scripts/config --enable CONFIG_LTO_NONE - fi + ### 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 + 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 + elif [ "$_cpusched" = "cacule" ]; then + echo "Selecting CacULE scheduler..." + scripts/config --enable CONFIG_CACULE_SCHED + scripts/config --disable CONFIG_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 + elif [ "$_cpusched" = "tt" ]; then + echo "Enable TT CPU scheduler..." + scripts/config --enable CONFIG_TT_SCHED + scripts/config --enable CONFIG_TT_ACCOUNTING_STATS + elif [ "$_cpusched" = "bore" ]; then + echo "Selecting BORE Scheduler..." + scripts/config --enable CONFIG_SCHED_BORE + elif [ "$_cpusched" = "cfs" ]; then + echo "Selecting Completely Fair Scheduler..." + else + if [ -n "$_cpusched" ]; then + error "The value $_cpusched is invalid. Choose the correct one again." + else + error "The value is empty. Choose the correct one again." + fi + error "Selecting the CPU scheduler failed!" + exit + fi - ### Optionally set tickrate to 1000Hz - if [ -n "$_1k_HZ_ticks" ]; 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 - 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 - ### 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 + ### 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 + 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 + else + scripts/config --enable CONFIG_LTO_NONE + fi - ### Optionally set tickrate to 600HZ - if [ -n "$_600_HZ_ticks" ]; 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 - 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 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 + 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 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 - fi + ### Optionally set tickrate to 600HZ + 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 - ### 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 + ### Optionally set tickrate to 500HZ + 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 + elif [ "$_HZ_ticks" = "300" ]; then + echo "Setting tick rate to 300Hz..." + 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 + ### 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 + 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 + ### 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 - ### 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 - 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 - 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 - 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 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 - 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 - ### 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 - 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 + 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 + 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 + 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 - 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 + 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 + 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 + fi - ### Enable SPF - if [ -n "$_spf_enable" ]; then - echo "Enabling SPECULATIVE_PAGE_FAULT LRU..." - scripts/config --enable CONFIG_SPECULATIVE_PAGE_FAULT - 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 + 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 - 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 + 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 - 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 + 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 - fi + ### Enable SPF + if [ -n "$_spf_enable" ]; then + echo "Enabling SPECULATIVE_PAGE_FAULT LRU..." + scripts/config --enable CONFIG_SPECULATIVE_PAGE_FAULT + 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 - 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 + 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 + 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 + 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 + 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" - 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 - - echo "Enable CONFIG_USER_NS_UNPRIVILEGED" - scripts/config --enable CONFIG_USER_NS - - echo "Enable WINE FASTSYNC" - scripts/config --enable CONFIG_WINESYNC - - ### 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 + 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" fi - 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 - ### 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 + echo "Enable CONFIG_USER_NS_UNPRIVILEGED" + scripts/config --enable CONFIG_USER_NS + + echo "Enable WINE FASTSYNC" + scripts/config --enable CONFIG_WINESYNC + + ### 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 + + + ### 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 - fi - echo "Applying default config..." + echo "Applying default config..." - make ${BUILD_FLAGS[*]} olddefconfig - make ${BUILD_FLAGS[*]} -s kernelrelease > version - echo "Prepared $pkgbase version $( version + echo "Prepared $pkgbase version $(