summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD175
1 files changed, 106 insertions, 69 deletions
diff --git a/PKGBUILD b/PKGBUILD
index 5d8ff2ceb5c8..0f1fe109314c 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -43,6 +43,15 @@ _localmodcfg=
# a new kernel is released, but again, convenient for package bumps.
_use_current=
+### Enable KBUILD_CFLAGS -O3
+_cc_harder=y
+
+### Set performance governor as default
+_per_gov=y
+
+### Enable TCP_CONG_BBR2
+_tcp_bbr2=y
+
#enable winesync
_winesync=y
@@ -79,7 +88,6 @@ _use_auto_optimization=y
## Apply Kernel Optimization selecting
_use_optimization_select=
-
### Selecting the ZSTD compression level
# ATTENTION - one of two predefined values should be selected!
# 'ultra' - highest compression ratio
@@ -99,6 +107,9 @@ _zstd_level='normal'
# be counterproductive in both size and speed.
_zstd_module_level='normal'
+# Enable zram/zswap ZSTD compression
+_zstd_compression=y
+
### Enable SECURITY_FORK_BRUTE
# WARNING Not recommended.
# An experimental solution, still in testing phase.
@@ -122,7 +133,7 @@ else
pkgbase=linux-cacule
fi
_major=5.16
-_minor=3
+_minor=4
#_minorc=$((_minor+1))
#_rcver=rc8
pkgver=${_major}.${_minor}
@@ -147,7 +158,7 @@ _patchsource="https://raw.githubusercontent.com/ptr1337/kernel-patches/master/5.
source=(
"https://cdn.kernel.org/pub/linux/kernel/v${pkgver%%.*}.x/${_srcname}.tar.xz"
"config"
- # "${_patchsource}/sched/0001-prjc.patch"
+ # "${_patchsource}/sched/0001-pjrc.patch"
"${_patchsource}/sched/0001-cacULE-5.16-full.patch"
# "${_patchsource}/sched/0001-bore-sched.patch"
# "${_patchsource}/sched/0001-tt.patch"
@@ -156,7 +167,6 @@ source=(
"${_patchsource}/0001-anbox.patch"
"${_patchsource}/0001-bbr2-patches.patch"
"${_patchsource}/0001-bfq-patches.patch"
- "${_patchsource}/0001-btrfs.patch"
"${_patchsource}/0001-cfi.patch"
"${_patchsource}/0001-cpu.patch"
"${_patchsource}/0001-clearlinux.patch"
@@ -164,19 +174,17 @@ source=(
"${_patchsource}/0001-lru-le9-patches.patch"
"${_patchsource}/0001-misc.patch"
"${_patchsource}/0001-net-patches.patch"
- "${_patchsource}/0001-fixes-misc.patch"
+ "${_patchsource}/0001-fixes-misc-futex.patch"
"${_patchsource}/0001-pf-patches.patch"
- "${_patchsource}/0001-futex-winesync.patch"
- "${_patchsource}/0001-hwmon.patch"
-# "${_patchsource}/0001-ksmbd.patch"
+ # "${_patchsource}/0001-ksmbd.patch"
"${_patchsource}/0001-zstd-patches.patch"
"${_patchsource}/misc/0001-cc.patch"
"${_patchsource}/misc/0010-ELF.patch"
-# "${_patchsource}/0001-zen-patches.patch"
-# "${_patchsource}/next/0001-mm-next.patch"
-# "${_patchsource}/0001-FG-KASLR.patch"
-# "${_patchsource}/0001-fix-building-with-gcc-trunk.patch"
-# "${_patchsource}/0001-fortify.patch"
+ # "${_patchsource}/0001-zen-patches.patch"
+ # "${_patchsource}/next/0001-mm-next.patch"
+ # "${_patchsource}/0001-FG-KASLR.patch"
+ # "${_patchsource}/0001-fix-building-with-gcc-trunk.patch"
+ # "${_patchsource}/0001-fortify.patch"
"auto-cpu-optimization.sh"
)
#if [ -n "$_use_pgo" ]; then
@@ -274,14 +282,14 @@ prepare() {
fi
if [ -n "$_use_llvm_lto" ]; then
- scripts/config --disable LTO_NONE \
- --enable LTO \
- --enable LTO_CLANG \
- --enable ARCH_SUPPORTS_LTO_CLANG \
- --enable ARCH_SUPPORTS_LTO_CLANG_THIN \
- --enable HAS_LTO_CLANG \
- --enable LTO_CLANG_THIN \
- --enable HAVE_GCC_PLUGINS
+ scripts/config --disable LTO_NONE \
+ --enable LTO \
+ --enable LTO_CLANG \
+ --enable ARCH_SUPPORTS_LTO_CLANG \
+ --enable ARCH_SUPPORTS_LTO_CLANG_THIN \
+ --enable HAS_LTO_CLANG \
+ --enable LTO_CLANG_THIN \
+ --enable HAVE_GCC_PLUGINS
fi
### Optionally set tickrate to 1000
@@ -340,6 +348,44 @@ prepare() {
scripts/config --disable CONFIG_MQ_IOSCHED_KYBER
fi
+ ### Set performance governor
+ if [ -n "$_per_gov" ]; then
+ echo "Setting performance governor..."
+ scripts/config --disable CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL
+ scripts/config --enable CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE
+ echo "Disabling uneeded governors..."
+ scripts/config --disable 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
+
+ ### Enable KBUILD_CFLAGS -O3
+ if [ -n "$_cc_harder" ]; then
+ echo "Enabling KBUILD_CFLAGS -O3..."
+ scripts/config --disable CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE
+ scripts/config --enable CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE_O3
+ fi
+
+ ### Enable TCP_CONG_BBR2
+ if [ -n "$_tcp_bbr2" ]; then
+ echo "Disabling TCP_CONG_CUBIC..."
+ scripts/config --module CONFIG_TCP_CONG_CUBIC
+ scripts/config --disable CONFIG_DEFAULT_CUBIC
+ echo "Enabling TCP_CONG_BBR2..."
+ scripts/config --enable CONFIG_TCP_CONG_BBR2
+ scripts/config --enable CONFIG_DEFAULT_BBR2
+ scripts/config --set-str CONFIG_DEFAULT_TCP_CONG bbr2
+ fi
+
+
+ ### Enable 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 protect mappings under memory pressure
if [ -n "$_mm_protect" ]; then
@@ -350,12 +396,12 @@ prepare() {
fi
### Enable multigenerational LRU
-# if [ -n "$_page_table_check" ]; then
-# echo "Enabling Page-Table-Check..."
-# scripts/config --enable CONFIG_PAGE_TABLE_CHECK
-# scripts/config --enable CONFIG_PAGE_TABLE_CHECK_ENFORCED
-# scripts/config --enable CONFIG_ARCH_SUPPORTS_PAGE_TABLE_CHECK
-# fi
+ # if [ -n "$_page_table_check" ]; then
+ # echo "Enabling Page-Table-Check..."
+ # scripts/config --enable CONFIG_PAGE_TABLE_CHECK
+ # scripts/config --enable CONFIG_PAGE_TABLE_CHECK_ENFORCED
+ # scripts/config --enable CONFIG_ARCH_SUPPORTS_PAGE_TABLE_CHECK
+ # fi
### Enable multigenerational LRU
if [ -n "$_lru_enable" ]; then
@@ -426,6 +472,7 @@ prepare() {
scripts/config --disable CONFIG_LRNG_SELFTEST_PANIC
fi
+
### Selecting the ZSTD compression level
if [ "$_zstd_level" = "ultra" ]; then
echo "Enabling highest ZSTD compression ratio..."
@@ -465,34 +512,25 @@ prepare() {
exit
fi
- 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 "Setting performance governor..."
- scripts/config --disable CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL
- scripts/config --enable CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE
- scripts/config --enable CONFIG_CPU_FREQ_GOV_ONDEMAND
- scripts/config --enable CONFIG_CPU_FREQ_GOV_PERFORMANCE
- scripts/config --enable CONFIG_CPU_FREQ_GOV_CONSERVATIVE
- scripts/config --enable CONFIG_CPU_FREQ_GOV_USERSPACE
- scripts/config --enable CONFIG_CPU_FREQ_GOV_SCHEDUTIL
- echo "Enable AMD PSTATE driver"
- scripts/config --enable CONFIG_X86_AMD_PSTATE
- scripts/config --enable CONFIG_AMD_PTDMA
+ ### Enable zram/zswap ZSTD compression
+ if [ -n "$_zstd_compression" ]; then
+ echo "Enabling zram ZSTD compression..."
+ scripts/config --disable CONFIG_ZRAM_DEF_COMP_LZORLE
+ scripts/config --enable CONFIG_ZRAM_DEF_COMP_ZSTD
+ scripts/config --set-str CONFIG_ZRAM_DEF_COMP zstd
+ echo "Enabling zswap ZSTD compression..."
+ scripts/config --disable CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4
+ scripts/config --enable CONFIG_ZSWAP_COMPRESSOR_DEFAULT_ZSTD
+ scripts/config --set-str CONFIG_ZSWAP_COMPRESSOR_DEFAULT zstd
+ fi
+
+
echo "Enable Anbox"
scripts/config --enable CONFIG_ASHMEM
scripts/config --enable CONFIG_ANDROID
scripts/config --enable CONFIG_ANDROID_BINDER_IPC
scripts/config --enable CONFIG_ANDROID_BINDERFS
scripts/config --enable CONFIG_ANDROID_BINDER_DEVICES="binder,hwbinder,vndbinder"
- scripts/config --enable CONFIG_NTFS3_FS
- echo "Enabling KBUILD_CFLAGS -O3..."
- scripts/config --disable CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE
- scripts/config --enable CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE_O3
### Optionally use running kernel's config
# code originally by nous; http://aur.archlinux.org/packages.php?ID=40191
@@ -513,15 +551,17 @@ prepare() {
### Optionally load needed modules for the make localmodconfig
# See https://aur.archlinux.org/packages/modprobed-db
if [ -n "$_localmodcfg" ]; then
- if [ -e $HOME/.config/modprobed.db ]; then
- echo "Running Steven Rostedt's make localmodconfig now"
- make ${BUILD_FLAGS[*]} LSMOD=$HOME/.config/modprobed.db localmodconfig
- else
- echo "No modprobed.db data found"
- exit
- fi
+ if [ -e $HOME/.config/modprobed.db ]; then
+ echo "Running Steven Rostedt's make localmodconfig now"
+ make ${BUILD_FLAGS[*]} LSMOD=$HOME/.config/modprobed.db localmodconfig
+ else
+ echo "No modprobed.db data found"
+ exit
+ fi
fi
+
+
echo "Applying default config..."
make ${BUILD_FLAGS[*]} olddefconfig
@@ -529,7 +569,7 @@ prepare() {
echo "Prepared $pkgbase version $(<version)"
### Running make nconfig
- [[ -z "$_makenconfig" ]] || make ${BUILD_FLAGS[*]} nconfig
+ [[ -z "$_makenconfig" ]] || make ${BUILD_FLAGS[*]} nconfig
### Save configuration for later reuse
cp -Tf ./.config "${startdir}/config-${pkgver}-${pkgrel}${pkgbase#linux}"
@@ -545,12 +585,11 @@ _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')
+ '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 KSMBD-MODULE)
cd $_srcname
-
local kernver="$(<version)"
local modulesdir="$pkgdir/usr/lib/modules/$kernver"
@@ -573,7 +612,7 @@ _package-headers() {
pkgdesc="Headers and scripts for building modules for the $pkgdesc kernel"
depends=(pahole)
- cd ${_srcname}
+ cd $_srcname
local builddir="$pkgdir/usr/lib/modules/$(<version)/build"
echo "Installing build files..."
@@ -587,7 +626,7 @@ _package-headers() {
install -Dt "$builddir/tools/objtool" tools/objtool/objtool
# required when DEBUG_INFO_BTF_MODULES is enabled
- #install -Dt "$builddir/tools/bpf/resolve_btfids" tools/bpf/resolve_btfids/resolve_btfids
+ install -Dt "$builddir/tools/bpf/resolve_btfids" tools/bpf/resolve_btfids/resolve_btfids
echo "Installing headers..."
cp -t "$builddir" -a include
@@ -649,6 +688,7 @@ _package-headers() {
echo "Adding symlink..."
mkdir -p "$pkgdir/usr/src"
ln -sr "$builddir" "$pkgdir/usr/src/$pkgbase"
+
}
pkgname=("$pkgbase" "$pkgbase-headers")
@@ -659,15 +699,14 @@ for _p in "${pkgname[@]}"; do
}"
done
-sha256sums=('ba402fe9c05b70505172664ccf8d3dd2d7b78c4fa8ec8fb27fa83a6ce6b9b5b1'
- 'fa70df0ba2a15b3828eacba4b14878bbd01d3ce29194165b8f2b02f37d28a116'
+sha256sums=('2be32a40b9be35a914166ab1de096ffdb50872366219e17471789a59e43b50bf'
+ '81f365d70f4d856dd0694af70a434f55fb88da00f110bb4e4b74ac0992e6be0c'
'480a3399d346b5fe053708a458ba63ae4a074d925114896f899740198bf809f2'
- '8ac5db0022b75027970ddcc7ee80e4c57e8a235fd590ed6dcc402909bb063a8a'
+ '4f5f368f9ac356c19b3d40fd0eeea51010503375a4c61c4de1e766f528b04aee'
'4d592e6bd49ae19db05d758130ae1b6f3bb081923a7b6df0b946ea0f4524168e'
'0b64f616404ed70757f423c879bf3edf51525bfdb78f7ec8f1ae21412d9e8a2a'
'bc91fa787a28516b317fdd9e038ed2c10b61703a9848c1a9ad286e92d51c97be'
'04f472466fe33ddadb64a52edb57db78e513111bb44dc71cb301a376ea093b46'
- '6e64484546582b4a747ef4c9d7fdf44005884a9abd86a7ecd9ab8d1f9e3e23d6'
'eb57a61e3c1bf2966211f02a9ae080c3af4c7faf3f706821440e324a70d0cd20'
'7936b61ba25f03597fd563be82c31a5756d8a82c893f69a2d569f99d375b1362'
'915e992ed5ba2551ca648e4aa7340e9f250f6b7806287a061c1c8e40b1dc348b'
@@ -675,10 +714,8 @@ sha256sums=('ba402fe9c05b70505172664ccf8d3dd2d7b78c4fa8ec8fb27fa83a6ce6b9b5b1'
'ff4215e6078864b9e556c3ceedbee8d6881b280755fcfbb97771148ebf05ef53'
'5332ffc19ab2a50b162e07de425d60e473bb8b5be411ae669bae3471653f161f'
'db0d2fde8f1e994fbb4eb37c8affa3f0b339aa658f9ab5003bb2ce453a68ab95'
- '86452400a7e2cbe02cf1dad51eb72899af963ba8b2c441c48575ae68bb9f9274'
+ '428de49021a06fa68ec098ac04755b4917cc53fee0142756c120a1ac83f1cbfe'
'8c2e3ce0874a23e4d8df419f79dd1d045ef349bbe1474717e9455c8197f41c4e'
- '9c7aebb85ef34d9c89d2e8ba34a9c82309d2ba9a14b8fdabaf01ba953ad6f08f'
- '669e8580b8bbb9ce38738154cf45e7c199cee91c2b9327102564aa9f9d7afd83'
'9a22cd0f1dab0e6d970a7215641d7409b756b14740904501f95c5aef29d15f89'
'1539b1786e8a57c441f4028fc7c64de59d926ad107b44dcad74a72ff9638870f'
'6c2737225c46c8776022eede29753fea10547cfd1a0c38dcab628be7a4d7c126'