dd3d5cda92
1. Set deviceinfo_flash_offset_base to 0x00000000. 2. Enable deviceinfo_bootimg_qcdt, and make dt.img for it. Directly use zImage instead of zImage-dtb for smaller boot.img size. 3. Reduce kernel size by disable xz, lzma and bz2 compressing. 4. Update kernel to the last version in LineageOS repository. Please note that it is ONLY TESTED on XT1079 "thea", aka Moto G 2014 LTE. However, "thea" and "titan" are nearly identical, sharing same kernel and defconfig on LineageOS, etc. [ci:skip-build]: already built successfully in CI
123 lines
4.2 KiB
Text
123 lines
4.2 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)
|
|
|
|
_vendor=motorola
|
|
_flavor=motorola-titan
|
|
_commit="22bc4ed7f4149f95c84634e6c1baccbbd16c5cc5"
|
|
_config="config-${_flavor}.armhf"
|
|
|
|
pkgname=linux-${_flavor}
|
|
pkgver=3.4.113
|
|
case $pkgver in
|
|
*.*.*) _kernver=${pkgver%.*};;
|
|
*.*) _kernver=$pkgver;;
|
|
esac
|
|
pkgrel=11
|
|
arch="armhf"
|
|
pkgdesc="Motorola Moto G 2014 kernel from LineageOS"
|
|
url="https://github.com/LineageOS/android_kernel_motorola_msm8226"
|
|
depends=""
|
|
makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev xz gcc6 dtbtool"
|
|
options="!strip !check !tracedeps"
|
|
install=
|
|
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
|
|
multiple-fixes-gcc-5.patch
|
|
Wno-error.patch
|
|
"
|
|
subpackages=""
|
|
license="GPL2"
|
|
|
|
_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
|
|
6c5ed99876f44746262d93f158c91377cb4b003f0abcd4226510bec10c7f571479dd3c7165602fd58ca54113cbab512899c819b0022c8d1dda94be3cba8f45ea config-motorola-titan.armhf
|
|
d80980e9474c82ba0ef1a6903b434d8bd1b092c40367ba543e72d2c119301c8b2d05265740e4104ca1ac5d15f6c4aa49e8776cb44264a9a28dc551e0d1850dcc compiler-gcc6.h
|
|
ea1d3b5a234fa565e3c1a792de48f4fc4e6023d281d303c8e319c7ef28edc5739ab0e4dea0139a41f0a5c7d03e27921ccaa214fd0ac5c72245a094ce60128864 00_fix_return_address.patch
|
|
a8c955bf718f155011e980f3d0948be98e1fee5649f418299a4851780543019daf7afa406aa7b0829375645107e4e6fbf241026b0cabe2b2ac895a47df83d2d8 02_mdss_fb_refresh_rate.patch
|
|
4c13711fdcdce3ac0c4d30b79da7a331a9f32d46ad0b9572419b82d58db6eed76f728a340848d66a6378702749c56247439abb26fc1df0d3f5cfd1ef5b53acf9 multiple-fixes-gcc-5.patch
|
|
d77966385f1aeb17fad6c3989766e874fea9d5818433d0c92c106dfd9aa3065102f018afb38678b0d741192d9efa4ede0ac4278802bf0878e3dec62dec64f50c Wno-error.patch"
|