--- a/PKGBUILD +++ b/PKGBUILD @@ -1,3 +1,9 @@ +# Contributor: Andrey Alekseev +# used original PKGBUILD from Manjaro linux: https://gitlab.manjaro.org/packages/core/linux58 +# https://aur.archlinux.org/packages/linux-xanmod/ +# see "PKGBUILD_change.patch" for details + + # Maintainer: Philip Müller # Maintainer: Bernhard Landauer # Maintainer: Helmut Stult @@ -9,17 +15,32 @@ # Cloud Server _server=cpx51 -pkgbase=linux58 -pkgname=('linux58' 'linux58-headers') -_kernelname=-MANJARO +## +## The following variables can be customized at build time. Use env or export to change at your wish +## +## Example: env _microarchitecture=25 use_numa=n use_tracers=n use_pds=n makepkg -sc +## +## Look inside 'choose-gcc-optimization.sh' to choose your microarchitecture +## Valid numbers between: 0 to 42 +## Default is: 0 => generic +## Good option if your package is for one machine: 42 => native +if [ -z ${_microarchitecture+x} ]; then + _microarchitecture=0 +fi + + +pkgbase=linux-manjaro-xanmod +pkgname=("${pkgbase}" "${pkgbase}-headers") +_kernelname=-MANJARO-Xanmod _basekernel=5.8 _basever=58 _aufs=20200622 -pkgver=5.8.5 -pkgrel=2 +pkgver=5.8.6 +xanmod=1 +pkgrel=1 arch=('x86_64') url="http://www.kernel.org/" -license=('GPL2') +license=('custom') makedepends=('bc' 'docbook-xsl' 'elfutils' @@ -29,7 +50,11 @@ 'xmlto') options=('!strip') source=("https://www.kernel.org/pub/linux/kernel/v5.x/linux-${_basekernel}.tar.xz" - "https://www.kernel.org/pub/linux/kernel/v5.x/patch-${pkgver}.xz" + #"https://www.kernel.org/pub/linux/kernel/v5.x/patch-${pkgver}.xz" + # xanmod patch + "https://github.com/xanmod/linux/releases/download/${pkgver}-xanmod${xanmod}/patch-${pkgver}-xanmod${xanmod}.xz" + # gcc optimizations + choose-gcc-optimization.sh # the main kernel config files 'config' 'config.aufs' 'config.anbox' # ARCH Patches @@ -37,7 +62,7 @@ # MANJARO Patches '0001-i2c-nuvoton-nc677x-hwmon-driver.patch' '0001-iomap-iomap_bmap-should-accept-unwritten-maps.patch' - '0001-futex.patch' + #'0001-futex.patch' '0001-apparmor-patch-to-provide-compatibility-with-v2-net-rules.patch' '0002-apparmor-af_unix-mediation.patch' '0003-apparmor-fix-use-after-free-in-sk_peer_label.patch' @@ -65,14 +90,16 @@ '0012-bootsplash.patch' '0013-bootsplash.gitpatch') sha256sums=('e7f75186aa0642114af8f19d99559937300ca27acaf7451b36d4f9b0f85cf1f5' - '69855667f003f3f6f9899dba5f3f9e05ab967bd8a7384f18033bdbece443ebb0' + #'b4ab9987a715753e64f0aa264dac91c3d7ca0651bfdd8fa5d19c8990f3b08abc' + 'SKIP' + 'SKIP' '0ecba3688f213c56b443145c5ffcf3ddfbe9cb0ee4c1fc4bd1351266224ad997' 'b44d81446d8b53d5637287c30ae3eb64cae0078c3fbc45fcf1081dd6699818b5' 'c079a87a7de0001f5f2b7a42a822c262e31f19f2c547613885f273822c9d4dcc' '986f8d802f37b72a54256f0ab84da83cb229388d58c0b6750f7c770818a18421' '7823d7488f42bc4ed7dfae6d1014dbde679d8b862c9a3697a39ba0dae5918978' '95745075edd597caa92b369cfbcd11a04c9e3c88c0c987c70114924e1e01df5c' - '78dde51123a21ec5efe9c420b309d03263001dafd8684f71c167f02e3f504f9e' + #'78dde51123a21ec5efe9c420b309d03263001dafd8684f71c167f02e3f504f9e' '98202b8ad70d02d86603294bae967874fa7b18704b5c7b867568b0fd33a08921' '5cbbf3db9ea3205e9b89fe3049bea6dd626181db0cb0dc461e4cf5a400c68dd6' 'c7dbec875d0c1d6782c037a1dcefff2e5bdb5fc9dffac1beea07dd8c1bdef1d7' @@ -95,11 +122,17 @@ '035ea4b2a7621054f4560471f45336b981538a40172d8f17285910d4e0e0b3ef') prepare() { cd "${srcdir}/linux-${_basekernel}" - + + # Let's user choose microarchitecture optimization in GCC + sh ${srcdir}/choose-gcc-optimization.sh $_microarchitecture + # add upstream patch - msg "add upstream patch" - patch -p1 -i "${srcdir}/patch-${pkgver}" - + #msg "add upstream patch" + #patch -p1 -i "${srcdir}/patch-${pkgver}" + + # Apply Xanmod patch + patch -Np1 -i ../patch-${pkgver}-xanmod${xanmod} + local src for src in "${source[@]}"; do src="${src%%::*}" @@ -127,7 +160,7 @@ sed -i '2iexit 0' scripts/depmod.sh msg "get kernel version" - make prepare + make olddefconfig # load configuration # Configure the kernel. Replace the line below with one of your choice. @@ -148,10 +181,11 @@ make ${MAKEFLAGS} LOCALVERSION= bzImage modules } -package_linux58() { - pkgdesc="The ${pkgbase/linux/Linux} kernel and modules" +package_linux-manjaro-xanmod() { + pkgdesc="The Linux kernel and modules with Xanmod and Manjaro patches (Bootsplash support)" depends=('coreutils' 'linux-firmware' 'kmod' 'mkinitcpio>=27') - optdepends=('crda: to set the correct wireless channels of your country') + optdepends=('crda: to set the correct wireless channels of your country' + 'bootsplash-systemd: to enable bootsplash') provides=("linux=${pkgver}" VIRTUALBOX-GUEST-MODULES WIREGUARD-MODULE) cd "${srcdir}/linux-${_basekernel}" @@ -193,8 +227,8 @@ install -Dt "${pkgdir}/usr/lib/modules/${_kernver}/build" -m644 vmlinux } -package_linux58-headers() { - pkgdesc="Header files and scripts for building modules for ${pkgbase/linux/Linux} kernel" +package_linux-manjaro-xanmod-headers() { + pkgdesc="Header files and scripts for building modules for ${pkgbase} kernel" provides=("linux-headers=$pkgver") cd "${srcdir}/linux-${_basekernel}"