summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorshmilee2022-03-28 14:01:12 +0800
committershmilee2022-03-28 14:01:12 +0800
commita0f192c4f58dea2d7d33d9d220fd2b39a76c2a62 (patch)
tree1388fef719bf5e872d5f9c6df02d9db86b18bba1
parentda889b26932ce91b7a4cbb377cfe3fa0395a40aa (diff)
downloadaur-a0f192c4f58dea2d7d33d9d220fd2b39a76c2a62.tar.gz
update to LTS 5.15.30
-rw-r--r--.SRCINFO30
-rw-r--r--.gitignore1
-rw-r--r--PKGBUILD105
-rw-r--r--PKGBUILD-5.15.y358
-rw-r--r--ck1-patch-for-5.10.80+.patch11
-rw-r--r--ck2-patch-for-5.10.80+.patch60
6 files changed, 79 insertions, 486 deletions
diff --git a/.SRCINFO b/.SRCINFO
index ce8e51d90c49..397c810be738 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
# Generated by makepkg 6.0.1
-# Mon Mar 28 05:05:45 UTC 2022
+# Mon Mar 28 05:59:05 UTC 2022
pkgbase = linux-shmilee
- pkgver = 5.10.108
+ pkgver = 5.15.30
pkgrel = 1
url = https://www.kernel.org/
arch = x86_64
@@ -20,27 +20,25 @@ pkgbase = linux-shmilee
makedepends = graphviz
makedepends = imagemagick
options = !strip
- source = https://www.kernel.org/pub/linux/kernel/v5.x/linux-5.10.tar.xz
- source = https://www.kernel.org/pub/linux/kernel/v5.x/linux-5.10.tar.sign
- source = https://www.kernel.org/pub/linux/kernel/v5.x/patch-5.10.108.xz
- source = http://ck.kolivas.org/patches/5.0/5.10/5.10-ck1/patch-5.10-ck1.xz
- source = ck2-patch-for-5.10.80+.patch
- source = https://github.com/dolohow/uksm/raw/9b68301484619b60af2515f782160cdfe6c168f3/v5.x/uksm-5.10.patch
- source = https://github.com/zhmars/cjktty-patches/raw/3fb0f901fa6a9ff4300335357001819e525fb076/v5.x/cjktty-5.10.patch
+ source = https://www.kernel.org/pub/linux/kernel/v5.x/linux-5.15.tar.xz
+ source = https://www.kernel.org/pub/linux/kernel/v5.x/linux-5.15.tar.sign
+ source = https://www.kernel.org/pub/linux/kernel/v5.x/patch-5.15.30.xz
+ source = xanmod-aa7fde3b9886d0858ffc91cb0f436b52281c01f4.tar.gz::https://github.com/xanmod/linux-patches/archive/aa7fde3b9886d0858ffc91cb0f436b52281c01f4.tar.gz
+ source = https://github.com/dolohow/uksm/raw/c806b3be64f2e6d2d27c8e258179a8794dac29bc/v5.x/uksm-5.15.patch
+ source = https://github.com/zhmars/cjktty-patches/raw/88b6f29be93285221a10ea7d2737f97793754ee4/v5.x/cjktty-5.15.patch
source = config
validpgpkeys = ABAF11C65A2970B130ABE3C479BE3E4300411886
validpgpkeys = 647F28654894E3BD457199BE38DBBDC86092693E
- sha256sums = dcdf99e43e98330d925016985bfbc7b83c66d367b714b2de0cbbfcbf83d8ca43
+ sha256sums = 57b2cf6991910e3b67a1b3490022e8a0674b6965c74c12da1e99d138d1991ee8
sha256sums = SKIP
- sha256sums = 9be86704b6718cad866ce5dc275a22700e4e62ceb8e2913269afb0c68bec2879
- sha256sums = 64909f07b404b138945d5d6fd19bf3c62d10adce9f592524d91a3359331a6ace
- sha256sums = fae2b688262050d7780b65af1512ed7b62b0cf13838bc448864398f0945d93e1
- sha256sums = 24729e63e08de13039ce7e6637146ec5a5747379ebbd92cdeef744edfad17183
- sha256sums = 078837287607800f948e0e26e6a8ba874d856fd37e0063e8975bb562268546c4
+ sha256sums = 18059d8e3f01ab38b22ddf4c2e0a0a9db50926f6535649f51ee7a86a8542aff1
+ sha256sums = ddc05a3deacd9174a8654d2a3ded6fec0e4a853b6702e326d56545a473c3bd02
+ sha256sums = 7323d58e79dee3bd79431db134afb49e6024f0f63f821eebacf04d3c9d7645da
+ sha256sums = 97a525e28a270c5e6e5a4fc4ab4920c42ceef2f9921857497ab3c56ec343803e
sha256sums = f4d2c31065975e07c37b56b70452be8583a7ab2e5041bfdb93bcd7dfc3f5d0eb
pkgname = linux-shmilee
- pkgdesc = The Linux-shmilee kernel and modules with the ck1 uksm-0.1.2.6 and cjktty patchsets
+ pkgdesc = The Linux-shmilee kernel and modules with some xanmod patchsets, uksm-0.1.2.6 and cjktty patchsets
depends = coreutils
depends = kmod
depends = mkinitcpio
diff --git a/.gitignore b/.gitignore
index 418887338e56..c46398a8d647 100644
--- a/.gitignore
+++ b/.gitignore
@@ -5,6 +5,7 @@ patch-?.*.*.xz
patch-?.*.*.sign
patch-?.*-ck?.xz
+xanmod-*.tar.gz
uksm-?.*.patch
cjktty-?.*.patch
diff --git a/PKGBUILD b/PKGBUILD
index a729100b9112..a294855b7031 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -6,9 +6,9 @@
# last/latest "longterm maintenance" kernel releases
# https://www.kernel.org/category/releases.html
-# 5.10 Greg Kroah-Hartman & Sasha Levin 2020-12-13 Dec, 2022
-_LLL_VER=5.10
-_LLL_SUBVER=108
+# 5.15 Greg Kroah-Hartman & Sasha Levin 2021-10-31 Oct, 2023
+_LLL_VER=5.15
+_LLL_SUBVER=30
# Bisect debug, v5.4.47 -> v5.4.48
_Bisect_debug=off # on, test, off
@@ -28,20 +28,25 @@ fi
# see, https://bugs.archlinux.org/task/31187
_NUMA_disable=y
-# Add ck patch set
# http://ck.kolivas.org/patches/5.0/
-# https://wiki.archlinux.org/index.php/Linux-ck
-_CK_VER=1
-_CK_PATCH_SRC="http://ck.kolivas.org/patches/5.0/${_LLL_VER}/${_LLL_VER}-ck${_CK_VER}/patch-${_LLL_VER}-ck${_CK_VER}.xz"
-_CK_PATCH_PATCH=(
- #'ck1-patch-for-5.10.80+.patch'
- 'ck2-patch-for-5.10.80+.patch' # test
-)
+# EOL: https://ck-hack.blogspot.com/2021/08/514-and-future-of-muqss-and-ck-once.html
+# xanmod:
+# ck-hrtimer
+# Graysky uarches
+# intel partial Clear Linux patchset
+# lib_zstd
+# lrng framework
+_Xan_COMMIT=aa7fde3b9886d0858ffc91cb0f436b52281c01f4
+_Xan_PATCH_SRC="xanmod-$_Xan_COMMIT.tar.gz::https://github.com/xanmod/linux-patches/archive/$_Xan_COMMIT.tar.gz"
+_Xan_PATCH_PATCH=()
# Ultra Kernel Samepage Merging
+# https://github.com/dolohow/uksm
_UKSM_VER=0.1.2.6
-_UKSM_COMMIT=9b68301484619b60af2515f782160cdfe6c168f3
+_UKSM_COMMIT=c806b3be64f2e6d2d27c8e258179a8794dac29bc
_UKSM_PATCH_SRC="https://github.com/dolohow/uksm/raw/${_UKSM_COMMIT}/v5.x/uksm-${_LLL_VER}.patch"
+#_UKSM_COMMIT=80eb7b0e83af4e0b19eea5529082bfbdd5b4deae
+#_UKSM_PATCH_SRC="uksm-${_LLL_VER}.patch::https://gitlab.com/sirlucjan/kernel-patches/-/raw/${_UKSM_COMMIT}/${_LLL_VER}/uksm-patches/0001-UKSM-for-${_LLL_VER}.patch"
_UKSM_PATCH_PATCH=()
# CJKTTY patch
@@ -49,11 +54,11 @@ _UKSM_PATCH_PATCH=()
#_CJKTTY_PATCH_URL="https://github.com/torvalds/linux/compare/v${_LLL_VER}...Gentoo-zh:${_LLL_VER}-utf8.patch"
#_CJKTTY_PATCH_SRC="cjktty-${_LLL_VER}.patch::${_CJKTTY_PATCH_URL}"
# https://github.com/zhmars/cjktty-patches
-_CJKTTY_COMMIT=3fb0f901fa6a9ff4300335357001819e525fb076
+_CJKTTY_COMMIT=88b6f29be93285221a10ea7d2737f97793754ee4
_CJKTTY_PATCH_SRC="https://github.com/zhmars/cjktty-patches/raw/${_CJKTTY_COMMIT}/v5.x/cjktty-${_LLL_VER}.patch"
_CJKTTY_PATCH_PATCH=()
-_PATHSET_DESC="ck${_CK_VER} uksm-${_UKSM_VER} and cjktty"
+_PATHSET_DESC="some xanmod patchsets, uksm-${_UKSM_VER} and cjktty"
pkgbase=linux-shmilee
pkgname=("${pkgbase}" "${pkgbase}-headers")
@@ -75,8 +80,8 @@ source=(
"https://www.kernel.org/pub/linux/kernel/v5.x/${_srcname}.tar.sign"
"https://www.kernel.org/pub/linux/kernel/v5.x/patch-${pkgver}.xz"
#"https://www.kernel.org/pub/linux/kernel/v5.x/patch-${pkgver}.sign"
- ${_CK_PATCH_SRC}
- ${_CK_PATCH_PATCH[@]}
+ ${_Xan_PATCH_SRC}
+ ${_Xan_PATCH_PATCH[@]}
${_UKSM_PATCH_SRC}
${_UKSM_PATCH_PATCH[@]}
${_CJKTTY_PATCH_SRC}
@@ -87,14 +92,13 @@ validpgpkeys=(
'ABAF11C65A2970B130ABE3C479BE3E4300411886' # Linus Torvalds
'647F28654894E3BD457199BE38DBBDC86092693E' # Greg Kroah-Hartman
)
-# https://www.kernel.org/pub/linux/kernel/v4.x/sha256sums.asc
-sha256sums=('dcdf99e43e98330d925016985bfbc7b83c66d367b714b2de0cbbfcbf83d8ca43'
+# https://www.kernel.org/pub/linux/kernel/v5.x/sha256sums.asc
+sha256sums=('57b2cf6991910e3b67a1b3490022e8a0674b6965c74c12da1e99d138d1991ee8'
'SKIP'
- '9be86704b6718cad866ce5dc275a22700e4e62ceb8e2913269afb0c68bec2879'
- '64909f07b404b138945d5d6fd19bf3c62d10adce9f592524d91a3359331a6ace'
- 'fae2b688262050d7780b65af1512ed7b62b0cf13838bc448864398f0945d93e1'
- '24729e63e08de13039ce7e6637146ec5a5747379ebbd92cdeef744edfad17183'
- '078837287607800f948e0e26e6a8ba874d856fd37e0063e8975bb562268546c4'
+ '18059d8e3f01ab38b22ddf4c2e0a0a9db50926f6535649f51ee7a86a8542aff1'
+ 'ddc05a3deacd9174a8654d2a3ded6fec0e4a853b6702e326d56545a473c3bd02'
+ '7323d58e79dee3bd79431db134afb49e6024f0f63f821eebacf04d3c9d7645da'
+ '97a525e28a270c5e6e5a4fc4ab4920c42ceef2f9921857497ab3c56ec343803e'
'f4d2c31065975e07c37b56b70452be8583a7ab2e5041bfdb93bcd7dfc3f5d0eb')
export KBUILD_BUILD_HOST=archlinux
@@ -117,7 +121,7 @@ prepare() {
echo "${pkgbase#linux}" > localversion.20-pkgname
# add upstream patch
- patch -p1 -i ../patch-${pkgver}
+ patch -Np1 -i ../patch-${pkgver}
# Bisect debug
if [ "$_Bisect_debug" == "on" ]; then
@@ -125,24 +129,39 @@ prepare() {
if [ ! -f "${srcdir}/../v${pkgver}-${pkgrel}-$_bcommit" ]; then
wget "$_bpatch" -O "${srcdir}/../v${pkgver}-${pkgrel}-$_bcommit"
fi
- patch -p1 -i "${srcdir}/../v${pkgver}-${pkgrel}-$_bcommit"
+ patch -Np1 -i "${srcdir}/../v${pkgver}-${pkgrel}-$_bcommit"
fi
-
- # fix naming schema in EXTRAVERSION of ck patch set
- sed -i -re "s/^(.EXTRAVERSION).*$/\1 = /" "../patch-${_LLL_VER}-ck${_CK_VER}"
- # Patch source with ck patch set
- msg2 "Patching source with ck${_CK_VER} including BFS MuQSS"
- cp "../patch-${_LLL_VER}-ck${_CK_VER}" "../patch-${_LLL_VER}.${_LLL_SUBVER}-ck${_CK_VER}"
- for p in ${_CK_PATCH_PATCH[@]}; do
- patch -Ni ../$p "../patch-${_LLL_VER}.${_LLL_SUBVER}-ck${_CK_VER}"
- done
- patch -Np1 -i "../patch-${_LLL_VER}.${_LLL_SUBVER}-ck${_CK_VER}"
-
# Bisect debug result
if [ "$_Bisect_debug" != "on" ]; then
:
fi
+ msg2 "Patching source with some third-party patchsets in xanmod"
+ _Xan_patch_dir=../linux-patches-"$_Xan_COMMIT"/"linux-${_LLL_VER}.y-xanmod"
+ for p in ${_Xan_PATCH_PATCH[@]}; do
+ patch -Ni ../$p -d $_Xan_patch_dir/
+ done
+ msg2 "Patching with xanmod: CK's high-resolution kernel timers (hrtimer) patchsets ..."
+ for i in $_Xan_patch_dir/ck-hrtimer/0*.patch; do
+ patch -Np1 -i $i
+ done
+ msg2 "Patching with xanmod: Graysky's additional CPU optimizations patchsets ..."
+ for i in $_Xan_patch_dir/graysky/0*.patch; do
+ patch -Np1 -i $i
+ done
+ msg2 "Patching with xanmod: intel partial Clear Linux patchsets ..."
+ for i in $_Xan_patch_dir/intel/0*.patch; do
+ patch -Np1 -i $i
+ done
+ msg2 "Patching with xanmod: ZSTD library for bug fixes and r/w performance patchsets..."
+ for i in $_Xan_patch_dir/lib_zstd/0*.patch; do
+ patch -Np1 -i $i
+ done
+ msg2 "Patching with xanmod: Linux Random Number Generator (LRNG) framework patchsets..."
+ for i in $_Xan_patch_dir/lrng/0*.patch; do
+ patch -Np1 -i $i
+ done
+
msg2 "Patching source with uksm ${_UKSM_VER} patches"
cp "../uksm-${_LLL_VER}.patch" "../uksm-${_LLL_VER}.${_LLL_SUBVER}.patch"
for p in ${_UKSM_PATCH_PATCH[@]}; do
@@ -160,6 +179,9 @@ prepare() {
echo "Setting config..."
cp -Tf ../config .config
+ # >>> ck hrtimer patch set, recommends 1000 Hz tick
+ scripts/config --enable CONFIG_HZ_1000
+
# Optionally disable NUMA for 64-bit kernels only
if [ -n "$_NUMA_disable" ] && [ "${CARCH}" = "x86_64" ]; then
msg2 "Disabling NUMA from kernel config..."
@@ -185,9 +207,7 @@ prepare() {
# rewrite configuration
yes "" | make olddefconfig >/dev/null
-
- # don't run depmod on 'make install'. We'll do this ourselves in packaging
- #sed -i '2iexit 0' scripts/depmod.sh
+ diff -u ../config .config || :
make -s kernelrelease >version
msg2 "Prepared $pkgbase version $(<version)"
@@ -204,7 +224,7 @@ build() {
}
_package() {
- pkgdesc="The ${pkgbase/linux/Linux} kernel and modules with the ${_PATHSET_DESC} patchsets"
+ pkgdesc="The ${pkgbase/linux/Linux} kernel and modules with ${_PATHSET_DESC} patchsets"
depends=('coreutils' 'kmod' 'mkinitcpio')
optdepends=('crda: to set the correct wireless channels of your country'
'linux-firmware: firmware images needed for some devices')
@@ -243,9 +263,12 @@ _package-headers() {
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
+ # required when STACK_VALIDATION is enabled
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
+
# add xfs and shmem for aufs building
mkdir -p "$builddir"/{fs/xfs,mm}
diff --git a/PKGBUILD-5.15.y b/PKGBUILD-5.15.y
deleted file mode 100644
index 74cac7e6599c..000000000000
--- a/PKGBUILD-5.15.y
+++ /dev/null
@@ -1,358 +0,0 @@
-# $Id$
-# Maintainer: shmilee <shmilee.zju@gmail.com>
-# Contributor: Tobias Powalowski <tpowa@archlinux.org>
-# Contributor: Thomas Baechler <thomas@archlinux.org>
-# Contributor: Andreas Radke <andyrtr@archlinux.org>
-
-# last/latest "longterm maintenance" kernel releases
-# https://www.kernel.org/category/releases.html
-# 5.15 Greg Kroah-Hartman & Sasha Levin 2021-10-31 Oct, 2023
-_LLL_VER=5.15
-_LLL_SUBVER=11
-
-# Bisect debug, v5.4.47 -> v5.4.48
-_Bisect_debug=off # on, test, off
-if [ "$_Bisect_debug" == "on" ]; then
- _burlbase=https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
- _bcommit=f7757368e0f0b3e108088ca7b5b8abda6faa7ebc #Peter, 8 x
-# _bcommit=2e256dd5b05561b051e895121530d2a0062c7a0f #Jann, 10 v
-# _bdiff="$_burlbase/diff/?h=linux-${_LLL_VER}.y&id2=v${_LLL_VER}.${_LLL_SUBVER}&id=$_bcommit"
- _bpatch="$_burlbase/rawdiff/?h=linux-${_LLL_VER}.y&id2=v${_LLL_VER}.${_LLL_SUBVER}&id=$_bcommit"
- msg "Bisect debug on: v${_LLL_VER}.${_LLL_SUBVER} --> $_bcommit"
- msg "Bisect debug patch: $_bpatch"
-fi
-
-# NUMA is optimized for multi-socket motherboards.
-# A single multi-core CPU can actually run slower with NUMA enabled.
-# Most users can disable NUMA.
-# see, https://bugs.archlinux.org/task/31187
-_NUMA_disable=y
-
-# http://ck.kolivas.org/patches/5.0/
-# EOL: https://ck-hack.blogspot.com/2021/08/514-and-future-of-muqss-and-ck-once.html
-# xanmod:
-# ck-hrtimer
-# Graysky uarches
-# intel partial Clear Linux patchset
-# lib_zstd
-# lrng framework
-_Xan_COMMIT=84e17c462ae855a6d9f9569db2487b427e3a7e66
-_Xan_PATCH_SRC="xanmod-$_Xan_COMMIT.tar.gz::https://github.com/xanmod/linux-patches/archive/$_Xan_COMMIT.tar.gz"
-_Xan_PATCH_PATCH=()
-
-# Ultra Kernel Samepage Merging
-# https://github.com/dolohow/uksm
-_UKSM_VER=0.1.2.6
-_UKSM_COMMIT=80eb7b0e83af4e0b19eea5529082bfbdd5b4deae
-_UKSM_PATCH_SRC="https://gitlab.com/sirlucjan/kernel-patches/-/raw/${_UKSM_COMMIT}/${_LLL_VER}/uksm-patches/0001-UKSM-for-${_LLL_VER}.patch"
-_UKSM_PATCH_PATCH=()
-
-# CJKTTY patch
-# https://github.com/Gentoo-zh/linux-cjktty
-#_CJKTTY_PATCH_URL="https://github.com/torvalds/linux/compare/v${_LLL_VER}...Gentoo-zh:${_LLL_VER}-utf8.patch"
-#_CJKTTY_PATCH_SRC="cjktty-${_LLL_VER}.patch::${_CJKTTY_PATCH_URL}"
-# https://github.com/zhmars/cjktty-patches
-_CJKTTY_COMMIT=88b6f29be93285221a10ea7d2737f97793754ee4
-_CJKTTY_PATCH_SRC="https://github.com/zhmars/cjktty-patches/raw/${_CJKTTY_COMMIT}/v5.x/cjktty-${_LLL_VER}.patch"
-_CJKTTY_PATCH_PATCH=()
-
-_PATHSET_DESC="some xanmod patchsets, uksm-${_UKSM_VER} and cjktty"
-
-pkgbase=linux-shmilee
-pkgname=("${pkgbase}" "${pkgbase}-headers")
-if [ "$_Bisect_debug" == "off" ]; then
- pkgname+=("${pkgbase}-docs")
-fi
-_srcname=linux-${_LLL_VER}
-pkgver=${_LLL_VER}.${_LLL_SUBVER}
-pkgrel=1
-arch=('x86_64')
-url="https://www.kernel.org/"
-license=('GPL2')
-makedepends=(
- 'bc' 'kmod' 'libelf' 'pahole' 'cpio' 'perl' 'tar' 'xz'
- 'xmlto' 'python-sphinx' 'python-sphinx_rtd_theme' 'graphviz' 'imagemagick')
-options=('!strip')
-source=(
- "https://www.kernel.org/pub/linux/kernel/v5.x/${_srcname}.tar.xz"
- "https://www.kernel.org/pub/linux/kernel/v5.x/${_srcname}.tar.sign"
- "https://www.kernel.org/pub/linux/kernel/v5.x/patch-${pkgver}.xz"
- #"https://www.kernel.org/pub/linux/kernel/v5.x/patch-${pkgver}.sign"
- ${_Xan_PATCH_SRC}
- ${_Xan_PATCH_PATCH[@]}
- ${_UKSM_PATCH_SRC}
- ${_UKSM_PATCH_PATCH[@]}
- ${_CJKTTY_PATCH_SRC}
- ${_CJKTTY_PATCH_PATCH[@]}
- 'config' # the main kernel config file
-)
-validpgpkeys=(
- 'ABAF11C65A2970B130ABE3C479BE3E4300411886' # Linus Torvalds
- '647F28654894E3BD457199BE38DBBDC86092693E' # Greg Kroah-Hartman
-)
-# https://www.kernel.org/pub/linux/kernel/v5.x/sha256sums.asc
-sha256sums=('57b2cf6991910e3b67a1b3490022e8a0674b6965c74c12da1e99d138d1991ee8'
- 'SKIP'
- 'bdb35ece2dd0f6d8225947b63539e70c8fc16bd28f03395d590515d8187f03c4'
- '4f49c13241ad455a77593b927c40704029354f405e56dd0a0bb014b71391524c'
- 'cb348cc3ba1a453ac6057ecc08000a2ccddc47b70491caaf71db34a3d630f77c'
- '97a525e28a270c5e6e5a4fc4ab4920c42ceef2f9921857497ab3c56ec343803e'
- 'f4d2c31065975e07c37b56b70452be8583a7ab2e5041bfdb93bcd7dfc3f5d0eb')
-
-export KBUILD_BUILD_HOST=archlinux
-export KBUILD_BUILD_USER=$pkgbase
-export KBUILD_BUILD_TIMESTAMP="$(date -Ru${SOURCE_DATE_EPOCH:+d @$SOURCE_DATE_EPOCH})"
-
-_kernelname=${pkgbase#linux}
-
-if [ "$_Bisect_debug" != "off" ]; then
- makedepends+=('wget' 'modprobed-db')
- PKGEXT='.pkg.tar'
-fi
-
-prepare() {
- cd ${_srcname}
-
- msg2 "Setting version..."
- scripts/setlocalversion --save-scmversion
- echo "-$pkgrel" > localversion.10-pkgrel
- echo "${pkgbase#linux}" > localversion.20-pkgname
-
- # add upstream patch
- patch -Np1 -i ../patch-${pkgver}
-
- # Bisect debug
- if [ "$_Bisect_debug" == "on" ]; then
- msg2 "Patching upstream v$pkgver --> $_bcommit"
- if [ ! -f "${srcdir}/../v${pkgver}-${pkgrel}-$_bcommit" ]; then
- wget "$_bpatch" -O "${srcdir}/../v${pkgver}-${pkgrel}-$_bcommit"
- fi
- patch -Np1 -i "${srcdir}/../v${pkgver}-${pkgrel}-$_bcommit"
- fi
- # Bisect debug result
- if [ "$_Bisect_debug" != "on" ]; then
- :
- fi
-
- msg2 "Patching source with some third-party patchsets in xanmod"
- _Xan_patch_dir=../linux-patches-"$_Xan_COMMIT"/"linux-${_LLL_VER}.y-xanmod"
- for p in ${_Xan_PATCH_PATCH[@]}; do
- patch -Ni ../$p -d $_Xan_patch_dir/
- done
- # >>> ck hrtimer patch set, recommends 1000 Hz tick
- scripts/config --enable CONFIG_HZ_1000
- msg2 "Patching with xanmod: CK's high-resolution kernel timers (hrtimer) patchsets ..."
- for i in $_Xan_patch_dir/ck-hrtimer/0*.patch; do
- patch -Np1 -i $i
- done
- msg2 "Patching with xanmod: Graysky's additional CPU optimizations patchsets ..."
- for i in $_Xan_patch_dir/graysky/0*.patch; do
- patch -Np1 -i $i
- done
- msg2 "Patching with xanmod: intel partial Clear Linux patchsets ..."
- for i in $_Xan_patch_dir/intel/0*.patch; do
- patch -Np1 -i $i
- done
- msg2 "Patching with xanmod: ZSTD library for bug fixes and r/w performance patchsets..."
- for i in $_Xan_patch_dir/lib_zstd/0*.patch; do
- patch -Np1 -i $i
- done
- msg2 "Patching with xanmod: Linux Random Number Generator (LRNG) framework patchsets..."
- for i in $_Xan_patch_dir/lrng/0*.patch; do
- patch -Np1 -i $i
- done
- msg2 "Patching with xanmod: BFQ patchsets..."
- for i in $_Xan_patch_dir/xanmod/0*bfq*.patch; do
- patch -Np1 -i $i
- done
-
- msg2 "Patching source with uksm ${_UKSM_VER} patches"
- cp "../0001-UKSM-for-${_LLL_VER}.patch" "../uksm-${_LLL_VER}.${_LLL_SUBVER}.patch"
- for p in ${_UKSM_PATCH_PATCH[@]}; do
- patch -Ni ../$p "../uksm-${_LLL_VER}.${_LLL_SUBVER}.patch"
- done
- patch -Np1 -i "../uksm-${_LLL_VER}.${_LLL_SUBVER}.patch"
-
- msg2 "Patching source with Gentoo-zh/linux-cjktty patches"
- cp "../cjktty-${_LLL_VER}.patch" "../cjktty-${_LLL_VER}.${_LLL_SUBVER}.patch"
- for p in ${_CJKTTY_PATCH_PATCH[@]}; do
- patch -Ni ../$p "../cjktty-${_LLL_VER}.${_LLL_SUBVER}.patch"
- done
- patch -Np1 -i "../cjktty-${_LLL_VER}.${_LLL_SUBVER}.patch"
-
- echo "Setting config..."
- cp -Tf ../config .config
-
- # Optionally disable NUMA for 64-bit kernels only
- if [ -n "$_NUMA_disable" ] && [ "${CARCH}" = "x86_64" ]; then
- msg2 "Disabling NUMA from kernel config..."
- sed -i -e 's/CONFIG_NUMA=y/# CONFIG_NUMA is not set/' \
- -i -e '/CONFIG_AMD_NUMA=y/d' \
- -i -e '/CONFIG_X86_64_ACPI_NUMA=y/d' \
- -i -e '/CONFIG_NODES_SPAN_OTHER_NODES=y/d' \
- -i -e '/# CONFIG_NUMA_EMU is not set/d' \
- -i -e '/CONFIG_NODES_SHIFT=6/d' \
- -i -e '/CONFIG_NEED_MULTIPLE_NODES=y/d' \
- -i -e '/# CONFIG_MOVABLE_NODE is not set/d' \
- -i -e '/CONFIG_USE_PERCPU_NUMA_NODE_ID=y/d' \
- -i -e '/CONFIG_ACPI_NUMA=y/d' .config
- fi
-
- if [ "$_Bisect_debug" != "off" ]; then
- if [ x"$USER" == x"builduser" ]; then
- SUDO_USER=builduser modprobed-db
- SUDO_USER=builduser modprobed-db store # for makechrootpkg
- fi
- yes "" | make LSMOD=$HOME/.config/modprobed.db localmodconfig
- fi
-
- # rewrite configuration
- yes "" | make olddefconfig >/dev/null
-
- # don't run depmod on 'make install'. We'll do this ourselves in packaging
- #sed -i '2iexit 0' scripts/depmod.sh
-
- make -s kernelrelease >version
- msg2 "Prepared $pkgbase version $(<version)"
-}
-
-build() {
- cd ${_srcname}
-
- if [ "$_Bisect_debug" == "off" ]; then
- make ${MAKEFLAGS} all htmldocs
- else
- make ${MAKEFLAGS} all
- fi
-}
-
-_package() {
- pkgdesc="The ${pkgbase/linux/Linux} kernel and modules with ${_PATHSET_DESC} patchsets"
- depends=('coreutils' 'kmod' 'mkinitcpio')
- 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}
- local kernver="$(<version)"
- local modulesdir="$pkgdir/usr/lib/modules/$kernver"
-
- msg2 "Installing boot image..."
- # systemd expects to find the kernel here to allow hibernation
- # https://github.com/systemd/systemd/commit/edda44605f06a41fb86b7ab8128dcf99161d2344
- install -Dm644 "$(make -s image_name)" "$modulesdir/vmlinuz"
-
- # Used by mkinitcpio to name the kernel
- echo "$pkgbase" | install -Dm644 /dev/stdin "$modulesdir/pkgbase"
-
- msg2 "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="Header files and scripts for building modules for ${pkgbase/linux/Linux} kernel"
-
- cd ${_srcname}
- local builddir="$pkgdir/usr/lib/modules/$(<version)/build"
-
- msg2 "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}
-
- msg2 "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
-
- msg2 "Installing KConfig files..."
- find . -name 'Kconfig*' -exec install -Dm644 {} "$builddir/{}" \;
-
- msg2 "Removing unneeded architectures..."
- local arch
- for arch in "$builddir"/arch/*/; do
- [[ $arch = */x86/ ]] && continue
- msg2 "Removing $(basename "$arch")"
- rm -r "$arch"
- done
-
- msg2 "Removing documentation..."
- rm -r "$builddir/Documentation"
-
- msg2 "Removing broken symlinks..."
- find -L "$builddir" -type l -printf 'Removing %P\n' -delete
-
- msg2 "Removing loose objects..."
- find "$builddir" -type f -name '*.o' -printf 'Removing %P\n' -delete
-
- msg2 "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)
-
- msg2 "Stripping vmlinux..."
- strip -v $STRIP_STATIC "$builddir/vmlinux"
-
- msg2 "Adding symlink..."
- mkdir -p "$pkgdir/usr/src"
- ln -sr "$builddir" "$pkgdir/usr/src/$pkgbase"
-}
-
-_package-docs() {
- pkgdesc="Documentation that comes with the ${pkgbase/linux/Linux} kernel"
-
- cd ${_srcname}
- local builddir="$pkgdir/usr/lib/modules/$(<version)/build"
-
- msg2 "Installing documentation..."
- local src dst
- while read -rd '' src; do
- dst="${src#Documentation/}"
- dst="$builddir/Documentation/${dst#output/}"
- install -Dm644 "$src" "$dst"
- done < <(find Documentation -name '.*' -prune -o ! -type d -print0)
-
- msg2 "Adding symlink..."
- mkdir -p "$pkgdir/usr/share/doc"
- ln -sr "$builddir/Documentation" "$pkgdir/usr/share/doc/$pkgbase"
-}
-
-for _p in ${pkgname[@]}; do
- eval "package_${_p}() {
- $(declare -f "_package${_p#${pkgbase}}")
- _package${_p#${pkgbase}}
- }"
-done
diff --git a/ck1-patch-for-5.10.80+.patch b/ck1-patch-for-5.10.80+.patch
deleted file mode 100644
index 2bf0c7b100dc..000000000000
--- a/ck1-patch-for-5.10.80+.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- patch-5.10-ck1 2021-11-21 15:28:49.188267764 +0800
-+++ patch-5.10.80-ck1 2021-11-21 15:57:02.448246461 +0800
-@@ -5789,7 +5789,7 @@
- + return 0;
- +}
- +
--+void sched_post_fork(struct task_struct *p)
-++void sched_post_fork(struct task_struct *p, struct kernel_clone_args *kargs)
- +{
- +}
- +
diff --git a/ck2-patch-for-5.10.80+.patch b/ck2-patch-for-5.10.80+.patch
deleted file mode 100644
index dc89d6d65a42..000000000000
--- a/ck2-patch-for-5.10.80+.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-FROM: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-5.10.y&id=c85c6fadbef0a3eab41540ea628fa8fe8928c820
-Try: Fix sched_fork() access an invalid sched_task_group
-
---- patch-5.10-ck1 2021-11-21 15:28:49.188267764 +0800
-+++ patch-5.10.80-ck1 2021-11-21 15:57:02.448246461 +0800
-@@ -3455,7 +3455,7 @@
- index 000000000000..9478e2d473b7
- --- /dev/null
- +++ b/kernel/sched/MuQSS.c
--@@ -0,0 +1,7866 @@
-+@@ -0,0 +1,7868 @@
- +// SPDX-License-Identifier: GPL-2.0
- +/*
- + * kernel/sched/MuQSS.c, was kernel/sched.c
-@@ -5714,8 +5714,6 @@
- + */
- +int sched_fork(unsigned long __maybe_unused clone_flags, struct task_struct *p)
- +{
--+ unsigned long flags;
--+
- +#ifdef CONFIG_PREEMPT_NOTIFIERS
- + INIT_HLIST_HEAD(&p->preempt_notifiers);
- +#endif
-@@ -5772,14 +5770,6 @@
- + p->sched_reset_on_fork = 0;
- + }
- +
--+ /*
--+ * Silence PROVE_RCU.
--+ */
--+ raw_spin_lock_irqsave(&p->pi_lock, flags);
--+ rseq_migrate(p);
--+ set_task_cpu(p, smp_processor_id());
--+ raw_spin_unlock_irqrestore(&p->pi_lock, flags);
--+
- +#ifdef CONFIG_SCHED_INFO
- + if (unlikely(sched_info_on()))
- + memset(&p->sched_info, 0, sizeof(p->sched_info));
-@@ -5789,8 +5779,20 @@
- + return 0;
- +}
- +
--+void sched_post_fork(struct task_struct *p)
-++void sched_post_fork(struct task_struct *p, struct kernel_clone_args *kargs)
- +{
-++ unsigned long flags;
-++ /*
-++ * Silence PROVE_RCU.
-++ */
-++ raw_spin_lock_irqsave(&p->pi_lock, flags);
-++ rseq_migrate(p);
-++ /*
-++ * We're setting the CPU for the first time, we don't migrate,
-++ * so use set_task_cpu().
-++ */
-++ set_task_cpu(p, smp_processor_id());
-++ raw_spin_unlock_irqrestore(&p->pi_lock, flags);
- +}
- +
- +#ifdef CONFIG_SCHEDSTATS