summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO14
-rw-r--r--PKGBUILD47
-rwxr-xr-xchoose-gcc-optimization.sh13
3 files changed, 46 insertions, 28 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 8a9e35e54046..f280782a1901 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,6 +1,6 @@
pkgbase = linux-xanmod-rt
pkgdesc = Linux Xanmod real-time version
- pkgver = 5.15.55
+ pkgver = 6.0.2
pkgrel = 1
url = http://www.xanmod.org/
arch = x86_64
@@ -13,16 +13,16 @@ pkgbase = linux-xanmod-rt
makedepends = tar
makedepends = xz
options = !strip
- source = https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.15.tar.xz
- source = https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.15.tar.sign
- source = https://github.com/xanmod/linux/releases/download/5.15.55-rt48-xanmod1/patch-5.15.55-rt48-xanmod1.xz
+ source = https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.0.tar.xz
+ source = https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.0.tar.sign
+ source = https://github.com/xanmod/linux/releases/download/6.0.2-rt11-xanmod1/patch-6.0.2-rt11-xanmod1.xz
source = choose-gcc-optimization.sh
validpgpkeys = ABAF11C65A2970B130ABE3C479BE3E4300411886
validpgpkeys = 647F28654894E3BD457199BE38DBBDC86092693E
- sha256sums = 57b2cf6991910e3b67a1b3490022e8a0674b6965c74c12da1e99d138d1991ee8
+ sha256sums = 5c2443a5538de52688efb55c27ab0539c1f5eb58c0cfd16a2b9fbb08fd81788e
sha256sums = SKIP
- sha256sums = 1cf7890ca9ee7e5ac9d48d9bfc16802917f87212304341c2769c7d986d9682ab
- sha256sums = 1ac18cad2578df4a70f9346f7c6fccbb62f042a0ee0594817fdef9f2704904ee
+ sha256sums = 96f9e8f40c36b84b501fbaa9cc1d66cb390390c47314cb7384bbcd1581277ece
+ sha256sums = dda2e928f3b02c28e71d4e99f90b499b4c99a265d30fceec7dc1dd7082afc285
pkgname = linux-xanmod-rt
pkgdesc = The Linux kernel and modules with Xanmod patches
diff --git a/PKGBUILD b/PKGBUILD
index b5e554cf0f4b..6d89adb59e95 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -31,9 +31,19 @@ if [ -z ${use_tracers+x} ]; then
use_tracers=y
fi
+# Unique compiler supported upstream is GCC
## Choose between GCC and CLANG config (default is GCC)
-if [ -z ${_compiler+x} ]; then
- _compiler=gcc
+## Use the environment variable "_compiler=clang"
+if [ "${_compiler}" = "clang" ]; then
+ _compiler_flags="CC=clang HOSTCC=clang LLVM=1 LLVM_IAS=1"
+fi
+
+# Choose between the 4 main configs for EDGE branch. Default x86-64-v2 which use CONFIG_GENERIC_CPU2:
+# Possible values: config_x86-64 / config_x86-64-v2 (default) / config_x86-64-v3 / config_x86-64-v4
+# This will be overwritten by selecting any option in microarchitecture script
+# Source files: https://github.com/xanmod/linux/tree/5.17/CONFIGS/xanmod/gcc
+if [ -z ${_config+x} ]; then
+ _config=config_x86-64-v2
fi
# Compress modules with ZSTD (to save disk space)
@@ -61,10 +71,10 @@ fi
### IMPORTANT: Do no edit below this line unless you know what you're doing
pkgbase=linux-xanmod-rt
-_major=5.15
-pkgver=${_major}.55
-_branch=5.x
-_rt=48
+_major=6.0
+pkgver=${_major}.2
+_branch=6.x
+_rt=11
xanmod=1
pkgrel=${xanmod}
pkgdesc='Linux Xanmod real-time version'
@@ -97,10 +107,10 @@ for _patch in ${_patches[@]}; do
source+=("${_patch}::https://raw.githubusercontent.com/archlinux/svntogit-packages/${_commit}/trunk/${_patch}")
done
-sha256sums=('57b2cf6991910e3b67a1b3490022e8a0674b6965c74c12da1e99d138d1991ee8'
+sha256sums=('5c2443a5538de52688efb55c27ab0539c1f5eb58c0cfd16a2b9fbb08fd81788e'
'SKIP'
- '1cf7890ca9ee7e5ac9d48d9bfc16802917f87212304341c2769c7d986d9682ab'
- '1ac18cad2578df4a70f9346f7c6fccbb62f042a0ee0594817fdef9f2704904ee')
+ '96f9e8f40c36b84b501fbaa9cc1d66cb390390c47314cb7384bbcd1581277ece'
+ 'dda2e928f3b02c28e71d4e99f90b499b4c99a265d30fceec7dc1dd7082afc285')
export KBUILD_BUILD_HOST=${KBUILD_BUILD_HOST:-archlinux}
export KBUILD_BUILD_USER=${KBUILD_BUILD_USER:-makepkg}
@@ -128,12 +138,11 @@ prepare() {
done
# Applying configuration
- cp -vf CONFIGS/xanmod/${_compiler}/config .config
+ cp -vf CONFIGS/xanmod-rt/gcc/${_config} .config
# enable LTO_CLANG_THIN
if [ "${_compiler}" = "clang" ]; then
scripts/config --disable LTO_CLANG_FULL
scripts/config --enable LTO_CLANG_THIN
- _LLVM=1
fi
# CONFIG_STACK_VALIDATION gives better stack traces. Also is enabled in all official kernel packages by Archlinux team
@@ -163,10 +172,10 @@ prepare() {
fi
# Let's user choose microarchitecture optimization in GCC
- ../choose-gcc-optimization.sh $_microarchitecture
- # Disable CONFIG_GENERIC_CPU2 if we have choosen another microarchitecture
- # https://github.com/xanmod/linux/issues/240
- [ "$_microarchitecture" = "0" ] || scripts/config --disable CONFIG_GENERIC_CPU2
+ # Use default microarchitecture only if we have not choosen another microarchitecture
+ if [ "$_microarchitecture" -ne "0" ]; then
+ ../choose-gcc-optimization.sh $_microarchitecture
+ fi
# This is intended for the people that want to build this package with their own config
# Put the file "myconfig" at the package folder (this will take preference) or "${XDG_CONFIG_HOME}/linux-xanmod/myconfig"
@@ -193,20 +202,20 @@ prepare() {
if [ "$_localmodcfg" = "y" ]; then
if [ -f $HOME/.config/modprobed.db ]; then
msg2 "Running Steven Rostedt's make localmodconfig now"
- make LLVM=$_LLVM LLVM_IAS=$_LLVM LSMOD=$HOME/.config/modprobed.db localmodconfig
+ make ${_compiler_flags} LSMOD=$HOME/.config/modprobed.db localmodconfig
else
msg2 "No modprobed.db data found"
exit 1
fi
fi
- make LLVM=$_LLVM LLVM_IAS=$_LLVM olddefconfig
+ make ${_compiler_flags} olddefconfig
make -s kernelrelease > version
msg2 "Prepared %s version %s" "$pkgbase" "$(<version)"
if [ "$_makenconfig" = "y" ]; then
- make LLVM=$_LLVM LLVM_IAS=$_LLVM nconfig
+ make ${_compiler_flags} nconfig
fi
# save configuration for later reuse
@@ -215,7 +224,7 @@ prepare() {
build() {
cd linux-${_major}
- make LLVM=$_LLVM LLVM_IAS=$_LLVM all
+ make ${_compiler_flags} all
}
_package() {
diff --git a/choose-gcc-optimization.sh b/choose-gcc-optimization.sh
index f10eec54b81d..3422f1b18be9 100755
--- a/choose-gcc-optimization.sh
+++ b/choose-gcc-optimization.sh
@@ -66,7 +66,7 @@ cat << EOF
98) Intel-Native optimizations autodetected by GCC
99) AMD-Native optimizations autodetected by GCC
- 0) Generic (default)
+ 0) Generic x64-v2 (default)
EOF
@@ -126,14 +126,23 @@ case $answer in
94) Microarchitecture=CONFIG_GENERIC_CPU4 ;;
98) Microarchitecture=CONFIG_MNATIVE_INTEL ;;
99) Microarchitecture=CONFIG_MNATIVE_AMD ;;
- *) default=CONFIG_GENERIC_CPU ;;
+ *) default=CONFIG_GENERIC_CPU2 ;;
esac
warning "According to PKGBUILD variable _microarchitecture, your choice is $answer"
msg "Building this package for microarchitecture: $Microarchitecture$default"
sleep 5
+_defaultmicro=$(grep ^CONFIG_LOCALVERSION .config)
+if [ -z "${default}" ]; then
+ _localversion=$(echo ${Microarchitecture,,} | sed -e 's/config_m/-/g' -e 's/config_generic_cpu/-x64v/g')
+ sed -e "s|^$_defaultmicro|CONFIG_LOCALVERSION=\"$_localversion\"|g" -i .config
+fi
+
sed -e 's|^CONFIG_GENERIC_CPU=y|# CONFIG_GENERIC_CPU is not set|g' -i .config
+sed -e 's|^CONFIG_GENERIC_CPU2=y|# CONFIG_GENERIC_CPU2 is not set|g' -i .config
+sed -e 's|^CONFIG_GENERIC_CPU3=y|# CONFIG_GENERIC_CPU3 is not set|g' -i .config
+sed -e 's|^CONFIG_GENERIC_CPU4=y|# CONFIG_GENERIC_CPU4 is not set|g' -i .config
sed -e "s|^# $Microarchitecture is not set|$Microarchitecture=y|g" -i .config
echo