38dbafb98e
The problem behind swapped red and blue is inverted byte order in framebuffer driver pixel format. This patch sets the correct byte order in the framebuffer driver. The previous workaround patch is removed because it fixes improperly the red-screen issue, causing the swapped red and blue problem that this commit solves [ci:skip-build]: already built successfully in CI
129 lines
4.1 KiB
Text
129 lines
4.1 KiB
Text
# APKBUILD based on linux-vanilla aport. Changes:
|
|
# - add !check !tracedeps
|
|
# - do not create -dev subpackage
|
|
# - add 'xz' and 'dtbtool' as build dependencies
|
|
# - add `dtbTool` build hook to generate separate 'dt.img'
|
|
#
|
|
# Kernel config based on: arch/arm/configs/lineageos_bacon_defconfig
|
|
# Changes:
|
|
# - enable loadable module support
|
|
# - enable devtmpfs (needed for udev -> touch support in weston)
|
|
# - enable virtual terminal
|
|
# - disable ANDROID_PARANOID_NETWORK (removes network restrictions)
|
|
|
|
_vendor=oneplus
|
|
_flavor=oneplus-bacon
|
|
_version="dd65620ba04a8c6ba0e30553c9c95388daefae02"
|
|
_config="config-${_flavor}.armhf"
|
|
|
|
pkgname=linux-${_flavor}
|
|
pkgver=3.4.113
|
|
case $pkgver in
|
|
*.*.*) _kernver=${pkgver%.*};;
|
|
*.*) _kernver=$pkgver;;
|
|
esac
|
|
pkgrel=12
|
|
arch="armhf"
|
|
pkgdesc="LineageOS 14.1 kernel for OnePlus One (bacon)"
|
|
url="https://github.com/LineageOS/android_kernel_oneplus_msm8974"
|
|
depends=""
|
|
makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev python2 xz dtbtool gcc6"
|
|
options="!strip !check !tracedeps"
|
|
install=
|
|
source="
|
|
$pkgname-$_version.tar.gz::https://github.com/LineageOS/android_kernel_oneplus_msm8974/archive/${_version}.tar.gz
|
|
${_config}
|
|
compiler-gcc6.h
|
|
02_gpu-msm-fix-gcc5-compile.patch
|
|
0001-fix-video-argb-setting.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_oneplus_msm8974-${_version}"
|
|
|
|
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
|
|
|
|
echo "--[ silentoldconfig ]--"
|
|
yes "" | make -C "$ksrcdir" O="$srcdir"/build ARCH="$_carch" HOSTCC="$HOSTCC" \
|
|
oldconfig
|
|
}
|
|
|
|
build() {
|
|
cd "$srcdir"/build
|
|
unset LDFLAGS
|
|
|
|
make ARCH="$_carch" CC="${CC:-gcc}" \
|
|
KBUILD_BUILD_VERSION="$((pkgrel + 1))-Alpine" CONFIG_NO_ERROR_ON_MISMATCH=y
|
|
|
|
echo "--[ Build modules ]--"
|
|
make ARCH="$_carch" CC="${CC:-gcc}" \
|
|
KBUILD_BUILD_VERSION="$((pkgrel + 1))-Alpine" CONFIG_NO_ERROR_ON_MISMATCH=y \
|
|
modules
|
|
|
|
dtbTool -s 2048 -p "scripts/dtc/" -o "arch/arm/boot/dt.img" "arch/arm/boot/"
|
|
}
|
|
|
|
package() {
|
|
install -Dm644 "$srcdir"/build/arch/arm/boot/dt.img \
|
|
"$pkgdir"/boot/dt.img
|
|
|
|
install -Dm644 "$srcdir"/build/arch/arm/boot/zImage-dtb \
|
|
"$pkgdir"/boot/vmlinuz-$_flavor
|
|
|
|
install -D "$srcdir"/build/include/config/kernel.release \
|
|
"$pkgdir"/usr/share/kernel/$_flavor/kernel.release
|
|
|
|
cd "$srcdir"/build
|
|
unset LDFLAGS
|
|
|
|
echo "--[ Installing modules ]--"
|
|
make ARCH="$_carch" CC="${CC:-gcc}" \
|
|
KBUILD_BUILD_VERSION="$((pkgrel + 1))-Alpine" CONFIG_NO_ERROR_ON_MISMATCH=y \
|
|
INSTALL_MOD_PATH="$pkgdir" INSTALL_MOD_STRIP=1 modules_install
|
|
}
|
|
|
|
sha512sums="94d0048439e70b11637a7a122e8652d4e997ee413d6e54ea0aed7f2c68e137fcc19b6784dcc0dedf0b80240ba16060634b517d5865ec6c7222e4dea44d3c059a linux-oneplus-bacon-dd65620ba04a8c6ba0e30553c9c95388daefae02.tar.gz
|
|
5af9714a0cb47d5e1f72d4b691de7f52bcc1cb7907bd2f939409c626a7b2950e2dfe1c1b31adaf0b6ae3a7078554a7b52f0e73b600641507a5962168bee3641f config-oneplus-bacon.armhf
|
|
d80980e9474c82ba0ef1a6903b434d8bd1b092c40367ba543e72d2c119301c8b2d05265740e4104ca1ac5d15f6c4aa49e8776cb44264a9a28dc551e0d1850dcc compiler-gcc6.h
|
|
7be03a9e78b7ac330a54b1f00509caa0621a95c0c55901878ad757f9dd69cc05ba2c8b5ea987063ae1224f92c4d090d515fa5d369e7755181a4871b0d0f82881 02_gpu-msm-fix-gcc5-compile.patch
|
|
a48336bbfead6ad0c84d2fce0c40a3f5530aebdff356a6835cceaf59a50a6f860d2f8027703a92927955fbb18857ba78788e010d017bf67730f069b36e96fe87 0001-fix-video-argb-setting.patch"
|