Skip to content

Instantly share code, notes, and snippets.

@OctoNezd
Created January 2, 2018 13:28
Show Gist options
  • Save OctoNezd/c47a9360d862d15c734c93e5f1deac7f to your computer and use it in GitHub Desktop.
Save OctoNezd/c47a9360d862d15c734c93e5f1deac7f to your computer and use it in GitHub Desktop.
# Kernel config based on: arch/arm64/configs/(CHANGEME!)
pkgname="linux-leeco-s2"
pkgver=3.10.84
pkgrel=0
pkgdesc="LeEco LeEco Le 2 kernel fork"
arch="aarch64"
_carch="arm64"
_flavor="leeco-s2"
url="https://kernel.org"
license="GPL2"
options="!strip !check !tracedeps"
makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev python musl-aarch64 gcc-aarch64"
#HOSTCC="aarch64-alpine-linux-musl-gcc ${CROSS_COMPILE}"
HOSTCC="${CC:-gcc}"
HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
# Source
_repository="android_kernel_leeco_msm8976"
_commit="71d6189dbc7f8ece64c4f876f61ff2cafead7a3d"
_config="config-${_flavor}.${arch}"
source="
$pkgname-$_commit.tar.gz::https://github.com/LineageOS/${_repository}/archive/${_commit}.tar.gz
$_config
compiler-gcc6.h
01_rm-options.patch
02_metag.patch
"
builddir="$srcdir/${_repository}-${_commit}"
#prepare() {
# default_prepare
# gcc6 support
# cp -v "$srcdir/compiler-gcc6.h" "$builddir/include/linux/"
# Remove -Werror from all makefiles
# find . -type f -name Makefile -print0 | \
# xargs -0 sed -i 's/-Werror-/-W/g'
# find . -type f -name Makefile -print0 | \
# xargs -0 sed -i 's/-Werror//g'
# Prepare kernel config ('yes ""' for kernels lacking olddefconfig)
# cp "$srcdir"/$_config "$builddir"/.config
# yes "" | make ARCH="$_carch" HOSTCC="$HOSTCC" oldconfig
#}
prepare() {
local _patch_failed=
cd "$builddir"
# 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" "$builddir/include/linux/"
mkdir -p "$srcdir"/build
cp "$srcdir"/$_config "$srcdir"/build/.config
make -C "$builddir" O="$srcdir"/build ARCH="$_carch" HOSTCC="$HOSTCC" \
silentoldconfig
}
menuconfig() {
cd "$builddir"
make ARCH="$_carch" menuconfig
cp .config "$startdir"/$_config
}
build() {
unset LDFLAGS
make ARCH="$_carch" CC="${CC:-gcc}" \
KBUILD_BUILD_VERSION="$((pkgrel + 1 ))-postmarketOS"
}
package() {
# kernel.release
install -D "$builddir/include/config/kernel.release" \
"$pkgdir/usr/share/kernel/$_flavor/kernel.release"
# zImage (find the right one)
cd "$builddir/arch/$_carch/boot"
_target="$pkgdir/boot/vmlinuz-$_flavor"
for _zimg in zImage-dtb Image.gz-dtb *zImage Image; do
[ -e "$_zimg" ] || continue
msg "zImage found: $_zimg"
install -Dm644 "$_zimg" "$_target"
break
done
if ! [ -e "$_target" ]; then
error "Could not find zImage in $PWD!"
return 1
fi
}
sha512sums="37e9d935e01d9794cc638fd636d97f6231e71bc25e65382d67d5ff80189727e83ddb6d062fab6072dafc2f4b1760137317a141e641ce5bf8465bc0360256ded0 linux-leeco-s2-71d6189dbc7f8ece64c4f876f61ff2cafead7a3d.tar.gz
a8548030393f6b8c540a7131c4c44ebdb02e0137f860df549efa5a9b01c8b145e9363e218756af91ab1370bd98fc7990707813c39b5c807ff25fd90e3e32e399 config-leeco-s2.aarch64
d80980e9474c82ba0ef1a6903b434d8bd1b092c40367ba543e72d2c119301c8b2d05265740e4104ca1ac5d15f6c4aa49e8776cb44264a9a28dc551e0d1850dcc compiler-gcc6.h
7fd9e07e8603acd93dcfa64dbef1037e9451bef73cfb09ef61ff17257de3c7598105bb90ede0e443300c19bab455124f97ca173ab080c7d0fb9bc53414e4e79d 01_rm-options.patch
e9ff2cd56936c38c75eacca98600c06dffe786f64df7a1b7dcde597cf14b6256520dc9676139fe89ef292280142928e071c903280304f41a93e51660457b77e4 02_metag.patch"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment