0cfcc52e0d
Enable CONFIG_CRYPTO_XTS for each kernel, so we can switch to using aes-xts-plain64 as default cipher for cryptsetup (override with "pmbootstrap --cipher"), instead of aes-cbc-plain64 (pmbootstrap#1940). I have executed "pmbootstrap kconfig edit" on each kernel, and manually toggled the option. The diff is not always clean, because for some kernels it is apparently the first time, that menuconfig was executed on the configs like that. In a few instances, it turned out that CONFIG_ANDROID_PARANOID_NETWORK needed to be disabled too (this is already a requirement, but as the config was incomplete, it was not visible that this option was enabled). Very few times, I had to enable CONFIG_EXPERIMENTAL in order to see and enable CONFIG_CRYPTO_XTS. It would be great if we could automate such mass kconfig edits in the future, see pmbootstrap#1942. [skip ci]: I have verified, that every single one of these kernels builds. CI will likely run out of time while downloading source tarballs.
121 lines
4.4 KiB
Text
121 lines
4.4 KiB
Text
# APKBUILD based on linux-vanilla aport. Changes:
|
|
# - disabled module installation
|
|
# - added !check !tracedeps
|
|
# - package: just install zImage-dtb and kernel.release
|
|
# - do not create -dev subpackage (makes no sense without module support)
|
|
#
|
|
# Kernel config changes, based on: arch/arm/configs/titan_defconfig
|
|
# Changes:
|
|
# - apply patches to compile with gcc6
|
|
# - disable -Werror-implicit-function-declaration and -Wno-error,
|
|
# otherwise the kernel would not compile
|
|
# - enable devtmpfs (needed for udev -> touch support in weston)
|
|
# - disable xz compression
|
|
# - mdss: hardcode refresh rate in the video driver
|
|
# - disable ANDROID_PARANOID_NETWORK (removes network restrictions)
|
|
|
|
_flavor=motorola-titan
|
|
_commit="22bc4ed7f4149f95c84634e6c1baccbbd16c5cc5"
|
|
_config="config-$_flavor.armv7"
|
|
|
|
pkgname=linux-$_flavor
|
|
pkgver=3.4.113
|
|
case $pkgver in
|
|
*.*.*) _kernver=${pkgver%.*};;
|
|
*.*) _kernver=$pkgver;;
|
|
esac
|
|
pkgrel=13
|
|
arch="armv7"
|
|
pkgdesc="Motorola Moto G 2014 kernel from LineageOS"
|
|
url="https://github.com/LineageOS/android_kernel_motorola_msm8226"
|
|
makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev xz gcc6 dtbtool"
|
|
options="!strip !check !tracedeps pmb:cross-native"
|
|
source="
|
|
$pkgname-$_commit.tar.gz::https://github.com/LineageOS/android_kernel_motorola_msm8226/archive/$_commit.tar.gz
|
|
$_config
|
|
compiler-gcc6.h
|
|
00_fix_return_address.patch
|
|
02_mdss_fb_refresh_rate.patch
|
|
06_fix_mdss_fb_rgba_mode.patch
|
|
multiple-fixes-gcc-5.patch
|
|
Wno-error.patch
|
|
"
|
|
license="GPL-2.0-only"
|
|
|
|
_abi_release=$pkgver
|
|
_carch="arm"
|
|
|
|
# Compiler: this kernel was only tested with GCC6. Feel free to make a merge
|
|
# request if you find out that it is booting working with newer GCCs as
|
|
# well. See <https://postmarketos.org/vendorkernel> for instructions.
|
|
if [ "${CC:0:5}" != "gcc6-" ]; then
|
|
CC="gcc6-$CC"
|
|
HOSTCC="gcc6-gcc"
|
|
CROSS_COMPILE="gcc6-$CROSS_COMPILE"
|
|
fi
|
|
|
|
_ksrcdir="$srcdir/android_kernel_motorola_msm8226-$_commit"
|
|
|
|
prepare() {
|
|
local _patch_failed=
|
|
cd "$_ksrcdir"
|
|
|
|
# first apply patches in specified order
|
|
for i in $source; do
|
|
case $i in
|
|
*.patch)
|
|
msg "Applying $i..."
|
|
if ! patch -s -p1 -N -i "$srcdir"/$i; then
|
|
echo $i >>failed
|
|
_patch_failed=1
|
|
fi
|
|
;;
|
|
esac
|
|
done
|
|
|
|
if ! [ -z "$_patch_failed" ]; then
|
|
error "The following patches failed:"
|
|
cat failed
|
|
return 1
|
|
fi
|
|
|
|
# gcc6 support
|
|
cp -v "$srcdir/compiler-gcc6.h" "$_ksrcdir/include/linux/"
|
|
|
|
mkdir -p "$srcdir"/build
|
|
cp "$srcdir"/$_config "$srcdir"/build/.config
|
|
make -C "$_ksrcdir" O="$srcdir"/build ARCH="$_carch" HOSTCC="$HOSTCC" \
|
|
silentoldconfig
|
|
}
|
|
|
|
build() {
|
|
cd "$srcdir"/build
|
|
unset LDFLAGS
|
|
|
|
make ARCH="$_carch" CC="${CC:-gcc}" \
|
|
KBUILD_BUILD_VERSION="$((pkgrel + 1 ))-postmarketOS"
|
|
|
|
# Generate master DTB (deviceinfo_bootimg_qcdt)
|
|
dtbTool -s 2048 -p "scripts/dtc/" -o "arch/arm/boot/dt.img" "arch/arm/boot/"
|
|
}
|
|
|
|
package() {
|
|
install -Dm644 "$srcdir/build/arch/arm/boot/zImage" \
|
|
"$pkgdir/boot/vmlinuz-$_flavor"
|
|
|
|
install -D "$srcdir/build/include/config/kernel.release" \
|
|
"$pkgdir/usr/share/kernel/$_flavor/kernel.release"
|
|
|
|
# Master DTB (deviceinfo_bootimg_qcdt)
|
|
install -Dm644 "$srcdir/build/arch/arm/boot/dt.img" \
|
|
"$pkgdir/boot/dt.img"
|
|
}
|
|
|
|
sha512sums="5e55db19f198fadf0f914c2726c034eeaf9a1f4ad5823a7e8a4e9be2664eb0279c91fb2f1c6a9292be2ac523e367551475ff40569676775a03a709ae50a3d0ec linux-motorola-titan-22bc4ed7f4149f95c84634e6c1baccbbd16c5cc5.tar.gz
|
|
778403323f469e4653e9c7694a6acbec969ad1c736d15ffd1ec5ebda8f87655637a79d350c2e4b32883a5f6e9cb2a9f2cdc4490e0cf7ec534ebcbd8eea122763 config-motorola-titan.armv7
|
|
d80980e9474c82ba0ef1a6903b434d8bd1b092c40367ba543e72d2c119301c8b2d05265740e4104ca1ac5d15f6c4aa49e8776cb44264a9a28dc551e0d1850dcc compiler-gcc6.h
|
|
ea1d3b5a234fa565e3c1a792de48f4fc4e6023d281d303c8e319c7ef28edc5739ab0e4dea0139a41f0a5c7d03e27921ccaa214fd0ac5c72245a094ce60128864 00_fix_return_address.patch
|
|
a8c955bf718f155011e980f3d0948be98e1fee5649f418299a4851780543019daf7afa406aa7b0829375645107e4e6fbf241026b0cabe2b2ac895a47df83d2d8 02_mdss_fb_refresh_rate.patch
|
|
5f0c30fc48fd0c8f9ca4e3d929dd15e982565e91b2e9e6b81df88c78c7fb646d3e99dfd6c9e02873caa1ca1e9cd6a7c03b97640fb80781cc78f5725122b65507 06_fix_mdss_fb_rgba_mode.patch
|
|
4c13711fdcdce3ac0c4d30b79da7a331a9f32d46ad0b9572419b82d58db6eed76f728a340848d66a6378702749c56247439abb26fc1df0d3f5cfd1ef5b53acf9 multiple-fixes-gcc-5.patch
|
|
d77966385f1aeb17fad6c3989766e874fea9d5818433d0c92c106dfd9aa3065102f018afb38678b0d741192d9efa4ede0ac4278802bf0878e3dec62dec64f50c Wno-error.patch"
|