pmaports/device/community/linux-pine64-pinephonepro/APKBUILD
Jan Jasper de Kroon 01c47c5f3a
device/community/linux-pine64-pinephonepro: upgrade to 6.2.2 (MR 3928)
Kernel configuration addition:
Enabled the newly added Lazy RCU scheduler.

RCU_LAZY can help battery-powered systems like the PinePhone Pro in a few ways:

    1. Reduced CPU usage: Because RCU_LAZY allows readers to access shared data structures without acquiring locks or other synchronization primitives,
       it reduces the amount of CPU time that is required to manage synchronization. This can be particularly beneficial in battery-powered systems,
       where reducing CPU usage can extend battery life.

    2. Reduced memory usage: RCU_LAZY delays the creation of multiple versions of the shared data structure until they are actually needed.
       This reduces the amount of memory that is required to store these versions.
       In battery-powered systems, where memory usage can be a critical resource, this can help to conserve power.

    3. Reduced synchronization overhead: RCU_LAZY reduces the overhead of synchronization by delaying the creation of multiple versions of the shared data structure.
       This can reduce the amount of time that is spent acquiring and releasing locks or other synchronization primitives,
       which can help to conserve power in battery-powered systems.

[ci:skip-build]: already built successfully in CI
2023-03-06 08:12:13 +01:00

80 lines
2 KiB
Text

# Maintainer: Martijn Braam <martijn@brixit.nl>
# Co-Maintainer: Jan Jasper de Kroon <jajadekroon@gmail.com>
pkgname=linux-pine64-pinephonepro
pkgver=6.2.2
_pkgver=6.2
_tagdate=20230304-1338
pkgrel=0
pkgdesc="Mainline kernel for the pinephone pro"
arch="aarch64"
_flavor="${pkgname#linux-}"
url="https://kernel.org"
license="GPL-2.0-only"
options="!strip !check !tracedeps
pmb:cross-native
pmb:kconfigcheck-community
"
makedepends="
bash
bison
findutils
flex
gmp-dev
gzip
linux-headers
mpc1-dev
mpfr-dev
openssl-dev
perl
postmarketos-installkernel
rsync
xz
"
case "$CARCH" in
aarch64*) _carch="arm64" ;;
arm*) _carch="arm" ;;
esac
# Source
_config="config-$_flavor.$CARCH"
source="
https://gitlab.com/pine64-org/linux/-/archive/ppp-$_pkgver-$_tagdate/linux-ppp-$_pkgver-$_tagdate.tar.gz
config-$_flavor.aarch64
stk3311-pinctl-patch.patch
"
builddir="$srcdir/linux-ppp-$_pkgver-$_tagdate"
prepare() {
default_prepare
cp "$srcdir/config-$_flavor.$CARCH" .config
}
build() {
unset LDFLAGS
make ARCH="$_carch" CC="${CC:-gcc}" \
KBUILD_BUILD_VERSION="$((pkgrel + 1 ))"
}
package() {
mkdir -p "$pkgdir"/boot
make zinstall modules_install dtbs_install \
ARCH="$_carch" \
INSTALL_MOD_PATH="$pkgdir" \
INSTALL_MOD_STRIP=1 \
INSTALL_PATH="$pkgdir"/boot \
INSTALL_DTBS_PATH="$pkgdir"/boot/dtbs-$_flavor
rm -f "$pkgdir"/lib/modules/*/build "$pkgdir"/lib/modules/*/source
install -D "$builddir"/include/config/kernel.release \
"$pkgdir"/usr/share/kernel/$_flavor/kernel.release
}
sha512sums="
201d030a728aa0fcaf76d6c50b35571fff2750431fbc64b4a31c22b212cfa12be01f62ea3ece89467c587857755efabdc0b953cb2e4372e21b487e3c272ba894 linux-ppp-6.2-20230304-1338.tar.gz
b5092e35353083b2ff7db613f5946dbbfdc3f089a11667c958bdc833ab5ef8d3315f5428d82d934539985553a2443000dabbfb101a6e7300ae8bf8ca9dad11f1 config-pine64-pinephonepro.aarch64
b04b4081b5716802bfe6323f9b1c5fce503bef92e680e8ee49d3c1bc579bed5e79d23054db11f39620c055167a0444104423ec497bc7b60d7aaa115e2f7db775 stk3311-pinctl-patch.patch
"