diff options
-rw-r--r-- | .SRCINFO | 108 | ||||
-rw-r--r-- | PKGBUILD | 879 | ||||
-rw-r--r-- | config | 13 |
3 files changed, 476 insertions, 524 deletions
@@ -1,7 +1,7 @@ -pkgbase = linux-cacule - pkgdesc = Linux-CacULE Kernel by Hamad Marri and with some other patchsets - pkgver = 5.12.12 - pkgrel = 3 +pkgbase = linux-cacule-rc + pkgdesc = Linux-CacULE Kernel-RC by Hamad Marri and with some other patchsets + pkgver = 5.13.rc7 + pkgrel = 1 url = https://github.com/hamadmarri/cacule-cpu-scheduler arch = x86_64 license = GPL2 @@ -18,73 +18,51 @@ pkgbase = linux-cacule makedepends = tar makedepends = xz options = !strip - source = https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.12.tar.xz - source = https://cdn.kernel.org/pub/linux/kernel/v5.x/patch-5.12.12.xz + source = https://git.kernel.org/torvalds/t/linux-5.13-rc7.tar.gz source = config - source = https://raw.githubusercontent.com/ptr1337/linux-cacule-aur/master/patches/5.12/arch-patches-v7/0001-arch-patches.patch - source = https://raw.githubusercontent.com/ptr1337/linux-cacule-aur/master/patches/CacULE/v5.12/cacule-5.12.patch - source = https://raw.githubusercontent.com/ptr1337/linux-cacule-aur/master/patches/5.12/cpu-patches-v6/0001-cpu-patches.patch - source = https://raw.githubusercontent.com/ptr1337/linux-cacule-aur/master/patches/5.12/futex-patches-v2/0001-futex-resync-from-gitlab.collabora.com.patch - source = https://raw.githubusercontent.com/ptr1337/linux-cacule-aur/master/patches/5.12/futex2-stable-patches-v6/0001-futex2-resync-from-gitlab.collabora.com.patch - source = https://raw.githubusercontent.com/ptr1337/linux-cacule-aur/master/patches/5.12/wine-esync-patches/0001-v5.12-winesync.patch - source = https://raw.githubusercontent.com/ptr1337/linux-cacule-aur/master/patches/5.12/zen-patches-v2/0001-zen-patches.patch - source = https://raw.githubusercontent.com/ptr1337/linux-cacule-aur/master/patches/5.12/lqx-patches-v3/0001-zen-Allow-MSR-writes-by-default.patch - source = https://raw.githubusercontent.com/ptr1337/linux-cacule-aur/master/patches/5.12/bfq-patches-v13/0001-bfq-patches.patch - source = https://raw.githubusercontent.com/ptr1337/linux-cacule-aur/master/patches/5.12/block-patches-v6/0001-block-patches.patch - source = https://raw.githubusercontent.com/ptr1337/linux-cacule-aur/master/patches/5.12/fixes-miscellaneous/0001-fixes-miscellaneous.patch - source = https://raw.githubusercontent.com/ptr1337/linux-cacule-aur/master/patches/5.12/fixes-miscellaneous/2002-tune-vm-mm-and-vfs-settings.patch - source = https://raw.githubusercontent.com/ptr1337/linux-cacule-aur/master/patches/5.12/fixes-miscellaneous/objtool-crypto-jp.patch - source = https://raw.githubusercontent.com/ptr1337/linux-cacule-aur/master/patches/5.12/bbr2-patches-v2/0001-bbr2-5.12-introduce-BBRv2.patch - source = https://raw.githubusercontent.com/ptr1337/linux-cacule-aur/master/patches/5.12/btrfs-patches-v13/0001-btrfs-patches.patch - source = https://raw.githubusercontent.com/ptr1337/linux-cacule-aur/master/patches/5.12/android-patches/0001-android-export-symbold-and-enable-building-ashmem-an.patch - source = https://raw.githubusercontent.com/ptr1337/linux-cacule-aur/master/patches/5.12/pf-patches-v3/0001-pf-patches.patch - source = https://raw.githubusercontent.com/ptr1337/linux-cacule-aur/master/patches/5.12/lru-gen/lru_5.12.patch - source = https://raw.githubusercontent.com/ptr1337/linux-cacule-aur/master/patches/5.12/le9db_patches/le9db1-5.10.patch - source = https://raw.githubusercontent.com/ptr1337/linux-cacule-aur/master/patches/5.12/ntfs3-patches-v2/0001-ntfs3-patches.patch - source = https://raw.githubusercontent.com/ptr1337/linux-cacule-aur/master/patches/5.12/zstd-dev-patches-v3/0001-zstd-dev-patches.patch - source = https://raw.githubusercontent.com/ptr1337/linux-cacule-aur/master/patches/5.12/clearlinux-patches-v3/0001-clearlinux-patches.patch - source = https://raw.githubusercontent.com/ptr1337/linux-cacule-aur/master/patches/5.12/ksm-patches/0001-ksm-patches.patch - source = https://raw.githubusercontent.com/ptr1337/linux-cacule-aur/master/patches/5.12/v4l2loopback-patches/0001-v4l2loopback-patches.patch - source = https://raw.githubusercontent.com/ptr1337/linux-cacule-aur/master/patches/5.12/initramfs-patches/0001-initramfs-patches.patch - sha256sums = 7d0df6f2bf2384d68d0bd8e1fe3e071d64364dcdc6002e7b5c87c92d48fac366 - sha256sums = 742e13b424c618689734c3c41a14c5cda5a09d8546ed5b1433153d4619524dfe - sha256sums = 5cfde84b9b7b71cde2a9823859184ed08f7eece119b2776f0e620c8528a156e5 - sha256sums = dd89db0483301a62cef23ba797fee1fb9804f570f952df87fe418ee22e353227 - sha256sums = a90ec03375bf97c06bf2ca3f1fd0224deee8408077f71447326b2796b53652a1 - sha256sums = d50836cb16ef209b4bdd7bef792485b8f0ff847a96d2b6eca109da0b7e05f79b - sha256sums = 4ff5c33785445f103d479196bb33c4f991d6c5f56df5c643ec6d2451368f0605 - sha256sums = db4707a6430a80447fabc2517e554cf9e055a4039b362f683bd9dd7f04d7a667 - sha256sums = f7c68f43599c53ce19a14e6f296e5e0820257e80acb9f52a1dec036d0d9a62ab - sha256sums = 9eabd1468635477d9c143e9f59d86cf0dd32583bf6bd926080a6707f86d363ed - sha256sums = 5587a2d535dcd7ff09080c27f32a02dc67a0d35145b0b49ae10e8520c906a153 - sha256sums = 12b36059033201c99e54a0e863c3ded470faff1226d9b984bdb15bd3a8ec4a7c - sha256sums = 8c892547828704e05cd480e58944327029bf50f81258ae0501a4872b465b20b9 - sha256sums = 7cdc6402f6ab8a8b99f7c7c4766a6cf82773ef399903abebf6208bfd2f8b2cf2 - sha256sums = f7a36231b794022d49e53f464d25e48f2eebf6266c2cbe5756c63aa3bf03bae7 - sha256sums = 2b261d4845899cfec315c81cfbfd3ba653a0465145e7dad9ac2f6595366ea3c8 - sha256sums = 59dc35df675221c9e54326e4a2ca57074c955387e1d4cb0b6543424bc84bdb11 - sha256sums = f71cc3bdd9b3488ece3d7433ff65e0dd9f544f069b82e84e32ad67e2e7f64718 - sha256sums = 42dc3c76534393d1b59ca3f321797566a7637bbb110f604eb9bf584b867a97a4 - sha256sums = 0b44848f5b8926a9e9db8064aeefbfb53c289923e25779c11ddb2a5b149fdb12 - sha256sums = 4ad652d36fdd3f5142e66407a964e8e0d3c91ab3e7094a368de1ef1b21f6d19a - sha256sums = d68ed98e7bc5a8f9ebc48c16cd0be47be948578621a70b13fcbb13e280469056 - sha256sums = 7056565c13628e7885538aca4cdb384f1a2b65c4c02a502ddfe182ddb7ce347e - sha256sums = 84c231a4d66726e4ed84807de961e0aa37bc3cb13fda0c3d82f7c23470ca6ecd - sha256sums = 5a0c7b01ce8baf4dc480b33eddd203a1620ad4885122a3967f580cb172d0f9b7 - sha256sums = efc3e1e4c2ef22a570a0e8cfdaea4617655e1baddce02829d6a0acc5b9a7ab58 - sha256sums = 64a7a848ca409f359d16e9732f4e623126eeb89bfae85c884391b9b280facdcf - sha256sums = 0b18daa836fd70dbabf68b1db85b01e585f8cad2f1a2ef5c2ced9db4e1f75d3a + source = https://raw.githubusercontent.com/ptr1337/linux-cacule-aur/master/patches/5.13/cacule-patches/cacule-5.13.patch + source = https://raw.githubusercontent.com/ptr1337/linux-cacule-aur/master/patches/5.13/bbr2-5.13.patch + source = https://raw.githubusercontent.com/ptr1337/linux-cacule-aur/master/patches/5.13/clearlinux.patch + source = https://raw.githubusercontent.com/ptr1337/linux-cacule-aur/master/patches/5.13/bfq-5.13.patch + source = https://raw.githubusercontent.com/ptr1337/linux-cacule-aur/master/patches/5.13/ksm-5.13.patch + source = https://raw.githubusercontent.com/ptr1337/linux-cacule-aur/master/patches/5.13/cpu-5.13.patch + source = https://raw.githubusercontent.com/ptr1337/linux-cacule-aur/master/patches/5.13/fixes-5.13.patch + source = https://raw.githubusercontent.com/ptr1337/linux-cacule-aur/master/patches/5.13/zstd-5.13.patch + source = https://raw.githubusercontent.com/ptr1337/linux-cacule-aur/master/patches/5.13/ntfs3-5.13.patch + source = https://raw.githubusercontent.com/ptr1337/linux-cacule-aur/master/patches/5.13/v4l2loopback-5.13.patch + source = https://raw.githubusercontent.com/ptr1337/linux-cacule-aur/master/patches/5.13/futex/1001-futex-513-wait_multiple.patch + source = https://raw.githubusercontent.com/ptr1337/linux-cacule-aur/master/patches/5.13/misc/0009-rcu-fixes-next.patch + source = https://raw.githubusercontent.com/ptr1337/linux-cacule-aur/master/patches/5.13/misc/2002-tune-vm-mm-and-vfs-settings.patch + source = https://raw.githubusercontent.com/ptr1337/linux-cacule-aur/master/patches/5.12/ll-patches/0005-Disable-CPU_FREQ_GOV_SCHEDUTIL.patch + source = https://raw.githubusercontent.com/ptr1337/linux-cacule-aur/master/patches/5.12/lru-gen/PATCH-v3-00-14-Multigenerational-LRU-Framework.patch + sha512sums = a49187e05272619016bcdb46d68ac2a8ced5285c73614d31dce34bb23e15f1198d91054fec01e2663a8f8a438a512c956d7ba1265a33c17b4727058a633384be + sha512sums = a49537a61bd7ca80f456e0618f4c64630651efada8bcc68ee260461370e9638410b0a883e036a3e7777c841d585f91eea9a051e4c93d38b639ebebdff643cf4e + sha512sums = 278e045dc5c5ec70087bbb14a4c7d7f2db6dd5bfd0a3f393c85e42a6847dcad2994473ecb3719fbea03261a574d56815d63623ea6c8e07f7afb2c948c87a5bc7 + sha512sums = ed5770aa5365d8f040be95ac94d89c86efbb663b5d4b7aa6be4292e8ca740d79dc76f2d6b271df389c2cf5632b2a56e353d10153ba0fa2d08efab49fc36baf5c + sha512sums = 3fa6162a9d694392834ae188ebe33f3554b7ded321ecb3f8553ab9b88997cf03d19491feaf5024c899cf51e1fcc5896285edb2b28ed6375bba8dd814eddeac57 + sha512sums = 91d3ec61d7ebd86d8b0fa79a9d30a9eb6ae4b4d2c4fa4d03b8b64a08f11330f86e5a46a0fff9601d5438e7753ffd4389ee4b07e54110ce3b046089d3cf6504b9 + sha512sums = f81b1eae8c0318fe7cd053eab217c20e9216297211d758d9aa0e5e722dc70883448313ff157078df409fff5c9999aa52cbcb484b78034643a7d6419403c59e99 + sha512sums = f09df77f5535d66c29f34f7eea149406b7367bcf557992d475688d7fa83305cc4518bdd09e4840e8da81a56ec998146482f0f1573e42c03a55da231d1e13164a + sha512sums = ab57c107c8f9c6bf7ee067a59671896539c448e27306876f091a4d86c483aa8d14363d258cc42d7aed3d261d528aef0adf6118b3c918991a84988b102f14633c + sha512sums = a4697263774002822dd5c3e26f71ddd810c5f2f565fa9c7cd9166f656585a82925198fd652d5fa123fc9fb77e82c0904f3fed582ad26d0d5fde86ffb3312f076 + sha512sums = 583b76ecc43f7c3bacde23804aeb8568fb60679a008f7e48d471c870092ae1ab1d31b3e4e8edc7778f59e01bd806e85036193f9790457f953a37c75b282fdcd4 + sha512sums = dae7d3a868ca9061552e0a098b448d71f3bf842e3f40b58590d6f8dc4173feed55df6f25c8f71a65fde3478f7671c5a93e8cd0ce825509804c7684b7adf0ee15 + sha512sums = d8fbb667096a8d1d84db4d40c361bce5fc55e207c73fab266dba9033c6aff0cc0307c8a854c09fd2dabd99139ce640047bc87e0fd067d12ca1bd8f76f5d10ad3 + sha512sums = bd91f61dd30c25cd37aa25e620583a0d9f3ba2b9f335f571ef41d09404f512df40e8eac559927e06cbdc133f12fbe49a8db264df50b2134f5e68d4ec8456df60 + sha512sums = a5e9b9d6a08be2d6bc6b724176c207c052d2271b3b77885b8169ed02c608b89726ea8b3e9664c4bc4c85aab938e88c67fb15de42f9f9a649d54b466b473fcdc5 + sha512sums = 47f265716ebd268e4296aaba1efe5098df00736b69ec7d0413cace6dbb5cb162c1c952f7527a2a41b246ed76e6e112514c5349e8dc52f4609def30257e18d7aa + sha512sums = 341492bf6b899a8fb4a0ef375e5461ec6e49c96755c10dd85d36b3b35a62d4e15a8b2df14aecc6bcc13485a16ad21a360050a091cf69b5aa4fc84a74dee34020 -pkgname = linux-cacule - pkgdesc = The Linux-CacULE Kernel by Hamad Marri and with some other patchsets kernel and modules +pkgname = linux-cacule-rc + pkgdesc = The Linux-CacULE Kernel-RC by Hamad Marri and with some other patchsets kernel and modules depends = coreutils depends = kmod depends = initramfs optdepends = crda: to set the correct wireless channels of your country optdepends = linux-firmware: firmware images needed for some devices optdepends = modprobed-db: Keeps track of EVERY kernel module that has ever been probed - useful for those of us who make localmodconfig - provides = VIRTUALBOX-GUEST-MODULES - provides = WIREGUARD-MODULE -pkgname = linux-cacule-headers - pkgdesc = Headers and scripts for building modules for the Linux-CacULE Kernel by Hamad Marri and with some other patchsets kernel +pkgname = linux-cacule-rc-headers + pkgdesc = Headers and scripts for building modules for the Linux-CacULE Kernel-RC by Hamad Marri and with some other patchsets kernel + depends = linux-cacule-rc + depends = pahole @@ -1,8 +1,10 @@ -# Maintainer: Peter Jung ptr1337 <admin@ptr1337.dev> +# Contributor: Piotr Gorski <lucjan.lucjanov@gmail.com> +# Contributor: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> +# Contributor: Tobias Powalowski <tpowa@archlinux.org> +# Contributor: Thomas Baechler <thomas@archlinux.org> +# Maintainer: ptr1337 <admin@ptr1337.dev> ### BUILD OPTIONS -# Set the next two variables to ANYTHING that is not null to enable them -### BUILD OPTIONS # Set these variables to ANYTHING that is not null to enable them # NUMA is optimized for multi-socket motherboards. @@ -12,9 +14,9 @@ _NUMAdisable=y # Enable fsync _fsync=y #enable futex2 -_futex2=y +_futex2= #enable winesync -_winesync=y +_winesync= ### Set performance governor as default _per_gov=y ### Disable Deadline I/O scheduler @@ -25,19 +27,12 @@ _kyber_disable=y _2k_HZ_ticks= _1k_HZ_ticks=y _500_HZ_ticks= -### Enable protect file mappings under memory pressure -_mm_protect=y -### Enable multigenerational LRU -_lru_enable=y -# Tweak kernel options prior to a build via nconfig -_makenconfig= - -# Only compile active modules to VASTLY reduce the number of modules built and -# the build time. +# Compile ONLY used modules to VASTLYreduce the number of modules built +# and the build time. # # To keep track of which modules are needed for your specific system/hardware, -# give module_db a try: https://aur.archlinux.org/packages/modprobed-db -# This PKGBUILD reads the database kept if it exists +# give module_db script a try: https://aur.archlinux.org/packages/modprobed-db +# This PKGBUILD read the database kept if it exists # # More at this wiki page ---> https://wiki.archlinux.org/index.php/Modprobed-db _localmodcfg= @@ -49,361 +44,365 @@ _localmodcfg= # a new kernel is released, but again, convenient for package bumps. _use_current= -### IMPORTANT: Do no edit below this line unless you know what you're doing - -_major=5.12 -_minor=12 -_srcname=linux-${_major} -pkgbase=linux-cacule -pkgver=${_major}.${_minor} -pkgrel=3 -pkgdesc='Linux-CacULE Kernel by Hamad Marri and with some other patchsets' +### Do not edit below this line unless you know what you're doing + +pkgbase=linux-cacule-rc +# pkgname=('linux-cacule' linux-cacule-headers) +_major=5.13 +#_minor=1 +#_minorc=$((_minor+1)) +_rcver=rc7 +pkgver=${_major}.${_rcver} +#_stable=${_major}.${_minor} +_stablerc=${_major}-${_rcver} +_srcname=linux-${_stablerc} +pkgrel=1 +pkgdesc='Linux-CacULE Kernel-RC by Hamad Marri and with some other patchsets' arch=('x86_64') url="https://github.com/hamadmarri/cacule-cpu-scheduler" license=('GPL2') +options=('!strip') makedepends=('kmod' 'bc' 'libelf' 'python-sphinx' 'python-sphinx_rtd_theme' 'graphviz' 'imagemagick' 'pahole' 'cpio' 'perl' 'tar' 'xz') -options=('!strip') _patchsource="https://raw.githubusercontent.com/ptr1337/linux-cacule-aur/master/patches/5.12" -_caculepatches="https://raw.githubusercontent.com/ptr1337/linux-cacule-aur/master/patches/CacULE" -source=( - "https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-${_major}.tar.xz" - "https://cdn.kernel.org/pub/linux/kernel/v5.x/patch-${pkgver}.xz" - "config" - "${_patchsource}/arch-patches-v7/0001-arch-patches.patch" - "${_caculepatches}/v5.12/cacule-5.12.patch" - "${_patchsource}/cpu-patches-v6/0001-cpu-patches.patch" - "${_patchsource}/futex-patches-v2/0001-futex-resync-from-gitlab.collabora.com.patch" - "${_patchsource}/futex2-stable-patches-v6/0001-futex2-resync-from-gitlab.collabora.com.patch" - "${_patchsource}/wine-esync-patches/0001-v5.12-winesync.patch" - "${_patchsource}/zen-patches-v2/0001-zen-patches.patch" - "${_patchsource}/lqx-patches-v3/0001-zen-Allow-MSR-writes-by-default.patch" - "${_patchsource}/bfq-patches-v13/0001-bfq-patches.patch" - "${_patchsource}/block-patches-v6/0001-block-patches.patch" - "${_patchsource}/fixes-miscellaneous/0001-fixes-miscellaneous.patch" - "${_patchsource}/fixes-miscellaneous/2002-tune-vm-mm-and-vfs-settings.patch" - "${_patchsource}/fixes-miscellaneous/objtool-crypto-jp.patch" -# "${_patchsource}/fixes-miscellaneous/lrng/lrng-40.patch" -# "${_patchsource}/fixes-miscellaneous/lrng/1004-lrng-update-20210607.patch" - "${_patchsource}/bbr2-patches-v2/0001-bbr2-5.12-introduce-BBRv2.patch" - "${_patchsource}/btrfs-patches-v13/0001-btrfs-patches.patch" - "${_patchsource}/android-patches/0001-android-export-symbold-and-enable-building-ashmem-an.patch" - "${_patchsource}/pf-patches-v3/0001-pf-patches.patch" -# "${_patchsource}/lru-patches-v4/0001-lru-patches.patch" - "${_patchsource}/lru-gen/lru_5.12.patch" - "${_patchsource}/le9db_patches/le9db1-5.10.patch" - "${_patchsource}/ntfs3-patches-v2/0001-ntfs3-patches.patch" - "${_patchsource}/zstd-dev-patches-v3/0001-zstd-dev-patches.patch" - "${_patchsource}/clearlinux-patches-v3/0001-clearlinux-patches.patch" - "${_patchsource}/ksm-patches/0001-ksm-patches.patch" - "${_patchsource}/v4l2loopback-patches/0001-v4l2loopback-patches.patch" - "${_patchsource}/initramfs-patches/0001-initramfs-patches.patch" -) +_patchsource2="https://raw.githubusercontent.com/ptr1337/linux-cacule-aur/master/patches/5.13" +source=("https://git.kernel.org/torvalds/t/linux-${_stablerc}.tar.gz" + "config" + # "${_patchsource}/arch-patches-v3/0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch" + "${_patchsource2}/cacule-patches/cacule-5.13.patch" + "${_patchsource2}/bbr2-5.13.patch" + "${_patchsource2}/clearlinux.patch" + "${_patchsource2}/bfq-5.13.patch" + "${_patchsource2}/ksm-5.13.patch" + "${_patchsource2}/cpu-5.13.patch" + "${_patchsource2}/fixes-5.13.patch" + "${_patchsource2}/zstd-5.13.patch" + "${_patchsource2}/ntfs3-5.13.patch" + "${_patchsource2}/v4l2loopback-5.13.patch" + "${_patchsource2}/futex/1001-futex-513-wait_multiple.patch" + "${_patchsource2}/misc/0009-rcu-fixes-next.patch" + "${_patchsource2}/misc/2002-tune-vm-mm-and-vfs-settings.patch" + "${_patchsource}/ll-patches/0005-Disable-CPU_FREQ_GOV_SCHEDUTIL.patch" + "${_patchsource}/lru-gen/PATCH-v3-00-14-Multigenerational-LRU-Framework.patch" +# "${_patchsource}/lrng/1004-dev-random-new-lrng-approach-v40.patch" + # "${_patchsource}/cpu-patches-v2/0001-cpu-patches.patch" + # "${_patchsource}/futex-patches/0001-futex-resync-from-gitlab.collabora.com.patch" + # "${_patchsource}/futex2-stable-patches-v3/0001-futex2-resync-from-gitlab.collabora.com.patch" + # "${_patchsource}/wine-esync-patches/0001-v5.12-winesync.patch" + # "${_patchsource}/zen-patches-v2/0001-zen-patches.patch" + # "${_patchsource}/lqx-patches-v2/0001-lqx-patches.patch" + # "${_patchsource}/bfq-patches-v8/0001-bfq-patches.patch" + # "${_patchsource}/fixes-miscellaneous/0001-fixes-miscellaneous.patch" + # "${_patchsource}/bbr2-patches-v2/0001-bbr2-5.12-introduce-BBRv2.patch" + # "${_patchsource}/btrfs-patches-v8/0001-btrfs-patches.patch" + # "${_patchsource}/android-patches/0001-android-export-symbold-and-enable-building-ashmem-an.patch" + # "${_patchsource}/pf-patches-v2/0001-pf-patches.patch" + # "${_patchsource}/ntfs3-patches-v2/0001-ntfs3-patches.patch" + # "${_patchsource}/zstd-dev-patches-v3/0001-zstd-dev-patches.patch" + # "${_patchsource}/clearlinux-patches-v3/0001-clearlinux-patches.patch" + # "${_patchsource}/initramfs-patches/0001-initramfs-patches.patch" + ) + +sha512sums=('a49187e05272619016bcdb46d68ac2a8ced5285c73614d31dce34bb23e15f1198d91054fec01e2663a8f8a438a512c956d7ba1265a33c17b4727058a633384be' + 'a49537a61bd7ca80f456e0618f4c64630651efada8bcc68ee260461370e9638410b0a883e036a3e7777c841d585f91eea9a051e4c93d38b639ebebdff643cf4e' + '278e045dc5c5ec70087bbb14a4c7d7f2db6dd5bfd0a3f393c85e42a6847dcad2994473ecb3719fbea03261a574d56815d63623ea6c8e07f7afb2c948c87a5bc7' + 'ed5770aa5365d8f040be95ac94d89c86efbb663b5d4b7aa6be4292e8ca740d79dc76f2d6b271df389c2cf5632b2a56e353d10153ba0fa2d08efab49fc36baf5c' + '3fa6162a9d694392834ae188ebe33f3554b7ded321ecb3f8553ab9b88997cf03d19491feaf5024c899cf51e1fcc5896285edb2b28ed6375bba8dd814eddeac57' + '91d3ec61d7ebd86d8b0fa79a9d30a9eb6ae4b4d2c4fa4d03b8b64a08f11330f86e5a46a0fff9601d5438e7753ffd4389ee4b07e54110ce3b046089d3cf6504b9' + 'f81b1eae8c0318fe7cd053eab217c20e9216297211d758d9aa0e5e722dc70883448313ff157078df409fff5c9999aa52cbcb484b78034643a7d6419403c59e99' + 'f09df77f5535d66c29f34f7eea149406b7367bcf557992d475688d7fa83305cc4518bdd09e4840e8da81a56ec998146482f0f1573e42c03a55da231d1e13164a' + 'ab57c107c8f9c6bf7ee067a59671896539c448e27306876f091a4d86c483aa8d14363d258cc42d7aed3d261d528aef0adf6118b3c918991a84988b102f14633c' + 'a4697263774002822dd5c3e26f71ddd810c5f2f565fa9c7cd9166f656585a82925198fd652d5fa123fc9fb77e82c0904f3fed582ad26d0d5fde86ffb3312f076' + '583b76ecc43f7c3bacde23804aeb8568fb60679a008f7e48d471c870092ae1ab1d31b3e4e8edc7778f59e01bd806e85036193f9790457f953a37c75b282fdcd4' + 'dae7d3a868ca9061552e0a098b448d71f3bf842e3f40b58590d6f8dc4173feed55df6f25c8f71a65fde3478f7671c5a93e8cd0ce825509804c7684b7adf0ee15' + 'd8fbb667096a8d1d84db4d40c361bce5fc55e207c73fab266dba9033c6aff0cc0307c8a854c09fd2dabd99139ce640047bc87e0fd067d12ca1bd8f76f5d10ad3' + 'bd91f61dd30c25cd37aa25e620583a0d9f3ba2b9f335f571ef41d09404f512df40e8eac559927e06cbdc133f12fbe49a8db264df50b2134f5e68d4ec8456df60' + 'a5e9b9d6a08be2d6bc6b724176c207c052d2271b3b77885b8169ed02c608b89726ea8b3e9664c4bc4c85aab938e88c67fb15de42f9f9a649d54b466b473fcdc5' + '47f265716ebd268e4296aaba1efe5098df00736b69ec7d0413cace6dbb5cb162c1c952f7527a2a41b246ed76e6e112514c5349e8dc52f4609def30257e18d7aa' + '341492bf6b899a8fb4a0ef375e5461ec6e49c96755c10dd85d36b3b35a62d4e15a8b2df14aecc6bcc13485a16ad21a360050a091cf69b5aa4fc84a74dee34020') export KBUILD_BUILD_HOST=archlinux export KBUILD_BUILD_USER=$pkgbase export KBUILD_BUILD_TIMESTAMP="$(date -Ru${SOURCE_DATE_EPOCH:+d @$SOURCE_DATE_EPOCH})" prepare() { - cd ${_srcname} - - ### Add upstream patches - echo "Add upstream patches" - patch -Np1 -i ../patch-${pkgver} + cd $_srcname ### Setting version - echo "Setting version..." - scripts/setlocalversion --save-scmversion - echo "-$pkgrel" > localversion.10-pkgrel - echo "${pkgbase#linux}" > localversion.20-pkgname - - local src + echo "Setting version..." + sed -e "/^EXTRAVERSION =/s/=.*/=/" -i Makefile + 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 + src="${src%%::*}" + src="${src##*/}" + [[ $src = *.patch ]] || continue echo "Applying patch $src..." patch -Np1 < "../$src" - done + done - ### Setting config + ### Setting config echo "Setting config..." - cp "${srcdir}"/config .config - make olddefconfig - ### CPU_ARCH SCRIPT ## - source "${startdir}"/configure - - cpu_arch - ### Optionally set tickrate to 2000HZ - if [ -n "$_2k_HZ_ticks" ]; then - echo "Setting tick rate to 2k..." - scripts/config --disable CONFIG_HZ_300 - scripts/config --enable CONFIG_HZ_2000 - scripts/config --set-val CONFIG_HZ 2000 - fi - - ### Optionally set tickrate to 1000 - if [ -n "$_1k_HZ_ticks" ]; then - echo "Setting tick rate to 1k..." - scripts/config --disable CONFIG_HZ_300 - scripts/config --enable CONFIG_HZ_1000 - scripts/config --set-val CONFIG_HZ 1000 - fi - - ### Optionally set tickrate to 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 disable NUMA for 64-bit kernels only - # (x86 kernels do not support NUMA) - if [ -n "$_NUMAdisable" ]; then - echo "Disabling NUMA from kernel config..." - scripts/config --disable CONFIG_NUMA - fi - - if [ -n "$_fsync" ]; then - echo "Enable Fsync support" - scripts/config --enable CONFIG_FUTEX - scripts/config --enable CONFIG_FUTEX_PI - fi - - if [ -n "$_futex2" ]; then - echo "Enable Futex2 support" - scripts/config --enable CONFIG_FUTEX2 - fi - - if [ -n "$_winesync" ]; then - echo "Enable winesync support" - scripts/config --module CONFIG_WINESYNC - 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 "Disabling uneeded governors..." - scripts/config --enable CONFIG_CPU_FREQ_GOV_ONDEMAND - scripts/config --disable CONFIG_CPU_FREQ_GOV_CONSERVATIVE - scripts/config --disable CONFIG_CPU_FREQ_GOV_USERSPACE - scripts/config --disable CONFIG_CPU_FREQ_GOV_SCHEDUTIL - fi - - ### Disable Deadline I/O scheduler - if [ -n "$_deadline_disable" ]; then - echo "Disabling Deadline I/O scheduler..." - scripts/config --disable CONFIG_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 - fi - - - ### Enable protect file mappings under memory pressure -# if [ -n "$_mm_protect" ]; then -# echo "Enabling protect file mappings under memory pressure..." -# scripts/config --enable CONFIG_UNEVICTABLE_FILE -# scripts/config --set-val CONFIG_UNEVICTABLE_FILE_KBYTES_LOW 262144 -# scripts/config --set-val CONFIG_UNEVICTABLE_FILE_KBYTES_MIN 131072 -# fi -### Enable protect file mappings under memory pressure - if [ -n "$_mm_protect" ]; then - echo "Enabling protect file mappings under memory pressure..." - # scripts/config --enable CONFIG_UNEVICTABLE_FILE - scripts/config --set-val CONFIG_CLEAN_LOW_KBYTES 150000 - scripts/config --set-val CONFIG_CLEAN_MIN_KBYTES 0 - fi - - ### Enable multigenerational LRU - if [ -n "$_lru_enable" ]; then - echo "Enabling multigenerational LRU..." - scripts/config --enable CONFIG_HAVE_ARCH_PARENT_PMD_YOUNG - scripts/config --enable CONFIG_LRU_GEN - scripts/config --set-val CONFIG_NR_LRU_GENS 7 - scripts/config --set-val CONFIG_TIERS_PER_GEN 4 - scripts/config --enable CONFIG_LRU_GEN_ENABLED - scripts/config --disable CONFIG_LRU_GEN_STATS - fi - - ### Enabling ZSTD COMPRESSION ## - echo "Set module compression to ZSTD" - scripts/config --enable CONFIG_MODULE_COMPRESS - scripts/config --disable CONFIG_MODULE_COMPRESS_XZ - scripts/config --enable CONFIG_MODULE_COMPRESS_ZSTD - # scripts/config --set-val CONFIG_MODULE_COMPRESS_ZSTD_LEVEL 19 - # scripts/config --disable CONFIG_KERNEL_ZSTD_LEVEL_ULTRA - - ### Enabling Cacule-Config ## - echo "Enable CacULE CPU scheduler..." - scripts/config --enable CONFIG_CACULE_SCHED - scripts/config --enable CONFIG_FAIR_GROUP_SCHED - scripts/config --enable CONFIG_SCHED_AUTOGROUP - scripts/config --disable CONFIG_EXPERT - scripts/config --disable CONFIG_SCHED_DEBUG - scripts/config --disable CONFIG_SCHED_INFO - scripts/config --disable CONFIG_SCHEDSTATS - scripts/config --disable CONFIG_DEBUG_KERNEL - echo "Enabling Full Tickless" - scripts/config --disable CONFIG_HZ_PERIODIC - scripts/config --disable CONFIG_NO_HZ_IDLE - 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 CONFIG_CONTEXT_TRACKING_FORCE - echo "Enabling KBUILD_CFLAGS -O3..." - scripts/config --disable CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE - scripts/config --enable CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE_O3 - echo "Enable PREEMPT" - 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 - echo "Enable NTFS3" - scripts/config --module CONFIG_NTFS_FS - scripts/config --enable CONFIG_NTFS_RW - scripts/config --enable CONFIG_NTFS_DEBUG - scripts/config --module CONFIG_NTFS3_FS - scripts/config --enable CONFIG_NTFS3_64BIT_CLUSTER - scripts/config --enable CONFIG_NTFS3_LZX_XPRESS - scripts/config --enable CONFIG_NTFS3_FS_POSIX_ACL - echo "Enable Anbox" - scripts/config --module CONFIG_ASHMEM - scripts/config --enable CONFIG_ANDROID_BINDER_IPC_SELFTEST - scripts/config --enable CONFIG_ANDROID - scripts/config --enable CONFIG_ANDROID_BINDER_IPC - scripts/config --enable CONFIG_ANDROID_BINDERFS - scripts/config --set-str CONFIG_ANDROID_BINDER_DEVICES binder,hwbinder,vndbinder - echo "Disabling TCP_CONG_CUBIC..." - scripts/config --module CONFIG_TCP_CONG_CUBIC - scripts/config --disable CONFIG_DEFAULT_CUBIC - echo "Enabling TCP_CONG_BBR2..." - scripts/config --enable CONFIG_TCP_CONG_BBR2 - scripts/config --enable CONFIG_DEFAULT_BBR2 - scripts/config --set-str CONFIG_DEFAULT_TCP_CONG bbr2 - echo "Enable VHBA-Module" - scripts/config --module CONFIG_VHBA - scripts/config --disable CONFIG_GCC_PLUGINS - # General Setup - scripts/config --disable CONFIG_BSD_PROCESS_ACCT - scripts/config --disable CONFIG_TASK_XACCT - scripts/config --enable CONFIG_PSI - scripts/config --disable CONFIG_MEMCG - scripts/config --enable CONFIG_CGROUP_CPUACCT - scripts/config --disable CONFIG_CGROUP_DEBUG - scripts/config --disable CONFIG_CHECKPOINT_RESTORE - scripts/config --disable CONFIG_SLAB_MERGE_DEFAULT - scripts/config --disable CONFIG_SLAB_FREELIST_HARDENED - scripts/config --disable CONFIG_SLUB_CPU_PARTIAL - scripts/config --disable CONFIG_PROFILING - - # Processor type and features - scripts/config --disable CONFIG_RETPOLINE - scripts/config --disable CONFIG_X86_5LEVEL - scripts/config --disable CONFIG_KEXEC - scripts/config --disable CONFIG_KEXEC_FILE - scripts/config --disable CONFIG_CRASH_DUMPs - scripts/config --disable CONFIG_KPROBES - # Kernel hacking - scripts/config --disable CONFIG_FTRACE - scripts/config --disable CONFIG_DEBUG_KERNEL - scripts/config --disable CONFIG_PAGE_EXTENSION - scripts/config --set-val CONFIG_RCU_CPU_STALL_TIMEOUT 4 - scripts/config --disable CONFIG_PRINTK_TIME - scripts/config --disable CONFIG_DEBUG_INFO - scripts/config --disable CONFIG_ENABLE_MUST_CHECK - scripts/config --disable CONFIG_STRIP_ASM_SYMS - scripts/config --disable CONFIG_UNUSED_SYMBOLS - scripts/config --disable CONFIG_DEBUG_FS - scripts/config --disable CONFIG_OPTIMIZE_INLINING - scripts/config --disable CONFIG_DEBUG_SECTION_MISMATCH - scripts/config --disable CONFIG_SECTION_MISMATCH_WARN_ONLY - scripts/config --disable CONFIG_STACK_VALIDATION - scripts/config --disable CONFIG_DEBUG_FORCE_WEAK_PER_CPU - scripts/config --disable CONFIG_MAGIC_SYSRQ - scripts/config --disable CONFIG_MAGIC_SYSRQ_SERIAL - scripts/config --disable CONFIG_PAGE_EXTENSION - scripts/config --disable CONFIG_DEBUG_PAGEALLOC - scripts/config --disable CONFIG_PAGE_OWNER - scripts/config --disable CONFIG_DEBUG_MEMORY_INIT - scripts/config --disable CONFIG_HARDLOCKUP_DETECTOR - scripts/config --disable CONFIG_SOFTLOCKUP_DETECTOR - scripts/config --disable CONFIG_DETECT_HUNG_TASK - scripts/config --disable CONFIG_WQ_WATCHDOG - scripts/config --set-val CONFIG_PANIC_TIMEOUT 10 - scripts/config --disable CONFIG_SCHEDSTATS - scripts/config --disable CONFIG_SCHED_STACK_END_CHECK - scripts/config --disable CONFIG_STACKTRACE - scripts/config --disable CONFIG_DEBUG_BUGVERBOSE - scripts/config --disable CONFIG_RCU_TRACE - scripts/config --disable CONFIG_FAULT_INJECTION - scripts/config --disable CONFIG_LATENCYTOP - scripts/config --disable CONFIG_PROVIDE_OHCI1394_DMA_INIT - scripts/config --disable RUNTIME_TESTING_MENU - scripts/config --disable CONFIG_MEMTEST - scripts/config --disable CONFIG_KGDB - scripts/config --disable CONFIG_EARLY_PRINTK - scripts/config --disable CONFIG_DOUBLEFAULT - - # General setup - scripts/config --enable IKCONFIG \ - --enable-after IKCONFIG IKCONFIG_PROC \ - --undefine RT_GROUP_SCHED - - # Power management and ACPI options - scripts/config --enable ACPI_REV_OVERRIDE_POSSIBLE \ - --enable ACPI_TABLE_UPGRADE - + cp ../config .config + make olddefconfig + ### Prepared version + make -s kernelrelease > version + echo "Prepared $pkgbase version $(<version)" ### 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 + # 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 + + source "${startdir}"/configure + + cpu_arch + + ### Optionally set tickrate to 2000HZ + if [ -n "$_2k_HZ_ticks" ]; then + echo "Setting tick rate to 2k..." + scripts/config --disable CONFIG_HZ_300 + scripts/config --enable CONFIG_HZ_2000 + scripts/config --set-val CONFIG_HZ 2000 fi - ### Optionally load needed modules for the make localmodconfig - # See https://aur.archlinux.org/packages/modprobed-db +### Optionally set tickrate to 1000 + if [ -n "$_1k_HZ_ticks" ]; then + echo "Setting tick rate to 1k..." + scripts/config --disable CONFIG_HZ_300 + scripts/config --enable CONFIG_HZ_1000 + scripts/config --set-val CONFIG_HZ 1000 + fi + +### Optionally set tickrate to 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 disable NUMA for 64-bit kernels only + # (x86 kernels do not support NUMA) + if [ -n "$_NUMAdisable" ]; then + echo "Disabling NUMA from kernel config..." + scripts/config --disable CONFIG_NUMA + fi + + if [ -n "$_fsync" ]; then + echo "Enable Fsync support" + scripts/config --enable CONFIG_FUTEX + scripts/config --enable CONFIG_FUTEX_PI + fi + + if [ -n "$_futex2" ]; then + echo "Enable Futex2 support" + scripts/config --enable CONFIG_FUTEX2 + fi + + if [ -n "$_winesync" ]; then + echo "Enable winesync support" + scripts/config --module CONFIG_WINESYNC + 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 "Disabling uneeded governors..." + scripts/config --enable CONFIG_CPU_FREQ_GOV_ONDEMAND + scripts/config --disable CONFIG_CPU_FREQ_GOV_CONSERVATIVE + scripts/config --disable CONFIG_CPU_FREQ_GOV_USERSPACE + scripts/config --disable CONFIG_CPU_FREQ_GOV_SCHEDUTIL + fi + +### Disable Deadline I/O scheduler + if [ -n "$_deadline_disable" ]; then + echo "Disabling Deadline I/O scheduler..." + scripts/config --disable CONFIG_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 + fi + + ### Enable protect file mappings under memory pressure + + echo "Enabling protect file mappings under memory pressure..." + scripts/config --enable CONFIG_UNEVICTABLE_FILE + scripts/config --set-val CONFIG_UNEVICTABLE_FILE_KBYTES_LOW 262144 + scripts/config --set-val CONFIG_UNEVICTABLE_FILE_KBYTES_MIN 131072 + + ### Enable multigenerational LRU + + echo "Enabling multigenerational LRU..." + scripts/config --enable CONFIG_HAVE_ARCH_PARENT_PMD_YOUNG + scripts/config --enable CONFIG_LRU_GEN + scripts/config --set-val CONFIG_NR_LRU_GENS 7 + scripts/config --set-val CONFIG_TIERS_PER_GEN 4 + scripts/config --enable CONFIG_LRU_GEN_ENABLED + scripts/config --disable CONFIG_LRU_GEN_STATS + +### Enabling ZSTD COMPRESSION ## + # echo "Set module compression to ZSTD" +# scripts/config --enable CONFIG_MODULE_COMPRESS +# scripts/config --disable CONFIG_MODULE_COMPRESS_XZ +# scripts/config --enable CONFIG_MODULE_COMPRESS_ZSTD + scripts/config --set-val CONFIG_MODULE_COMPRESS_ZSTD_LEVEL 19 + scripts/config --disable CONFIG_KERNEL_ZSTD_LEVEL_ULTRA + +### Enabling Cacule-Config ## + echo "Enable CacULE CPU scheduler..." + scripts/config --enable CONFIG_CACULE_SCHED + scripts/config --enable CONFIG_FAIR_GROUP_SCHED + scripts/config --enable CONFIG_SCHED_AUTOGROUP + scripts/config --disable CONFIG_EXPERT + scripts/config --disable CONFIG_SCHED_DEBUG + scripts/config --disable CONFIG_SCHED_INFO + scripts/config --disable CONFIG_SCHEDSTATS + scripts/config --disable CONFIG_DEBUG_KERNEL + scripts/config --enable CONFIG_NO_HZ + scripts/config --enable CONFIG_NO_HZ_COMMON + echo "Enabling KBUILD_CFLAGS -O3..." + scripts/config --disable CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE + scripts/config --enable CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE_O3 + echo "Enable PREEMPT" + 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 + echo "Enable NTFS3" + scripts/config --module CONFIG_NTFS_FS + scripts/config --enable CONFIG_NTFS_RW + scripts/config --enable CONFIG_NTFS_DEBUG + scripts/config --module CONFIG_NTFS3_FS + scripts/config --enable CONFIG_NTFS3_64BIT_CLUSTER + scripts/config --enable CONFIG_NTFS3_LZX_XPRESS + scripts/config --enable CONFIG_NTFS3_FS_POSIX_ACL +### Enable ANBOX + echo "Enable Anbox" + scripts/config --module CONFIG_ASHMEM + scripts/config --enable CONFIG_ANDROID_BINDER_IPC_SELFTEST + scripts/config --enable CONFIG_ANDROID + scripts/config --enable CONFIG_ANDROID_BINDER_IPC + scripts/config --enable CONFIG_ANDROID_BINDERFS + scripts/config --set-str CONFIG_ANDROID_BINDER_DEVICES binder,hwbinder,vndbinder + echo "Disabling TCP_CONG_CUBIC..." + scripts/config --module CONFIG_TCP_CONG_CUBIC + scripts/config --disable CONFIG_DEFAULT_CUBIC + echo "Enabling TCP_CONG_BBR2..." + scripts/config --enable CONFIG_TCP_CONG_BBR2 + scripts/config --enable CONFIG_DEFAULT_BBR2 + scripts/config --set-str CONFIG_DEFAULT_TCP_CONG bbr2 + echo "Enable CONFIG_VHBA" + scripts/config --module CONFIG_VHBA + scripts/config --disable CONFIG_BPF_PRELOAD + scripts/config --disable CONFIG_GCC_PLUGINS + # General Setup + scripts/config --disable CONFIG_BSD_PROCESS_ACCT + scripts/config --disable CONFIG_TASK_XACCT + scripts/config --disable CONFIG_PSI + scripts/config --disable CONFIG_MEMCG + scripts/config --disable CONFIG_CGROUP_CPUACCT + scripts/config --disable CONFIG_CGROUP_DEBUG + scripts/config --disable CONFIG_CHECKPOINT_RESTORE + scripts/config --disable CONFIG_SLAB_MERGE_DEFAULT + scripts/config --disable CONFIG_SLAB_FREELIST_HARDENED + scripts/config --disable CONFIG_SLUB_CPU_PARTIAL + scripts/config --disable CONFIG_PROFILING + + # Processor type and features + scripts/config --disable CONFIG_RETPOLINE + scripts/config --disable CONFIG_X86_5LEVEL + scripts/config --disable CONFIG_KEXEC + scripts/config --disable CONFIG_KEXEC_FILE + scripts/config --disable CONFIG_CRASH_DUMPs + scripts/config --disable CONFIG_KPROBES + # Kernel hacking + scripts/config --disable CONFIG_FTRACE + scripts/config --disable CONFIG_DEBUG_KERNEL + scripts/config --disable CONFIG_PAGE_EXTENSION + scripts/config --set-val CONFIG_RCU_CPU_STALL_TIMEOUT 4 + scripts/config --disable CONFIG_PRINTK_TIME + scripts/config --disable CONFIG_DEBUG_INFO + scripts/config --disable CONFIG_ENABLE_MUST_CHECK + scripts/config --disable CONFIG_STRIP_ASM_SYMS + scripts/config --disable CONFIG_UNUSED_SYMBOLS + scripts/config --disable CONFIG_DEBUG_FS + scripts/config --disable CONFIG_OPTIMIZE_INLINING + scripts/config --disable CONFIG_DEBUG_SECTION_MISMATCH + scripts/config --disable CONFIG_SECTION_MISMATCH_WARN_ONLY + scripts/config --disable CONFIG_STACK_VALIDATION + scripts/config --disable CONFIG_DEBUG_FORCE_WEAK_PER_CPU + scripts/config --disable CONFIG_MAGIC_SYSRQ + scripts/config --disable CONFIG_MAGIC_SYSRQ_SERIAL + scripts/config --disable CONFIG_PAGE_EXTENSION + scripts/config --disable CONFIG_DEBUG_PAGEALLOC + scripts/config --disable CONFIG_PAGE_OWNER + scripts/config --disable CONFIG_DEBUG_MEMORY_INIT + scripts/config --disable CONFIG_HARDLOCKUP_DETECTOR + scripts/config --disable CONFIG_SOFTLOCKUP_DETECTOR + scripts/config --disable CONFIG_DETECT_HUNG_TASK + scripts/config --disable CONFIG_WQ_WATCHDOG + scripts/config --set-val CONFIG_PANIC_TIMEOUT 10 + scripts/config --disable CONFIG_SCHED_DEBUG + scripts/config --disable CONFIG_SCHEDSTATS + scripts/config --disable CONFIG_SCHED_STACK_END_CHECK + scripts/config --disable CONFIG_STACKTRACE + scripts/config --disable CONFIG_DEBUG_BUGVERBOSE + scripts/config --set-val CONFIG_RCU_CPU_STALL_TIMEOUT 4 + scripts/config --disable CONFIG_RCU_TRACE + scripts/config --disable CONFIG_FAULT_INJECTION + scripts/config --disable CONFIG_LATENCYTOP + scripts/config --disable CONFIG_PROVIDE_OHCI1394_DMA_INIT + scripts/config --disable RUNTIME_TESTING_MENU + scripts/config --disable CONFIG_MEMTEST + scripts/config --disable CONFIG_KGDB + scripts/config --disable CONFIG_EARLY_PRINTK + scripts/config --disable CONFIG_DOUBLEFAULT + + +### 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 LSMOD=$HOME/.config/modprobed.db localmodconfig - else - echo "No modprobed.db data found" - exit + if [ -f $HOME/.config/modprobed.db ]; then + echo "Running Steven Rostedt's make localmodconfig now" + make LSMOD=$HOME/.config/modprobed.db localmodconfig + else + echo "No modprobed.db data found" + exit fi fi - make -s kernelrelease > version - echo "Prepared $pkgbase version $(<version)" +### Save configuration for later reuse + echo "Save config for reuse" + cat .config > "${startdir}/config.last" - [[ -z "$_makenconfig" ]] || make nconfig - - ### Save configuration for later reuse - cp -Tf ./.config "${startdir}/config-${pkgver}-${pkgrel}${pkgbase#linux}" } build() { - cd $_srcname - make all + cd $_srcname + + make all } _package() { @@ -412,101 +411,104 @@ _package() { optdepends=('crda: to set the correct wireless channels of your country' 'linux-firmware: firmware images needed for some devices' 'modprobed-db: Keeps track of EVERY kernel module that has ever been probed - useful for those of us who make localmodconfig') - provides=(VIRTUALBOX-GUEST-MODULES WIREGUARD-MODULE) - cd $_srcname - local kernver="$(<version)" - local modulesdir="$pkgdir/usr/lib/modules/$kernver" + 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 -s image_name)" "$modulesdir/vmlinuz" + echo "Installing boot image..." + # systemd expects to find the kernel here to allow hibernation + # https://github.com/systemd/systemd/commit/edda44605f06a41fb86b7ab8128dcf99161d2344 + install -Dm644 "$(make -s image_name)" "$modulesdir/vmlinuz" - # Used by mkinitcpio to name the kernel - echo "$pkgbase" | install -Dm644 /dev/stdin "$modulesdir/pkgbase" + # Used by mkinitcpio to name the kernel + echo "$pkgbase" | install -Dm644 /dev/stdin "$modulesdir/pkgbase" - echo "Installing modules..." - make INSTALL_MOD_PATH="$pkgdir/usr" modules_install + echo "Installing modules..." + make INSTALL_MOD_PATH="$pkgdir/usr" INSTALL_MOD_STRIP=1 modules_install - # remove build and source links - rm "$modulesdir"/{source,build} + # remove build and source links + rm "$modulesdir"/{source,build} } _package-headers() { pkgdesc="Headers and scripts for building modules for the $pkgdesc kernel" - - cd ${_srcname} - local builddir="$pkgdir/usr/lib/modules/$(<version)/build" - - echo "Installing build files..." - install -Dt "$builddir" -m644 .config Makefile Module.symvers System.map \ - localversion.* version vmlinux - install -Dt "$builddir/kernel" -m644 kernel/Makefile - install -Dt "$builddir/arch/x86" -m644 arch/x86/Makefile - cp -t "$builddir" -a scripts - - # add objtool for external module building and enabled VALIDATION_STACK option - install -Dt "$builddir/tools/objtool" tools/objtool/objtool - - # add xfs and shmem for aufs building - mkdir -p "$builddir"/{fs/xfs,mm} - - echo "Installing headers..." - cp -t "$builddir" -a include - cp -t "$builddir/arch/x86" -a arch/x86/include - install -Dt "$builddir/arch/x86/kernel" -m644 arch/x86/kernel/asm-offsets.s - - install -Dt "$builddir/drivers/md" -m644 drivers/md/*.h - install -Dt "$builddir/net/mac80211" -m644 net/mac80211/*.h - - # http://bugs.archlinux.org/task/13146 - install -Dt "$builddir/drivers/media/i2c" -m644 drivers/media/i2c/msp3400-driver.h - - # http://bugs.archlinux.org/task/20402 - install -Dt "$builddir/drivers/media/usb/dvb-usb" -m644 drivers/media/usb/dvb-usb/*.h - install -Dt "$builddir/drivers/media/dvb-frontends" -m644 drivers/media/dvb-frontends/*.h - install -Dt "$builddir/drivers/media/tuners" -m644 drivers/media/tuners/*.h - - echo "Installing KConfig files..." - find . -name 'Kconfig*' -exec install -Dm644 {} "$builddir/{}" \; - - echo "Removing unneeded architectures..." - local arch - for arch in "$builddir"/arch/*/; do - [[ $arch = */x86/ ]] && continue - echo "Removing $(basename "$arch")" - rm -r "$arch" - done - - echo "Removing documentation..." - rm -r "$builddir/Documentation" - - echo "Removing broken symlinks..." - find -L "$builddir" -type l -printf 'Removing %P\n' -delete - - echo "Removing loose objects..." - find "$builddir" -type f -name '*.o' -printf 'Removing %P\n' -delete - - echo "Stripping build tools..." - local file - while read -rd '' file; do - case "$(file -bi "$file")" in - application/x-sharedlib\;*) # Libraries (.so) - strip -v $STRIP_SHARED "$file" ;; - application/x-archive\;*) # Libraries (.a) - strip -v $STRIP_STATIC "$file" ;; - application/x-executable\;*) # Binaries - strip -v $STRIP_BINARIES "$file" ;; - application/x-pie-executable\;*) # Relocatable binaries - strip -v $STRIP_SHARED "$file" ;; - esac - done < <(find "$builddir" -type f -perm -u+x ! -name vmlinux -print0) - - echo "Adding symlink..." - mkdir -p "$pkgdir/usr/src" - ln -sr "$builddir" "$pkgdir/usr/src/$pkgbase" + depends=('linux-cacule-rc' 'pahole') + + cd $_srcname + local builddir="$pkgdir/usr/lib/modules/$(<version)/build" + + echo "Installing build files..." + install -Dt "$builddir" -m644 .config Makefile Module.symvers System.map \ + localversion.* version vmlinux + install -Dt "$builddir/kernel" -m644 kernel/Makefile + install -Dt "$builddir/arch/x86" -m644 arch/x86/Makefile + cp -t "$builddir" -a scripts + + # add objtool for external module building and enabled VALIDATION_STACK option + install -Dt "$builddir/tools/objtool" tools/objtool/objtool + + # add xfs and shmem for aufs building + mkdir -p "$builddir"/{fs/xfs,mm} + + echo "Installing headers..." + cp -t "$builddir" -a include + cp -t "$builddir/arch/x86" -a arch/x86/include + install -Dt "$builddir/arch/x86/kernel" -m644 arch/x86/kernel/asm-offsets.s + + install -Dt "$builddir/drivers/md" -m644 drivers/md/*.h + install -Dt "$builddir/net/mac80211" -m644 net/mac80211/*.h + + # http://bugs.archlinux.org/task/13146 + install -Dt "$builddir/drivers/media/i2c" -m644 drivers/media/i2c/msp3400-driver.h + + # http://bugs.archlinux.org/task/20402 + install -Dt "$builddir/drivers/media/usb/dvb-usb" -m644 drivers/media/usb/dvb-usb/*.h + install -Dt "$builddir/drivers/media/dvb-frontends" -m644 drivers/media/dvb-frontends/*.h + install -Dt "$builddir/drivers/media/tuners" -m644 drivers/media/tuners/*.h + + echo "Installing KConfig files..." + find . -name 'Kconfig*' -exec install -Dm644 {} "$builddir/{}" \; + + echo "Removing unneeded architectures..." + local arch + for arch in "$builddir"/arch/*/; do + [[ $arch = */x86/ ]] && continue + echo "Removing $(basename "$arch")" + rm -r "$arch" + done + + echo "Removing documentation..." + rm -r "$builddir/Documentation" + + echo "Removing broken symlinks..." + find -L "$builddir" -type l -printf 'Removing %P\n' -delete + + echo "Removing loose objects..." + find "$builddir" -type f -name '*.o' -printf 'Removing %P\n' -delete + + echo "Stripping build tools..." + local file + while read -rd '' file; do + case "$(file -bi "$file")" in + application/x-sharedlib\;*) # Libraries (.so) + strip -v $STRIP_SHARED "$file" ;; + application/x-archive\;*) # Libraries (.a) + strip -v $STRIP_STATIC "$file" ;; + application/x-executable\;*) # Binaries + strip -v $STRIP_BINARIES "$file" ;; + application/x-pie-executable\;*) # Relocatable binaries + strip -v $STRIP_SHARED "$file" ;; + esac + done < <(find "$builddir" -type f -perm -u+x ! -name vmlinux -print0) + + 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") @@ -516,32 +518,3 @@ for _p in "${pkgname[@]}"; do _package${_p#$pkgbase} }" done - -sha256sums=('7d0df6f2bf2384d68d0bd8e1fe3e071d64364dcdc6002e7b5c87c92d48fac366' - '742e13b424c618689734c3c41a14c5cda5a09d8546ed5b1433153d4619524dfe' - '5cfde84b9b7b71cde2a9823859184ed08f7eece119b2776f0e620c8528a156e5' - 'dd89db0483301a62cef23ba797fee1fb9804f570f952df87fe418ee22e353227' - 'a90ec03375bf97c06bf2ca3f1fd0224deee8408077f71447326b2796b53652a1' - 'd50836cb16ef209b4bdd7bef792485b8f0ff847a96d2b6eca109da0b7e05f79b' - '4ff5c33785445f103d479196bb33c4f991d6c5f56df5c643ec6d2451368f0605' - 'db4707a6430a80447fabc2517e554cf9e055a4039b362f683bd9dd7f04d7a667' - 'f7c68f43599c53ce19a14e6f296e5e0820257e80acb9f52a1dec036d0d9a62ab' - '9eabd1468635477d9c143e9f59d86cf0dd32583bf6bd926080a6707f86d363ed' - '5587a2d535dcd7ff09080c27f32a02dc67a0d35145b0b49ae10e8520c906a153' - '12b36059033201c99e54a0e863c3ded470faff1226d9b984bdb15bd3a8ec4a7c' - '8c892547828704e05cd480e58944327029bf50f81258ae0501a4872b465b20b9' - '7cdc6402f6ab8a8b99f7c7c4766a6cf82773ef399903abebf6208bfd2f8b2cf2' - 'f7a36231b794022d49e53f464d25e48f2eebf6266c2cbe5756c63aa3bf03bae7' - '2b261d4845899cfec315c81cfbfd3ba653a0465145e7dad9ac2f6595366ea3c8' - '59dc35df675221c9e54326e4a2ca57074c955387e1d4cb0b6543424bc84bdb11' - 'f71cc3bdd9b3488ece3d7433ff65e0dd9f544f069b82e84e32ad67e2e7f64718' - '42dc3c76534393d1b59ca3f321797566a7637bbb110f604eb9bf584b867a97a4' - '0b44848f5b8926a9e9db8064aeefbfb53c289923e25779c11ddb2a5b149fdb12' - '4ad652d36fdd3f5142e66407a964e8e0d3c91ab3e7094a368de1ef1b21f6d19a' - 'd68ed98e7bc5a8f9ebc48c16cd0be47be948578621a70b13fcbb13e280469056' - '7056565c13628e7885538aca4cdb384f1a2b65c4c02a502ddfe182ddb7ce347e' - '84c231a4d66726e4ed84807de961e0aa37bc3cb13fda0c3d82f7c23470ca6ecd' - '5a0c7b01ce8baf4dc480b33eddd203a1620ad4885122a3967f580cb172d0f9b7' - 'efc3e1e4c2ef22a570a0e8cfdaea4617655e1baddce02829d6a0acc5b9a7ab58' - '64a7a848ca409f359d16e9732f4e623126eeb89bfae85c884391b9b280facdcf' - '0b18daa836fd70dbabf68b1db85b01e585f8cad2f1a2ef5c2ced9db4e1f75d3a') @@ -179,11 +179,11 @@ CONFIG_MEMCG_SWAP=y CONFIG_MEMCG_KMEM=y CONFIG_BLK_CGROUP=y CONFIG_CGROUP_WRITEBACK=y -CONFIG_CGROUP_SCHED=y -CONFIG_FAIR_GROUP_SCHED=y +CONFIG_CGROUP_SCHED=n +CONFIG_FAIR_GROUP_SCHED=n CONFIG_CFS_BANDWIDTH=y # CONFIG_RT_GROUP_SCHED is not set -CONFIG_UCLAMP_TASK_GROUP=y +CONFIG_UCLAMP_TASK_GROUP=n CONFIG_CGROUP_PIDS=y CONFIG_CGROUP_RDMA=y CONFIG_CGROUP_FREEZER=y @@ -206,7 +206,8 @@ CONFIG_PID_NS=y CONFIG_NET_NS=y CONFIG_CHECKPOINT_RESTORE=y CONFIG_CACULE_SCHED=y -CONFIG_SCHED_AUTOGROUP=y +CONFIG_CACULE_RDB=y +CONFIG_SCHED_AUTOGROUP=n # CONFIG_SYSFS_DEPRECATED is not set CONFIG_RELAY=y CONFIG_BLK_DEV_INITRD=y @@ -405,7 +406,7 @@ CONFIG_ACRN_GUEST=y # CONFIG_MSAPPHIRERAPIDS is not set # CONFIG_MROCKETLAKE is not set # CONFIG_MALDERLAKE is not set -CONFIG_GENERIC_CPU=y +# CONFIG_GENERIC_CPU is not set # CONFIG_GENERIC_CPU2 is not set # CONFIG_GENERIC_CPU3 is not set # CONFIG_GENERIC_CPU4 is not set @@ -9737,7 +9738,7 @@ CONFIG_LOCK_DOWN_KERNEL_FORCE_NONE=y # CONFIG_DEFAULT_SECURITY_TOMOYO is not set # CONFIG_DEFAULT_SECURITY_APPARMOR is not set CONFIG_DEFAULT_SECURITY_DAC=y -CONFIG_LSM="lockdown,yama" +CONFIG_LSM="lockdown,yama,bpf" # # Kernel hardening options |