summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorptr13372021-08-01 14:48:25 +0200
committerptr13372021-08-01 14:48:25 +0200
commit02d7fcc3c68fd8d042f3694a74f226ebd0a93be2 (patch)
tree258398ccb8bd4bebd7df3198280c25e0bd99c69a
parent311bf1f2d6e4a6cfa3b6ee164e69f2a0a9a859e2 (diff)
downloadaur-02d7fcc3c68fd8d042f3694a74f226ebd0a93be2.tar.gz
first push
-rw-r--r--.SRCINFO100
-rw-r--r--PKGBUILD956
2 files changed, 540 insertions, 516 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 9d56c8b34765..76abc6e0802d 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,29 +1,34 @@
-pkgbase = linux-cacule-rdb-autogroup-lto
- pkgdesc = Linux-CacULE-RDB Kernel by Hamad Marri and with some other patchsets
+pkgbase = linux-cacule-rdb-llvm
+ pkgdesc = Linux Kernel with cacule scheduler and lto compiled
pkgver = 5.13.7
pkgrel = 2
- url = https://github.com/hamadmarri/cacule-cpu-scheduler
+ url = https://kernel.org/
arch = x86_64
arch = x86_64_v3
license = GPL2
- makedepends = kmod
makedepends = bc
+ makedepends = kmod
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.tar.xz
- source = https://cdn.kernel.org/pub/linux/kernel/v5.x/patch-5.13.7.xz
+ source = https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.13.7.tar.xz
source = config
- source = https://raw.githubusercontent.com/ptr1337/linux-cacule-aur/master/patches/5.13/arch-patches/0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch
- source = https://raw.githubusercontent.com/ptr1337/linux-cacule-aur/master/patches/CacULE/v5.13/cacule-5.13-rdb-autogroup.patch
+ source = https://raw.githubusercontent.com/ptr1337/linux-cacule-aur/master/patches/5.13/arch-patches-v2/0001-arch-patches.patch
+ source = https://raw.githubusercontent.com/ptr1337/linux-cacule-aur/master/patches/CacULE/v5.13/cacule-5.13.patch
+ source = https://raw.githubusercontent.com/ptr1337/linux-cacule-aur/master/patches/CacULE/v5.13/rdb-5.13.patch
source = https://raw.githubusercontent.com/ptr1337/linux-cacule-aur/master/patches/5.13/cpu-patches/0001-cpu-patches.patch
source = https://raw.githubusercontent.com/ptr1337/linux-cacule-aur/master/patches/5.13/futex-patches/0001-futex-resync-from-gitlab.collabora.com.patch
source = https://raw.githubusercontent.com/ptr1337/linux-cacule-aur/master/patches/5.13/futex2/0007-v5.13-futex2_interface.patch
@@ -37,53 +42,54 @@ pkgbase = linux-cacule-rdb-autogroup-lto
source = https://raw.githubusercontent.com/ptr1337/linux-cacule-aur/master/patches/5.13/btrfs-patches-v2/0001-btrfs-patches.patch
source = https://raw.githubusercontent.com/ptr1337/linux-cacule-aur/master/patches/5.13/android-patches/0001-android-export-symbold-and-enable-building-ashmem-an.patch
source = https://raw.githubusercontent.com/ptr1337/linux-cacule-aur/master/patches/5.13/pf-patches-v9/0001-pf-patches.patch
- source = https://raw.githubusercontent.com/ptr1337/linux-cacule-aur/master/patches/5.13/lru-patches-v2/0001-lru-patches.patch
- source = https://raw.githubusercontent.com/ptr1337/linux-cacule-aur/master/patches/5.13/ntfs3-patches/0001-ntfs3-patches.patch
+ source = https://raw.githubusercontent.com/ptr1337/linux-cacule-aur/master/patches/5.13/lru-patches-v5/0001-lru-patches.patch
+ source = https://raw.githubusercontent.com/ptr1337/linux-cacule-aur/master/patches/5.13/ntfs3-patches-v2/0001-ntfs3-patches.patch
source = https://raw.githubusercontent.com/ptr1337/linux-cacule-aur/master/patches/5.13/lrng-patches/0001-lrng-patches-v2.patch
source = https://raw.githubusercontent.com/ptr1337/linux-cacule-aur/master/patches/5.13/security-patches/0001-security-patches.patch
- source = https://raw.githubusercontent.com/ptr1337/linux-cacule-aur/master/patches/5.13/misc/nohzfull.patch
source = https://raw.githubusercontent.com/ptr1337/linux-cacule-aur/master/patches/5.13/alsa-patches/0001-alsa-patches.patch
source = https://raw.githubusercontent.com/ptr1337/linux-cacule-aur/master/patches/5.13/zstd-upstream-patches/0001-zstd-upstream-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/0001-v4l2loopback-patches.patch
- md5sums = 76c60fb304510a7bbd9c838790bc5fe4
- md5sums = aebc49e4d58bd8314548a364bec99d1e
- md5sums = c50a188eeb6b247d938ef67d261c2748
- md5sums = 9bb46b8ce45259c238c5233b8394d70b
- md5sums = 9a21e2d2754f31c0a9c2215712025b14
- md5sums = 7640a753a7803248543675a6edc75e08
- md5sums = 85f4be6562ee033b83814353a12b61bd
- md5sums = 2c0375b3cc9690a0f0f3d3e49df54d10
- md5sums = 9573b92353399343db8a691c9b208300
- md5sums = 1217799f33d6ba822152a0e2fb6f2e34
- md5sums = 31c897f53b91f98532321cd24928c0d7
- md5sums = daeacee8fcde31908f90b89dc4b54126
- md5sums = 4f9e72e7edb909da5cd650afe13aadb6
- md5sums = 9bbbd88f0303ccd59064648eaaf80edd
- md5sums = 1bd37d8e71b2a7aae8ebd2853a08f445
- md5sums = 65a4399a10b2abd0f327145d479db12d
- md5sums = 81f27f12e20971c7d7fc3a53ffb6842c
- md5sums = f9b3c2263204ebfae89f29b83278b54b
- md5sums = 9c0260e17db69e024a4838c4617c9f10
- md5sums = 86825a0c5716a1d9c6a39f9d3886b1bf
- md5sums = 2b2be59407dd342f1cea80602a93b6c0
- md5sums = 9977ba0e159416108217a45438ebebb4
- md5sums = c68e4fd9b4a55ee730a34bb39ae325ad
- md5sums = 92e9db1a7777666a1e6353b4760f1275
- md5sums = 9e5114dba6da65e8d444aa225b109a21
- md5sums = 7dd37a74d7926f4c5ae3b3f76d7172a2
- md5sums = ef7748efcae55f7db8961227cbae3677
+ sha256sums = f91e561053afe454afce8a6dcc7f8319010bfe2fa17aeea1d8566f61760be439
+ sha256sums = 4d46148d5e076722537220c854147dc102fc994eeb7ab2d77363dc3873a011be
+ sha256sums = 2578b367f30ddf43569280403c75c056d61883128ea7827356b681fa7970bed4
+ sha256sums = 4edb5cd8504d4985de2a1c2ac18aff663366061da5b094df294a8ac9bf26bb55
+ sha256sums = 0469f4bd12082c1972aff782a35b3ad26a4b5552f3a68dc663ef0597c5034fbe
+ sha256sums = 476c99cb010eb536ebf8b68044cd7f2a581c74e4d5c5e71e0983541f727bafde
+ sha256sums = a65035f7b751ea792989784083d5063293d1a0979bcf4c428b4ba94aeac17809
+ sha256sums = 9ec679871cba674cf876ba836cde969296ae5034bcc10e1ec39b372e6e07aab0
+ sha256sums = 034d12a73b507133da2c69a34d61efd2f6b6618549650aa26d748142d22002e1
+ sha256sums = f39ce0a6a967e4c83f665288479c3236b211bbbb4ee508d6fbefee2904a4e80c
+ sha256sums = 933cf04b6705e9564435163a514082f249b2a8e81e88f08fb3ce68bfe8ffcec7
+ sha256sums = c5501f058a8accf538fdb9cc541bd08419cd4d597e2c5bc31365d70c68bba5b3
+ sha256sums = 0735544a91293d9c192b7f9283541fe62ea5517c11e4b421b502ab76c064bd62
+ sha256sums = 320e67ab827abb506481b9053fae85e494195e5d0ee3b61948999965856b425c
+ sha256sums = 744a615a9099df44bb9c181f1d140a099fe11136c8dbb0b26e4af045460298a6
+ sha256sums = aa5cbec74dc27591d47616c6c0748475ab55b5efdcbc9d81c2cc49b9b0bf2c00
+ sha256sums = 7289f4ce29d653a0ca511410b66bd3cb42fbcc54f5e097c85e528d4e27ce41ff
+ sha256sums = d2ba0ec7f76e267417f72abbf3ef35ce232d1e83c7ff33971bf8ccabb9739604
+ sha256sums = e33908a2aca1b5b52609075c32c714e4c3f6b52c054da2b2982a86f6f3c4b87a
+ sha256sums = e5818fcaa55ed416b08900db04f18ae6d29b89d19e0b2fb3feb410efd8099b32
+ sha256sums = 0c1e42b6c197e5e5c8a0c5f4047037289063e064f6b841f05028c62b5449864b
+ sha256sums = d562264ae4492ec07c55690cac0ee95703beed453330ab7a147e60c25b52e20f
+ sha256sums = 8e56f88209ec69bf7004c52a7f31ba5fffa2c6af3db306e7ec385210a0b5944e
+ sha256sums = 78b07f9d39573633ac7035201d7a95c44675084562995b7e60e549e44fbcfcb7
+ sha256sums = 04205c627cd3dcb737bd7b432cd7172d30f4ca0114b003bc3ac0dc8dadfa3c01
+ sha256sums = 586d03baec3f8b583b1b73e838f5e69c1d25c502e4d7e6738e1291de1b52af15
-pkgname = linux-cacule-rdb-autogroup-lto
- pkgdesc = The Linux-CacULE-RDB Kernel by Hamad Marri and with some other patchsets kernel and modules
+pkgname = linux-cacule-rdb-llvm
+ pkgdesc = The Linux Kernel with cacule scheduler and lto compiled 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-autogroup-lto-headers
- pkgdesc = Headers and scripts for building modules for the Linux-CacULE-RDB Kernel by Hamad Marri and with some other patchsets kernel
+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.7
+ depends = pahole
diff --git a/PKGBUILD b/PKGBUILD
index de038f545d32..a0572c56bca7 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -28,7 +28,7 @@ _mm_protect=y
### Enable multigenerational LRU
_lru_enable=y
### Enable Linux Random Number Generator
-_lrng_enable=y
+_lrng_enable=
### Enable SECURITY_FORK_BRUTE
# WARNING Not recommended.
# An experimental solution, still in testing phase.
@@ -57,55 +57,53 @@ _use_current=
### IMPORTANT: Do no edit below this line unless you know what you're doing
-_major=5.13
-_minor=7
-_srcname=linux-${_major}
-pkgbase=linux-cacule-rdb-autogroup-lto
-pkgver=${_major}.${_minor}
-#pkgver=${_major}
+pkgbase=linux-cacule-rdb-llvm
+pkgname=("${pkgbase}" "${pkgbase}-headers")
+pkgver=5.13.7
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')
+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
+)
_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/v5.x/linux-${_major}.tar.xz"
- "https://cdn.kernel.org/pub/linux/kernel/v5.x/patch-${pkgver}.xz"
- "config"
- "${_patchsource}/arch-patches/0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch"
- "${_caculepatches}/v5.13/cacule-5.13-rdb-autogroup.patch"
- "${_patchsource}/cpu-patches/0001-cpu-patches.patch"
- "${_patchsource}/futex-patches/0001-futex-resync-from-gitlab.collabora.com.patch"
- "${_patchsource}/futex2/0007-v5.13-futex2_interface.patch"
- "${_patchsource}/winesync/5.13-winesync.patch"
- "${_patchsource}/zen-patches/0001-zen-patches.patch"
- "${_patchsource}/lqx-patches-v3/0001-lqx-patches.patch"
- "${_patchsource}/bfq-patches-v3/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-v2/0001-lru-patches.patch"
-# "${_patchsource}/lru-patches/lru_5.13.patch"
-# "${_patchsource}/lru-patches/le9db_patches/le9db1-5.10.patch"
- "${_patchsource}/ntfs3-patches/0001-ntfs3-patches.patch"
-# "${_patchsource}/security-2/hardened-patches.patch"
- "${_patchsource}/lrng-patches/0001-lrng-patches-v2.patch"
- "${_patchsource}/security-patches/0001-security-patches.patch"
- "${_patchsource}/misc/nohzfull.patch"
- "${_patchsource}/alsa-patches/0001-alsa-patches.patch"
- "${_patchsource}/zstd-upstream-patches/0001-zstd-upstream-patches.patch"
- "${_patchsource}/clearlinux-patches-v2/0001-clearlinux-patches.patch"
-# "${_patchsource}/ksm-patches/0001-ksm-patches.patch"
- "${_patchsource}/v4l2loopback-patches/0001-v4l2loopback-patches.patch"
+ "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-v2/0001-arch-patches.patch"
+"${_caculepatches}/v5.13/cacule-5.13.patch"
+"${_caculepatches}/v5.13/rdb-5.13.patch"
+"${_patchsource}/cpu-patches/0001-cpu-patches.patch"
+"${_patchsource}/futex-patches/0001-futex-resync-from-gitlab.collabora.com.patch"
+"${_patchsource}/futex2/0007-v5.13-futex2_interface.patch"
+"${_patchsource}/winesync/5.13-winesync.patch"
+"${_patchsource}/zen-patches/0001-zen-patches.patch"
+"${_patchsource}/lqx-patches-v3/0001-lqx-patches.patch"
+"${_patchsource}/bfq-patches-v3/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-v5/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}/clearlinux-patches-v2/0001-clearlinux-patches.patch"
+"${_patchsource}/v4l2loopback-patches/0001-v4l2loopback-patches.patch"
)
+
BUILD_FLAGS=(
LLVM=1
LLVM_IAS=1
@@ -123,462 +121,482 @@ BUILD_FLAGS=(
OBJCOPY=llvm-objcopy
OBJDUMP=objdump
)
+sha256sums=('f91e561053afe454afce8a6dcc7f8319010bfe2fa17aeea1d8566f61760be439'
+ '4d46148d5e076722537220c854147dc102fc994eeb7ab2d77363dc3873a011be'
+ '2578b367f30ddf43569280403c75c056d61883128ea7827356b681fa7970bed4'
+ '4edb5cd8504d4985de2a1c2ac18aff663366061da5b094df294a8ac9bf26bb55'
+ '0469f4bd12082c1972aff782a35b3ad26a4b5552f3a68dc663ef0597c5034fbe'
+ '476c99cb010eb536ebf8b68044cd7f2a581c74e4d5c5e71e0983541f727bafde'
+ 'a65035f7b751ea792989784083d5063293d1a0979bcf4c428b4ba94aeac17809'
+ '9ec679871cba674cf876ba836cde969296ae5034bcc10e1ec39b372e6e07aab0'
+ '034d12a73b507133da2c69a34d61efd2f6b6618549650aa26d748142d22002e1'
+ 'f39ce0a6a967e4c83f665288479c3236b211bbbb4ee508d6fbefee2904a4e80c'
+ '933cf04b6705e9564435163a514082f249b2a8e81e88f08fb3ce68bfe8ffcec7'
+ 'c5501f058a8accf538fdb9cc541bd08419cd4d597e2c5bc31365d70c68bba5b3'
+ '0735544a91293d9c192b7f9283541fe62ea5517c11e4b421b502ab76c064bd62'
+ '320e67ab827abb506481b9053fae85e494195e5d0ee3b61948999965856b425c'
+ '744a615a9099df44bb9c181f1d140a099fe11136c8dbb0b26e4af045460298a6'
+ 'aa5cbec74dc27591d47616c6c0748475ab55b5efdcbc9d81c2cc49b9b0bf2c00'
+ '7289f4ce29d653a0ca511410b66bd3cb42fbcc54f5e097c85e528d4e27ce41ff'
+ 'd2ba0ec7f76e267417f72abbf3ef35ce232d1e83c7ff33971bf8ccabb9739604'
+ 'e33908a2aca1b5b52609075c32c714e4c3f6b52c054da2b2982a86f6f3c4b87a'
+ 'e5818fcaa55ed416b08900db04f18ae6d29b89d19e0b2fb3feb410efd8099b32'
+ '0c1e42b6c197e5e5c8a0c5f4047037289063e064f6b841f05028c62b5449864b'
+ 'd562264ae4492ec07c55690cac0ee95703beed453330ab7a147e60c25b52e20f'
+ '8e56f88209ec69bf7004c52a7f31ba5fffa2c6af3db306e7ec385210a0b5944e'
+ '78b07f9d39573633ac7035201d7a95c44675084562995b7e60e549e44fbcfcb7'
+ '04205c627cd3dcb737bd7b432cd7172d30f4ca0114b003bc3ac0dc8dadfa3c01'
+ '586d03baec3f8b583b1b73e838f5e69c1d25c502e4d7e6738e1291de1b52af15')
+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 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
+ 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 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
+ ### Setting version
+ echo "Setting version..."
+ scripts/setlocalversion --save-scmversion
+ echo "-$pkgrel" > localversion.10-pkgrel
+ echo "${pkgbase#linux}" > localversion.20-pkgname
- ### 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
+ local src
+ for src in "${source[@]}"; do
+ src="${src%%::*}"
+ src="${src##*/}"
+ [[ $src = *.patch ]] || continue
+ echo "Applying patch $src..."
+ patch -Np1 < "../$src"
+ done
- 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
+ echo "Setting config..."
+ cp ../config .config
- if [ -n "$_winesync" ]; then
- echo "Enable winesync support"
- scripts/config --module CONFIG_WINESYNC
- fi
+ make ${BUILD_FLAGS[*]} olddefconfig
- ### 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
+ ### 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
- ### 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 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 --enable CONFIG_LRNG_CONTINUOUS_COMPRESSION_ENABLED
- scripts/config --disable CONFIG_LRNG_CONTINUOUS_COMPRESSION_DISABLED
- scripts/config --disable CONFIG_LRNG_SWITCHABLE_CONTINUOUS_COMPRESSION
- scripts/config --enable CONFIG_LRNG_COLLECTION_SIZE_1024
- scripts/config --disable CONFIG_LRNG_HEALTH_TESTS
- scripts/config --set-val CONFIG_LRNG_IRQ_ENTROPY_RATE 256
- scripts/config --disable 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
+
+ ### 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 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
+ ### 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 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
- # scripts/config --disable CONFIG_RT_GROUP_SCHED
- 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
- # 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
+
+ ### 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 --enable CONFIG_LRNG_CONTINUOUS_COMPRESSION_ENABLED
+ scripts/config --disable CONFIG_LRNG_CONTINUOUS_COMPRESSION_DISABLED
+ scripts/config --disable CONFIG_LRNG_SWITCHABLE_CONTINUOUS_COMPRESSION
+ scripts/config --set-val CONFIG_LRNG_COLLECTION_SIZE 1024
+ scripts/config --disable CONFIG_LRNG_HEALTH_TESTS
+ scripts/config --set-val CONFIG_LRNG_IRQ_ENTROPY_RATE 256
+ scripts/config --disable 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_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
+ scripts/config --disable CONFIG_DEBUG_KERNEL
+# scripts/config --disable CONFIG_RT_GROUP_SCHED
+ 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 $_srcname
- make ${BUILD_FLAGS[*]} all
+
+ 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
+
}
-_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)
+package_linux-cacule-rdb-llvm() {
- cd $_srcname
+ 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)
- local kernver="$(<version)"
- local modulesdir="$pkgdir/usr/lib/modules/$kernver"
+ cd "${srcdir:?}/linux-${pkgver}" || (
+ echo -e "\E[1;31mCan't cd to ${srcdir:?}/linux-${pkgver} directory! Package linux kernel failed! \E[0m"
+ exit 1
+ )
- 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"
+ 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 -s image_name)" "${modulesdir}/vmlinuz"
- echo "Installing modules..."
- make INSTALL_MOD_PATH="$pkgdir/usr" 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" INSTALL_MOD_STRIP=1 modules_install
+
+ # 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"
}
-pkgname=("$pkgbase" "$pkgbase-headers")
-for _p in "${pkgname[@]}"; do
- eval "package_$_p() {
- $(declare -f "_package${_p#$pkgbase}")
- _package${_p#$pkgbase}
- }"
-done
-
-md5sums=('76c60fb304510a7bbd9c838790bc5fe4'
- 'aebc49e4d58bd8314548a364bec99d1e'
- 'c50a188eeb6b247d938ef67d261c2748'
- '9bb46b8ce45259c238c5233b8394d70b'
- '9a21e2d2754f31c0a9c2215712025b14'
- '7640a753a7803248543675a6edc75e08'
- '85f4be6562ee033b83814353a12b61bd'
- '2c0375b3cc9690a0f0f3d3e49df54d10'
- '9573b92353399343db8a691c9b208300'
- '1217799f33d6ba822152a0e2fb6f2e34'
- '31c897f53b91f98532321cd24928c0d7'
- 'daeacee8fcde31908f90b89dc4b54126'
- '4f9e72e7edb909da5cd650afe13aadb6'
- '9bbbd88f0303ccd59064648eaaf80edd'
- '1bd37d8e71b2a7aae8ebd2853a08f445'
- '65a4399a10b2abd0f327145d479db12d'
- '81f27f12e20971c7d7fc3a53ffb6842c'
- 'f9b3c2263204ebfae89f29b83278b54b'
- '9c0260e17db69e024a4838c4617c9f10'
- '86825a0c5716a1d9c6a39f9d3886b1bf'
- '2b2be59407dd342f1cea80602a93b6c0'
- '9977ba0e159416108217a45438ebebb4'
- 'c68e4fd9b4a55ee730a34bb39ae325ad'
- '92e9db1a7777666a1e6353b4760f1275'
- '9e5114dba6da65e8d444aa225b109a21'
- '7dd37a74d7926f4c5ae3b3f76d7172a2'
- 'ef7748efcae55f7db8961227cbae3677')
+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}"
+
+}