pmaports/device/linux-motorola-titan/APKBUILD
misaka4e21 dd3d5cda92
motorola-titan: fix boot.img flashing and booting (!399)
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
2019-05-31 03:25:21 +02:00

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"