diff options
Diffstat (limited to 'PKGBUILD')
-rw-r--r-- | PKGBUILD | 203 |
1 files changed, 102 insertions, 101 deletions
@@ -59,13 +59,13 @@ _mq_deadline_disable=y _kyber_disable=y ### Enable protect file mappings under memory pressure -_mm_protect= +_mm_protect=y ### Enable multigenerational LRU _lru_enable=y ## Enable Page-Table-Check -_page_table_check=y +#_page_table_check=y ### Enable DAMON _damon= @@ -84,7 +84,7 @@ _use_optimization_select= # ATTENTION - one of two predefined values should be selected! # 'ultra' - highest compression ratio # 'normal' - standard compression ratio -_zstd_level='ultra' +_zstd_level='normal' ### Selecting the ZSTD module compression level # If you want to use ZSTD compression, @@ -110,7 +110,7 @@ _fork_brute= _use_llvm_lto= # Enable it for using the LLVM CFI PATCH for a better security -#_use_cfi= +_use_cfi= ## Enable PGO (patch is failing when cfi is also used) #_use_pgo= @@ -128,12 +128,12 @@ _minor=2 pkgver=${_major}.${_minor} _stable=${_major}.${_minor} #_stable=${_major} -_stablerc=${_major}-${_rcver} +#_stablerc=${_major}-${_rcver} _srcname=linux-${_stable} #_srcname=linux-${_major} arch=(x86_64 x86_64_v3) pkgdesc='Linux cacULE scheduler Kernel by CachyOS and with some other patches and other improvements' -pkgrel=2 +pkgrel=3 arch=('x86_64' 'x86_64_v3') url="https://github.com/CachyOS/linux-cachyos" license=('GPL2') @@ -147,22 +147,21 @@ _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-pjrc.patch" ## not released for 5.16 right now + # "${_patchsource}/sched/0001-pjrc.patch" "${_patchsource}/sched/0001-cacULE-5.16-full.patch" # "${_patchsource}/sched/0001-bore-sched.patch" # "${_patchsource}/sched/0001-tt.patch" - "${_patchsource}/0001-lru-patches.patch" "${_patchsource}/0001-arch-patches.patch" - "${_patchsource}/0001-blk-patches.patch" - "${_patchsource}/0001-pm.patch" + "${_patchsource}/0001-amdpstate.patch" "${_patchsource}/0001-anbox.patch" "${_patchsource}/0001-bbr2-patches.patch" "${_patchsource}/0001-bfq-patches.patch" "${_patchsource}/0001-btrfs.patch" - "${_patchsource}/0001-lrng.patch" "${_patchsource}/0001-cfi.patch" "${_patchsource}/0001-cpu.patch" "${_patchsource}/0001-clearlinux.patch" + "${_patchsource}/0001-lrng.patch" + "${_patchsource}/0001-lru-le9-patches.patch" "${_patchsource}/0001-f2fs-xfs-ext4-patches.patch" "${_patchsource}/0001-misc.patch" "${_patchsource}/0001-net-patches.patch" @@ -173,20 +172,22 @@ source=( "${_patchsource}/0001-ksmbd.patch" "${_patchsource}/0001-rcu.patch" "${_patchsource}/0001-zstd-patches.patch" - # "${_patchsource}/0001-zen-patches.patch" - "${_patchsource}/0001-v4l2loopback.patch" - # "${_patchsource}/0001-FG-KASLR.patch" - "${_patchsource}/next/0001-mm-next.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 +# source+=("${_patchsource}/0001-PGO.patch") +#fi if [ -n "$_use_llvm_lto" ]; then - LLVMOPTS="LLVM=1 LLVM_IAS=1" - CLANGOPTS="CC=clang LD=ld.lld" -else - LLVMOPTS="" - CLANGOPTS="" + BUILD_FLAGS=( + LLVM=1 + LLVM_IAS=1 + ) fi export KBUILD_BUILD_HOST=archlinux @@ -217,22 +218,6 @@ prepare() { echo "Setting config..." cp ../config .config - - ### 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 - ### Microarchitecture Optimization (GCC/CLANG) if [ -n "$_use_auto_optimization" ]; then "${srcdir}"/auto-cpu-optimization.sh @@ -282,15 +267,21 @@ prepare() { exit fi - # if [ -n "$_use_cfi" ] && [ -n "$_use_llvm_lto" ]; then - # echo "Enabling CFI" - # scripts/config --enable CONFIG_ARCH_SUPPORTS_CFI_CLANG - # scripts/config --enable CONFIG_CFI_CLANG - # fi + if [ -n "$_use_cfi" ] && [ -n "$_use_llvm_lto" ]; then + echo "Enabling CFI" + scripts/config --enable CONFIG_ARCH_SUPPORTS_CFI_CLANG + scripts/config --enable CONFIG_CFI_CLANG + fi if [ -n "$_use_llvm_lto" ]; then - echo "Enable LLVM LTO" - scripts/config --disable CONFIG_LTO_NONE + 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 @@ -359,12 +350,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 @@ -503,26 +494,42 @@ prepare() { scripts/config --disable CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE scripts/config --enable CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE_O3 - ### Optionally load needed modules for the make localmodconfig - # See https://aur.archlinux.org/packages/modprobed-db - if [ -n "$_localmodcfg" ]; then - if [ -f $HOME/.config/modprobed.db ]; then - echo "Running Steven Rostedt's make localmodconfig now" - make $LLVMOPTS LSMOD=$HOME/.config/modprobed.db localmodconfig + ### 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 - echo "No modprobed.db data found" + warning "Your kernel was not compiled with IKCONFIG_PROC!" + warning "You cannot read the current config!" + warning "Aborting!" exit fi fi + + ### Optionally load needed modules for the make localmodconfig + # See https://aur.archlinux.org/packages/modprobed-db + if [ -n "$_localmodcfg" ]; then + if [ -e $HOME/.config/modprobed.db ]; then + echo "Running Steven Rostedt's make localmodconfig now" + make ${BUILD_FLAGS[*]} LSMOD=$HOME/.config/modprobed.db localmodconfig + else + echo "No modprobed.db data found" + exit + fi + fi + echo "Applying default config..." - make $LLVMOPTS olddefconfig - make $LLVMOPTS -s kernelrelease > version + make ${BUILD_FLAGS[*]} olddefconfig + make ${BUILD_FLAGS[*]} -s kernelrelease > version echo "Prepared $pkgbase version $(<version)" ### Running make nconfig - [[ -z "$_makenconfig" ]] || make $LLVMOPTS nconfig + [[ -z "$_makenconfig" ]] || make ${BUILD_FLAGS[*]} nconfig ### Save configuration for later reuse cp -Tf ./.config "${startdir}/config-${pkgver}-${pkgrel}${pkgbase#linux}" @@ -530,23 +537,20 @@ prepare() { } build() { - - cd $_srcname - - make $LLVMOPTS -j$(nproc) all + cd ${_srcname} + make ${BUILD_FLAGS[*]} -j$(nproc) all } - _package() { pkgdesc="The $pkgdesc kernel and modules" - depends=(coreutils kmod initramfs) + 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) - + '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" @@ -567,9 +571,9 @@ _package() { _package-headers() { pkgdesc="Headers and scripts for building modules for the $pkgdesc kernel" - depends=("${pkgbase}=${pkgver}" "pahole") + depends=(pahole) - cd $_srcname + cd ${_srcname} local builddir="$pkgdir/usr/lib/modules/$(<version)/build" echo "Installing build files..." @@ -583,7 +587,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 @@ -655,31 +659,28 @@ for _p in "${pkgname[@]}"; do }" done -md5sums=('fd00badc3b53d42da3d84a7cf6f53f17' - '6048a8eb052a7b2a22b4ab159278b903' - '02e7cbd91491ad357bf2d507d58e21a0' - '76b9d9fa00184d10e7949bb948ca846d' - '3d8d1eeebba7d038f6d890619233e605' - '194c8e20ad30973c32159cb23f3be4c9' - '2faaa79055263c1cdeeaa2896e641696' - '80e419d6847d4122a23a141fd3a40e52' - 'd194311161f8f44755e532db738f4a2d' - 'b5b3d9d1cefc3955a82ec895f891abf3' - 'e9dff9b551b8fa7c0b47ae5ac0b16365' - '9f86c3b9e6271cfc4440864a6857b256' - '0a353926bf4a790374e0f946a7039b40' - 'd4c38ce51fb9a69aa92ad9b9e0199122' - 'a687c26c262ccb9ad7cb54697a1476bc' - 'a35a6dea9bc12029b3a837d86d4b842a' - '80920e501b9b87bfe587edff445e6efe' - 'bf010dff1d7a48191d491eba2dde1227' - '34a583709ee18ad075f497a1733aa8db' - 'be1e00d93e9c2ba91ee6017b82e64194' - '28dcc1fe3029c6c316773bbcbe82954d' - '8fa4524671e6901bbdb47aaf8ecc0de8' - '12ad5085b7f01793980f137f2c9451cb' - '167a4267269e6a709c54e7b9ea8bf8d5' - 'bf58290793d3a095ef95fb1fac2de89a' - 'cb9384ce179d08be6c90df6d0a0977a1' - '6bb03b7a1b9207aaf77fb886d42bab74' - '21c98f19e883879dd3336c1fa143fd31') +sha256sums=('09fe833a4d6304327bbe00e75ad7a2587188d1f406b3265fed11a0f8c5663b44' + '2b7f21f750dc5f96c7d62a3a63173f33f8b46f8f4be1d361e7bd4cd16fb2b128' + '480a3399d346b5fe053708a458ba63ae4a074d925114896f899740198bf809f2' + '8ac5db0022b75027970ddcc7ee80e4c57e8a235fd590ed6dcc402909bb063a8a' + '0c1bc32aafa16c6daa4bf12595c352f535cea13ae0d4391d7d8916a9c4457341' + '0b64f616404ed70757f423c879bf3edf51525bfdb78f7ec8f1ae21412d9e8a2a' + 'bc91fa787a28516b317fdd9e038ed2c10b61703a9848c1a9ad286e92d51c97be' + '2d425719dc5992dabac1944270422c4217ff3f335a5d80a03cdec5c09ee1968c' + '6e64484546582b4a747ef4c9d7fdf44005884a9abd86a7ecd9ab8d1f9e3e23d6' + 'eb57a61e3c1bf2966211f02a9ae080c3af4c7faf3f706821440e324a70d0cd20' + '7936b61ba25f03597fd563be82c31a5756d8a82c893f69a2d569f99d375b1362' + '915e992ed5ba2551ca648e4aa7340e9f250f6b7806287a061c1c8e40b1dc348b' + 'e2d99ace9b54021c5ef53b4b51716816172d6304f6a823b88d5b4e9a68562aef' + 'ff4215e6078864b9e556c3ceedbee8d6881b280755fcfbb97771148ebf05ef53' + 'c6c4b3720c2907be872037faf546702a060ac5b52733ed65d528bc907400bf69' + '5332ffc19ab2a50b162e07de425d60e473bb8b5be411ae669bae3471653f161f' + 'db0d2fde8f1e994fbb4eb37c8affa3f0b339aa658f9ab5003bb2ce453a68ab95' + '81e1e9559ff3a1f2b7bc7ee450821dad9aaa0ff4bcb885d2c494943e1550754f' + '8c2e3ce0874a23e4d8df419f79dd1d045ef349bbe1474717e9455c8197f41c4e' + '9c7aebb85ef34d9c89d2e8ba34a9c82309d2ba9a14b8fdabaf01ba953ad6f08f' + '9ae41e84e69fbb7e88e7278488eb42e2e1281cb6f7c9c18bf2d11ac692a08d7d' + '045160e2253115688651f86f9e01c5a9d052bd71d0ea613f138125422db38141' + 'c1d1319d672f3b0ba0e016ae31bf7d189fea82985ff528117297b56facac65ad' + '74c84814a670c68f0291f94b76fe00eac96b0e7965ed1762dbffd7c938dd9fdc' + '65ec9ac5b8b28d5b61df1c72498059be2e7cb1f9b965bac0e4ffed3c05520b2b') |