summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorP.Jung2021-08-13 04:51:37 +0000
committerP.Jung2021-08-13 04:51:37 +0000
commitf6f817b6d32ea89271c429477b2d8621ae8dd602 (patch)
treeb5070bd40c088d98226d3b43126d19f0e46b754a
parente3d95908cd0d8b89d4083623380e47d3d53d329b (diff)
downloadaur-f6f817b6d32ea89271c429477b2d8621ae8dd602.tar.gz
config
-rw-r--r--.SRCINFO88
-rw-r--r--PKGBUILD929
2 files changed, 464 insertions, 553 deletions
diff --git a/.SRCINFO b/.SRCINFO
index a6be2f641e61..cb1fa0fb5ab5 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,30 +1,26 @@
pkgbase = linux-cacule-rdb-llvm
- pkgdesc = Linux Kernel with cacule scheduler and lto compiled
+ pkgdesc = Linux-CacULE-RDB Kernel by Hamad Marri and with some other patchsets
pkgver = 5.13.10
- pkgrel = 1
- url = https://kernel.org/
+ pkgrel = 2
+ url = https://github.com/hamadmarri/cacule-cpu-scheduler
arch = x86_64
arch = x86_64_v3
license = GPL2
- makedepends = bc
makedepends = kmod
+ makedepends = bc
makedepends = libelf
+ makedepends = python-sphinx
+ makedepends = python-sphinx_rtd_theme
+ makedepends = graphviz
+ makedepends = imagemagick
makedepends = pahole
makedepends = cpio
makedepends = perl
makedepends = tar
makedepends = xz
- makedepends = xmlto
- makedepends = python-sphinx
- makedepends = python-sphinx_rtd_theme
- makedepends = graphviz
- makedepends = imagemagick
- makedepends = git
- makedepends = llvm
- makedepends = clang
- makedepends = lld
options = !strip
- source = https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.13.10.tar.xz
+ source = https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.13.tar.xz
+ source = https://cdn.kernel.org/pub/linux/kernel/v5.x/patch-5.13.10.xz
source = config
source = https://raw.githubusercontent.com/ptr1337/linux-cacule-aur/master/patches/5.13/arch-patches-v3/0001-arch-patches.patch
source = https://raw.githubusercontent.com/ptr1337/linux-cacule-aur/master/patches/CacULE/v5.13/cacule-5.13.patch
@@ -51,47 +47,45 @@ pkgbase = linux-cacule-rdb-llvm
source = https://raw.githubusercontent.com/ptr1337/linux-cacule-aur/master/patches/5.13/zstd-patches-v5/0001-zstd-patches.patch
source = https://raw.githubusercontent.com/ptr1337/linux-cacule-aur/master/patches/5.13/clearlinux-patches-v2/0001-clearlinux-patches.patch
source = https://raw.githubusercontent.com/ptr1337/linux-cacule-aur/master/patches/5.13/v4l2loopback-patches-v2/0001-v4l2loopback-patches.patch
- sha256sums = 30caf51b8f8bd127f3dbcad8ed5e696c0c0e3ca5201ce34c3cb66d820590d705
- sha256sums = 9bf9b0632ee2f69e8073efb215ba907b2cd18b35cfc5a4e3e6b2834e8b631c13
- sha256sums = 5e0070b364a3d6f05b0c8fe32e6a30b8acfaf16d2b60d472375f780582fe36cf
- sha256sums = d498816b89a46bde060cbea77313ec14e293f820ea76c682870e894e6ff4af22
- sha256sums = 476c99cb010eb536ebf8b68044cd7f2a581c74e4d5c5e71e0983541f727bafde
- sha256sums = a65035f7b751ea792989784083d5063293d1a0979bcf4c428b4ba94aeac17809
- sha256sums = e1d58afdd4a9bf5a6a9ff0ff8e943d8a67da24fd4160b94655bf3fae5820e135
- sha256sums = 034d12a73b507133da2c69a34d61efd2f6b6618549650aa26d748142d22002e1
- sha256sums = d9b37cb7edfd48b368f6969e1698278f74f548474bd2707d14a78f371a5e3b15
- sha256sums = f39ce0a6a967e4c83f665288479c3236b211bbbb4ee508d6fbefee2904a4e80c
- sha256sums = 933cf04b6705e9564435163a514082f249b2a8e81e88f08fb3ce68bfe8ffcec7
- sha256sums = 0b2a42aad39d0feb26b7cf1996ba6792788d060f3b73a7019aa1df9c0922ced8
- sha256sums = 0735544a91293d9c192b7f9283541fe62ea5517c11e4b421b502ab76c064bd62
- sha256sums = 320e67ab827abb506481b9053fae85e494195e5d0ee3b61948999965856b425c
- sha256sums = 744a615a9099df44bb9c181f1d140a099fe11136c8dbb0b26e4af045460298a6
- sha256sums = aa5cbec74dc27591d47616c6c0748475ab55b5efdcbc9d81c2cc49b9b0bf2c00
- sha256sums = 7289f4ce29d653a0ca511410b66bd3cb42fbcc54f5e097c85e528d4e27ce41ff
- sha256sums = d2ba0ec7f76e267417f72abbf3ef35ce232d1e83c7ff33971bf8ccabb9739604
- sha256sums = 4c1bd02bdd1f3596f1066db8b0d5c38252ecaa830eb0719d4c0df11535523dc1
- sha256sums = e5818fcaa55ed416b08900db04f18ae6d29b89d19e0b2fb3feb410efd8099b32
- sha256sums = 0c1e42b6c197e5e5c8a0c5f4047037289063e064f6b841f05028c62b5449864b
- sha256sums = d562264ae4492ec07c55690cac0ee95703beed453330ab7a147e60c25b52e20f
- sha256sums = 8e56f88209ec69bf7004c52a7f31ba5fffa2c6af3db306e7ec385210a0b5944e
- sha256sums = 78b07f9d39573633ac7035201d7a95c44675084562995b7e60e549e44fbcfcb7
- sha256sums = a137f641dad68b0b29491c4e87a41569578aa3c95a37a654912b7d5c16a756bc
- sha256sums = 04205c627cd3dcb737bd7b432cd7172d30f4ca0114b003bc3ac0dc8dadfa3c01
- sha256sums = 825d83cc3f243d12a4501e6b691a78dfa812e61dcd4c042a07ab4be484052bda
+ md5sums = 76c60fb304510a7bbd9c838790bc5fe4
+ md5sums = 4d745d474d07277daee24107239c8902
+ md5sums = 4b922991e637a20e8d4e2f2fd88451ee
+ md5sums = 6d8a2a8f499dd9643ca4af2254389ce7
+ md5sums = 078da517ec2d54283af81d7da3af671a
+ md5sums = 7640a753a7803248543675a6edc75e08
+ md5sums = 85f4be6562ee033b83814353a12b61bd
+ md5sums = 3ec9a8784a9e73462def2e9c33de9a1e
+ md5sums = 9573b92353399343db8a691c9b208300
+ md5sums = e15a64663e6221ea40b02aeb8517e70a
+ md5sums = 1217799f33d6ba822152a0e2fb6f2e34
+ md5sums = 31c897f53b91f98532321cd24928c0d7
+ md5sums = 698d661fa23611933146b83e0fa9cade
+ md5sums = 4f9e72e7edb909da5cd650afe13aadb6
+ md5sums = 9bbbd88f0303ccd59064648eaaf80edd
+ md5sums = 1bd37d8e71b2a7aae8ebd2853a08f445
+ md5sums = 65a4399a10b2abd0f327145d479db12d
+ md5sums = 81f27f12e20971c7d7fc3a53ffb6842c
+ md5sums = f9b3c2263204ebfae89f29b83278b54b
+ md5sums = e84f0dadb9e7487fac39541c5bd85d7a
+ md5sums = b6623f818462d08b03fdc1b573c90e9f
+ md5sums = 2b2be59407dd342f1cea80602a93b6c0
+ md5sums = 9977ba0e159416108217a45438ebebb4
+ md5sums = 92e9db1a7777666a1e6353b4760f1275
+ md5sums = 9e5114dba6da65e8d444aa225b109a21
+ md5sums = 2aa4d3664fc16dac2f18fe8c22ba1df1
+ md5sums = 7dd37a74d7926f4c5ae3b3f76d7172a2
+ md5sums = 08590776013d05bc7a96ef5557c54200
pkgname = linux-cacule-rdb-llvm
- pkgdesc = The Linux Kernel with cacule scheduler and lto compiled and modules
+ pkgdesc = The Linux-CacULE-RDB Kernel 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
- replaces = virtualbox-guest-modules-arch
- replaces = wireguard-arch
pkgname = linux-cacule-rdb-llvm-headers
- pkgdesc = Headers and scripts for building modules for the Linux Kernel with cacule scheduler and lto compiled
- depends = linux-cacule-rdb-llvm=5.13.10
- depends = pahole
+ pkgdesc = Headers and scripts for building modules for the Linux-CacULE-RDB Kernel by Hamad Marri and with some other patchsets kernel
diff --git a/PKGBUILD b/PKGBUILD
index 0447d593e328..9c9e91642b3f 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -59,54 +59,52 @@ _use_current=
### IMPORTANT: Do no edit below this line unless you know what you're doing
+_major=5.13
+_minor=10
+_srcname=linux-${_major}
pkgbase=linux-cacule-rdb-llvm
-pkgname=("${pkgbase}" "${pkgbase}-headers")
-pkgver=5.13.10
-pkgrel=1
-arch=(x86_64 x86_64_v3)
-pkgdesc='Linux Kernel with cacule scheduler and lto compiled'
-_gittag=v${pkgver%.*}-${pkgver##*.}
-url="https://kernel.org/"
-license=(GPL2)
-makedepends=(
- bc kmod libelf pahole cpio perl tar xz
- xmlto python-sphinx python-sphinx_rtd_theme
- graphviz imagemagick git llvm clang lld
-)
+pkgver=${_major}.${_minor}
+#pkgver=${_major}
+pkgrel=2
+pkgdesc='Linux-CacULE-RDB Kernel by Hamad Marri and with some other patchsets'
+arch=('x86_64' 'x86_64_v3')
+url="https://github.com/hamadmarri/cacule-cpu-scheduler"
+license=('GPL2')
+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.13"
_caculepatches="https://raw.githubusercontent.com/ptr1337/linux-cacule-aur/master/patches/CacULE"
source=(
- "https://cdn.kernel.org/pub/linux/kernel/v${pkgver:0:1}.x/linux-${pkgver}.tar.xz"
- 'config' # kernel config file
- #'0002-x86-fpu-2021-07-07.patch'
-# '0003-clang.patch'
-"${_patchsource}/arch-patches-v3/0001-arch-patches.patch"
-"${_caculepatches}/v5.13/cacule-5.13.patch"
-"${_patchsource}/cpu-patches/0001-cpu-patches.patch"
-"${_patchsource}/futex-patches/0001-futex-resync-from-gitlab.collabora.com.patch"
-"${_patchsource}/futex2-xanmod-patches-v3/0001-futex2-resync-from-gitlab.collabora.com.patch"
-"${_patchsource}/winesync/5.13-winesync.patch"
-"${_patchsource}/xanmod-patches-v2/0001-xanmod-patches.patch"
-"${_patchsource}/zen-patches/0001-zen-patches.patch"
-"${_patchsource}/lqx-patches-v3/0001-lqx-patches.patch"
-"${_patchsource}/bfq-patches-v6/0001-bfq-patches.patch"
-"${_patchsource}/block-patches-v2/0001-block-patches.patch"
-"${_patchsource}/fixes-miscellaneous/0001-fixes-miscellaneous.patch"
-"${_patchsource}/bbr2-patches-v2/0001-bbr2-patches.patch"
-"${_patchsource}/btrfs-patches-v2/0001-btrfs-patches.patch"
-"${_patchsource}/android-patches/0001-android-export-symbold-and-enable-building-ashmem-an.patch"
-"${_patchsource}/pf-patches-v9/0001-pf-patches.patch"
-"${_patchsource}/lru-patches-v7/0001-lru-patches.patch"
-"${_patchsource}/ntfs3-patches-v2/0001-ntfs3-patches.patch"
-"${_patchsource}/lrng-patches/0001-lrng-patches-v2.patch"
-"${_patchsource}/security-patches/0001-security-patches.patch"
-"${_patchsource}/alsa-patches/0001-alsa-patches.patch"
-"${_patchsource}/zstd-upstream-patches/0001-zstd-upstream-patches.patch"
-"${_patchsource}/zstd-patches-v5/0001-zstd-patches.patch"
-"${_patchsource}/clearlinux-patches-v2/0001-clearlinux-patches.patch"
-"${_patchsource}/v4l2loopback-patches-v2/0001-v4l2loopback-patches.patch"
-)
-
+ "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-v3/0001-arch-patches.patch"
+ "${_caculepatches}/v5.13/cacule-5.13.patch"
+ "${_patchsource}/cpu-patches/0001-cpu-patches.patch"
+ "${_patchsource}/futex-patches/0001-futex-resync-from-gitlab.collabora.com.patch"
+ "${_patchsource}/futex2-xanmod-patches-v3/0001-futex2-resync-from-gitlab.collabora.com.patch"
+ "${_patchsource}/winesync/5.13-winesync.patch"
+ "${_patchsource}/xanmod-patches-v2/0001-xanmod-patches.patch"
+ "${_patchsource}/zen-patches/0001-zen-patches.patch"
+ "${_patchsource}/lqx-patches-v3/0001-lqx-patches.patch"
+ "${_patchsource}/bfq-patches-v6/0001-bfq-patches.patch"
+ "${_patchsource}/block-patches-v2/0001-block-patches.patch"
+ "${_patchsource}/fixes-miscellaneous/0001-fixes-miscellaneous.patch"
+ "${_patchsource}/bbr2-patches-v2/0001-bbr2-patches.patch"
+ "${_patchsource}/btrfs-patches-v2/0001-btrfs-patches.patch"
+ "${_patchsource}/android-patches/0001-android-export-symbold-and-enable-building-ashmem-an.patch"
+ "${_patchsource}/pf-patches-v9/0001-pf-patches.patch"
+ "${_patchsource}/lru-patches-v7/0001-lru-patches.patch"
+ "${_patchsource}/ntfs3-patches-v2/0001-ntfs3-patches.patch"
+ "${_patchsource}/lrng-patches/0001-lrng-patches-v2.patch"
+ "${_patchsource}/security-patches/0001-security-patches.patch"
+ "${_patchsource}/alsa-patches/0001-alsa-patches.patch"
+ "${_patchsource}/zstd-upstream-patches/0001-zstd-upstream-patches.patch"
+ "${_patchsource}/zstd-patches-v5/0001-zstd-patches.patch"
+ "${_patchsource}/clearlinux-patches-v2/0001-clearlinux-patches.patch"
+ "${_patchsource}/v4l2loopback-patches-v2/0001-v4l2loopback-patches.patch"
+ )
BUILD_FLAGS=(
LLVM=1
LLVM_IAS=1
@@ -124,502 +122,421 @@ BUILD_FLAGS=(
OBJCOPY=llvm-objcopy
OBJDUMP=objdump
)
-sha256sums=('30caf51b8f8bd127f3dbcad8ed5e696c0c0e3ca5201ce34c3cb66d820590d705'
- '9bf9b0632ee2f69e8073efb215ba907b2cd18b35cfc5a4e3e6b2834e8b631c13'
- '5e0070b364a3d6f05b0c8fe32e6a30b8acfaf16d2b60d472375f780582fe36cf'
- 'd498816b89a46bde060cbea77313ec14e293f820ea76c682870e894e6ff4af22'
- '476c99cb010eb536ebf8b68044cd7f2a581c74e4d5c5e71e0983541f727bafde'
- 'a65035f7b751ea792989784083d5063293d1a0979bcf4c428b4ba94aeac17809'
- 'e1d58afdd4a9bf5a6a9ff0ff8e943d8a67da24fd4160b94655bf3fae5820e135'
- '034d12a73b507133da2c69a34d61efd2f6b6618549650aa26d748142d22002e1'
- 'd9b37cb7edfd48b368f6969e1698278f74f548474bd2707d14a78f371a5e3b15'
- 'f39ce0a6a967e4c83f665288479c3236b211bbbb4ee508d6fbefee2904a4e80c'
- '933cf04b6705e9564435163a514082f249b2a8e81e88f08fb3ce68bfe8ffcec7'
- '0b2a42aad39d0feb26b7cf1996ba6792788d060f3b73a7019aa1df9c0922ced8'
- '0735544a91293d9c192b7f9283541fe62ea5517c11e4b421b502ab76c064bd62'
- '320e67ab827abb506481b9053fae85e494195e5d0ee3b61948999965856b425c'
- '744a615a9099df44bb9c181f1d140a099fe11136c8dbb0b26e4af045460298a6'
- 'aa5cbec74dc27591d47616c6c0748475ab55b5efdcbc9d81c2cc49b9b0bf2c00'
- '7289f4ce29d653a0ca511410b66bd3cb42fbcc54f5e097c85e528d4e27ce41ff'
- 'd2ba0ec7f76e267417f72abbf3ef35ce232d1e83c7ff33971bf8ccabb9739604'
- '4c1bd02bdd1f3596f1066db8b0d5c38252ecaa830eb0719d4c0df11535523dc1'
- 'e5818fcaa55ed416b08900db04f18ae6d29b89d19e0b2fb3feb410efd8099b32'
- '0c1e42b6c197e5e5c8a0c5f4047037289063e064f6b841f05028c62b5449864b'
- 'd562264ae4492ec07c55690cac0ee95703beed453330ab7a147e60c25b52e20f'
- '8e56f88209ec69bf7004c52a7f31ba5fffa2c6af3db306e7ec385210a0b5944e'
- '78b07f9d39573633ac7035201d7a95c44675084562995b7e60e549e44fbcfcb7'
- 'a137f641dad68b0b29491c4e87a41569578aa3c95a37a654912b7d5c16a756bc'
- '04205c627cd3dcb737bd7b432cd7172d30f4ca0114b003bc3ac0dc8dadfa3c01'
- '825d83cc3f243d12a4501e6b691a78dfa812e61dcd4c042a07ab4be484052bda')
-options=('!strip')
-
export KBUILD_BUILD_HOST=archlinux
-export KBUILD_BUILD_USER="${pkgbase}"
+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}
+
+ ### Setting version
+ echo "Setting version..."
+ scripts/setlocalversion --save-scmversion
+ echo "-$pkgrel" > localversion.10-pkgrel
+ echo "${pkgbase#linux}" > localversion.20-pkgname
+
+ local src
+ for src in "${source[@]}"; do
+ src="${src%%::*}"
+ src="${src##*/}"
+ [[ $src = *.patch ]] || continue
+ echo "Applying patch $src..."
+ patch -Np1 < "../$src"
+ done
+
+ ### Setting config
+ echo "Setting config..."
+ cp "${srcdir}"/config .config
+ make ${BUILD_FLAGS[*]} olddefconfig
+ ### CPU_ARCH SCRIPT ##
+ source "${startdir}"/configure
+ cpu_arch
- cd "${srcdir:?}/linux-${pkgver}" || (
- echo -e "\E[1;31mCan't cd to ${srcdir:?}/linux-${pkgver} directory! Prepare failed! \E[0m"
- exit 1
- )
+ ### 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
- ### Setting version
- echo "Setting version..."
- scripts/setlocalversion --save-scmversion
- echo "-$pkgrel" > localversion.10-pkgrel
- echo "${pkgbase#linux}" > localversion.20-pkgname
+ ### 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
- local src
- for src in "${source[@]}"; do
- src="${src%%::*}"
- src="${src##*/}"
- [[ $src = *.patch ]] || continue
- echo "Applying patch $src..."
- patch -Np1 < "../$src"
- done
+ ### 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
- echo "Setting config..."
- cp ../config .config
+ if [ -n "$_futex2" ]; then
+ echo "Enable Futex2 support"
+ scripts/config --enable CONFIG_FUTEX2
+ fi
- make ${BUILD_FLAGS[*]} olddefconfig
+ if [ -n "$_winesync" ]; then
+ echo "Enable winesync support"
+ scripts/config --module CONFIG_WINESYNC
+ fi
- ### CPU_ARCH SCRIPT ##
- source "${startdir}"/configure
+ ### 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
- 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
+ ### 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
+ scripts/config --enable CONFIG_UNEVICTABLE_ANON
+ scripts/config --set-val CONFIG_UNEVICTABLE_ANON_KBYTES_LOW 65536
+ scripts/config --set-val CONFIG_UNEVICTABLE_ANON_KBYTES_MIN 32768
+ fi
+
+ ### Enable 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
+
+
+ ### 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
- ### 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
+ ### Enable Linux Random Number Generator
+ if [ -n "$_lrng_enable" ]; then
+ echo "Enabling Linux Random Number Generator ..."
+ scripts/config --enable CONFIG_LRNG
+ scripts/config --disable CONFIG_LRNG_OVERSAMPLE_ENTROPY_SOURCES
+ scripts/config --set-val CONFIG_CONFIG_LRNG_OVERSAMPLE_ES_BITS 0
+ scripts/config --set-val CONFIG_LRNG_SEED_BUFFER_INIT_ADD_BITS 0
+ scripts/config --enable CONFIG_LRNG_CONTINUOUS_COMPRESSION_ENABLED
+ scripts/config --disable CONFIG_LRNG_CONTINUOUS_COMPRESSION_DISABLED
+ scripts/config --disable CONFIG_LRNG_SWITCHABLE_CONTINUOUS_COMPRESSION
+ scripts/config --disable CONFIG_LRNG_COLLECTION_SIZE_32
+ scripts/config --disable CONFIG_LRNG_COLLECTION_SIZE_256
+ 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 --disable CONFIG_LRNG_HEALTH_TESTS
+ scripts/config --set-val CONFIG_LRNG_RCT_CUTOFF 31
+ scripts/config --set-val CONFIG_LRNG_APT_CUTOFF 325
+ scripts/config --set-val CONFIG_LRNG_IRQ_ENTROPY_RATE 256
+ scripts/config --enable CONFIG_LRNG_JENT
+ scripts/config --set-val CONFIG_LRNG_JENT_ENTROPY_RATE 16
+ scripts/config --set-val CONFIG_LRNG_CPU_ENTROPY_RATE 8
+ scripts/config --disable CONFIG_LRNG_DRNG_SWITCH
+ scripts/config --disable CONFIG_LRNG_DRBG
+ scripts/config --disable CONFIG_LRNG_TESTING_MENU
+ scripts/config --disable CONFIG_LRNG_SELFTEST
fi
- ### Disable Kyber I/O scheduler
- if [ -n "$_kyber_disable" ]; then
- echo "Disabling Kyber I/O scheduler..."
- scripts/config --disable CONFIG_MQ_IOSCHED_KYBER
+ ### Enable SECURITY_FORK_BRUTE
+ if [ -n "$_fork_brute" ]; then
+ echo "Enabling SECURITY_FORK_BRUTE..."
+ scripts/config --enable CONFIG_SECURITY_FORK_BRUTE
+ scripts/config --set-str CONFIG_LSM lockdown,yama,brute
fi
-
-
-
-
- ### Enable protect file mappings under memory pressure
- if [ -n "$_mm_protect" ]; then
- echo "Enabling protect file mappings under memory pressure..."
- scripts/config --enable CONFIG_UNEVICTABLE_FILE
- scripts/config --set-val CONFIG_UNEVICTABLE_FILE_KBYTES_LOW 262144
- scripts/config --set-val CONFIG_UNEVICTABLE_FILE_KBYTES_MIN 131072
- scripts/config --enable CONFIG_UNEVICTABLE_ANON
- scripts/config --set-val CONFIG_UNEVICTABLE_ANON_KBYTES_LOW 65536
- scripts/config --set-val CONFIG_UNEVICTABLE_ANON_KBYTES_MIN 32768
+ ### Enabling Cacule-Config ##
+ echo "Enable CacULE CPU scheduler..."
+ scripts/config --enable CONFIG_CACULE_SCHED
+ scripts/config --enable CONFIG_CACULE_RDB
+ scripts/config --set-val CONFIG_RDB_INTERVAL 19
+ scripts/config --disable CONFIG_RDB_TASKS_GROUP
+ 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 --disable 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
+
+
+ ### 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
-
- ### 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
+
+ ### 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
fi
+ 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 --enable CONFIG_LRNG
- scripts/config --disable CONFIG_LRNG_OVERSAMPLE_ENTROPY_SOURCES
- scripts/config --set-val CONFIG_CONFIG_LRNG_OVERSAMPLE_ES_BITS 0
- scripts/config --set-val CONFIG_LRNG_SEED_BUFFER_INIT_ADD_BITS 0
- scripts/config --enable CONFIG_LRNG_CONTINUOUS_COMPRESSION_ENABLED
- scripts/config --disable CONFIG_LRNG_CONTINUOUS_COMPRESSION_DISABLED
- scripts/config --disable CONFIG_LRNG_SWITCHABLE_CONTINUOUS_COMPRESSION
- scripts/config --disable CONFIG_LRNG_COLLECTION_SIZE_32
- scripts/config --disable CONFIG_LRNG_COLLECTION_SIZE_256
- 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 --disable CONFIG_LRNG_HEALTH_TESTS
- scripts/config --set-val CONFIG_LRNG_RCT_CUTOFF 31
- scripts/config --set-val CONFIG_LRNG_APT_CUTOFF 325
- scripts/config --set-val CONFIG_LRNG_IRQ_ENTROPY_RATE 256
- scripts/config --enable CONFIG_LRNG_JENT
- scripts/config --set-val CONFIG_LRNG_JENT_ENTROPY_RATE 16
- scripts/config --set-val CONFIG_LRNG_CPU_ENTROPY_RATE 8
- scripts/config --disable CONFIG_LRNG_DRNG_SWITCH
- scripts/config --disable CONFIG_LRNG_DRBG
- scripts/config --disable CONFIG_LRNG_TESTING_MENU
- scripts/config --disable CONFIG_LRNG_SELFTEST
- fi
-
- ### Enable SECURITY_FORK_BRUTE
- if [ -n "$_fork_brute" ]; then
- echo "Enabling SECURITY_FORK_BRUTE..."
- scripts/config --enable CONFIG_SECURITY_FORK_BRUTE
- scripts/config --set-str CONFIG_LSM lockdown,yama,brute
- 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_CACULE_RDB
- scripts/config --set-val CONFIG_RDB_INTERVAL 19
- scripts/config --disable CONFIG_RDB_TASKS_GROUP
- scripts/config --disable CONFIG_FAIR_GROUP_SCHED
- scripts/config --disable 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 --disable CONFIG_NO_HZ_FULL
- scripts/config --enable CONFIG_NO_HZ
- scripts/config --enable CONFIG_NO_HZ_COMMON
- scripts/config --disable 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
- # 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_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
-
-
- ### 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 LSMOD=$HOME/.config/modprobed.db localmodconfig
- else
- echo "No modprobed.db data found"
- exit
- fi
- fi
-
-
- make ${BUILD_FLAGS[*]} -s kernelrelease >version
- echo "Prepared ${pkgbase} version $(<version)"
-
+ make ${BUILD_FLAGS[*]} -s kernelrelease > version
+ echo "Prepared $pkgbase version $(<version)"
[[ -z "$_makenconfig" ]] || make nconfig
- ## Save configuration for later reuse
+ ### Save configuration for later reuse
cp -Tf ./.config "${startdir}/config-${pkgver}-${pkgrel}${pkgbase#linux}"
- }
+}
build() {
-
- cd "${srcdir:?}/linux-${pkgver}" || (
- echo -e "\E[1;31mCan't cd to ${srcdir:?}/linux-${pkgver} directory! Build failed! \E[0m"
- exit 1
- )
-
- make ${BUILD_FLAGS[*]} all
-
+ cd $_srcname
+ make ${BUILD_FLAGS[*]} all
}
-package_linux-cacule-rdb-llvm() {
+_package() {
+ pkgdesc="The $pkgdesc kernel and modules"
+ depends=('coreutils' 'kmod' 'initramfs')
+ optdepends=('crda: to set the correct wireless channels of your country'
+ 'linux-firmware: firmware images needed for some devices'
+ 'modprobed-db: Keeps track of EVERY kernel module that has ever been probed - useful for those of us who make localmodconfig')
+ provides=(VIRTUALBOX-GUEST-MODULES WIREGUARD-MODULE)
- pkgdesc="The ${pkgdesc} and modules"
- depends=(coreutils kmod initramfs)
- optdepends=('crda: to set the correct wireless channels of your country'
- 'linux-firmware: firmware images needed for some devices')
- provides=(VIRTUALBOX-GUEST-MODULES WIREGUARD-MODULE)
- replaces=(virtualbox-guest-modules-arch wireguard-arch)
+ cd $_srcname
- cd "${srcdir:?}/linux-${pkgver}" || (
- echo -e "\E[1;31mCan't cd to ${srcdir:?}/linux-${pkgver} directory! Package linux kernel failed! \E[0m"
- exit 1
- )
-
- 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"
+ local kernver="$(<version)"
+ local modulesdir="$pkgdir/usr/lib/modules/$kernver"
- # Used by mkinitcpio to name the kernel
- echo "${pkgbase}" | install -Dm644 /dev/stdin "${modulesdir}/pkgbase"
+ echo "Installing boot image..."
+ # systemd expects to find the kernel here to allow hibernation
+ # https://github.com/systemd/systemd/commit/edda44605f06a41fb86b7ab8128dcf99161d2344
+ install -Dm644 "$(make ${BUILD_FLAGS[*]} -s image_name)" "$modulesdir/vmlinuz"
- echo "Installing modules..."
- make INSTALL_MOD_PATH="${pkgdir:?}/usr" INSTALL_MOD_STRIP=1 modules_install
+ # Used by mkinitcpio to name the kernel
+ echo "$pkgbase" | install -Dm644 /dev/stdin "$modulesdir/pkgbase"
- # remove build and source links
- rm "${modulesdir}/"{source,build}
+ echo "Installing modules..."
+ make INSTALL_MOD_PATH="$pkgdir/usr" modules_install
+ # remove build and source links
+ rm "$modulesdir"/{source,build}
}
-package_linux-cacule-rdb-llvm-headers() {
-
- pkgdesc="Headers and scripts for building modules for the ${pkgdesc}"
- depends=("linux-cacule-rdb-llvm=${pkgver}" pahole)
-
- cd "${srcdir:?}/linux-${pkgver}" || (
- echo -e "\E[1;31mCan't cd to ${srcdir:?}/linux-${pkgver} directory! Package linux headers failed! \E[0m"
- exit 1
- )
-
- 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
-
- # https://bugs.archlinux.org/task/13146
- install -Dt "${builddir}/drivers/media/i2c" -m644 drivers/media/i2c/msp3400-driver.h
-
- # https://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
-
- # https://bugs.archlinux.org/task/71392
- install -Dt "${builddir}/drivers/iio/common/hid-sensors" -m644 drivers/iio/common/hid-sensors/*.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}"
-
+_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"
}
+
+pkgname=("$pkgbase" "$pkgbase-headers")
+for _p in "${pkgname[@]}"; do
+ eval "package_$_p() {
+ $(declare -f "_package${_p#$pkgbase}")
+ _package${_p#$pkgbase}
+ }"
+done
+
+md5sums=('76c60fb304510a7bbd9c838790bc5fe4'
+ '4d745d474d07277daee24107239c8902'
+ '4b922991e637a20e8d4e2f2fd88451ee'
+ '6d8a2a8f499dd9643ca4af2254389ce7'
+ '078da517ec2d54283af81d7da3af671a'
+ '7640a753a7803248543675a6edc75e08'
+ '85f4be6562ee033b83814353a12b61bd'
+ '3ec9a8784a9e73462def2e9c33de9a1e'
+ '9573b92353399343db8a691c9b208300'
+ 'e15a64663e6221ea40b02aeb8517e70a'
+ '1217799f33d6ba822152a0e2fb6f2e34'
+ '31c897f53b91f98532321cd24928c0d7'
+ '698d661fa23611933146b83e0fa9cade'
+ '4f9e72e7edb909da5cd650afe13aadb6'
+ '9bbbd88f0303ccd59064648eaaf80edd'
+ '1bd37d8e71b2a7aae8ebd2853a08f445'
+ '65a4399a10b2abd0f327145d479db12d'
+ '81f27f12e20971c7d7fc3a53ffb6842c'
+ 'f9b3c2263204ebfae89f29b83278b54b'
+ 'e84f0dadb9e7487fac39541c5bd85d7a'
+ 'b6623f818462d08b03fdc1b573c90e9f'
+ '2b2be59407dd342f1cea80602a93b6c0'
+ '9977ba0e159416108217a45438ebebb4'
+ '92e9db1a7777666a1e6353b4760f1275'
+ '9e5114dba6da65e8d444aa225b109a21'
+ '2aa4d3664fc16dac2f18fe8c22ba1df1'
+ '7dd37a74d7926f4c5ae3b3f76d7172a2'
+ '08590776013d05bc7a96ef5557c54200')