Skip to content

Build OPPO R11/s Kernel and AnyKernel3 #2

Build OPPO R11/s Kernel and AnyKernel3

Build OPPO R11/s Kernel and AnyKernel3 #2

Workflow file for this run

name: Build OPPO R11/s Kernel and AnyKernel3
on:
workflow_dispatch:
jobs:
build:
name: Build OPPO R11/s Kernel by ${{ github.actor }}
runs-on: ubuntu-latest
steps:
- name: Set SWAP to 10GiB
uses: pierotofy/set-swap-space@master
with:
swap-size-gb: 10
- name: Initialize compilation environment
run: |
sudo apt-get update
sudo apt-get install git automake flex lzop bison gperf build-essential zip curl zlib1g-dev g++-multilib libxml2-utils bzip2 libbz2-dev libbz2-1.0 libghc-bzlib-dev squashfs-tools pngcrush schedtool dpkg-dev liblz4-tool make optipng maven libssl-dev pwgen libswitch-perl policycoreutils minicom libxml-sax-base-perl libxml-simple-perl bc libc6-dev-i386 lib32ncurses5-dev libx11-dev lib32z-dev libgl1-mesa-dev xsltproc unzip device-tree-compiler python2 python3
mkdir -p $GITHUB_WORKSPACE/workdir
cd $GITHUB_WORKSPACE/workdir
- name: Get gcc toolchain
run: |
git clone https://android.googlesource.com/platform/prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9 -b android-9.0.0_r61 --depth=1 $GITHUB_WORKSPACE/workdir/gcc
- name: Get Kernel souce
run: |
git clone https://github.com/WenHao2130/android_kernel_oppo_sdm660_old -b master --depth 1 $GITHUB_WORKSPACE/workdir/source
- name: Build OPPO R11 Kernel
run: |
export KBUILD_BUILD_HOST=Github-Action
export KBUILD_BUILD_USER=$(echo ${{ github.actor }} | tr A-Z a-z)
export ARCH="arm64"
export SUBARCH="arm64"
export CROSS_COMPILE="$GITHUB_WORKSPACE/workdir/gcc/bin/aarch64-linux-android-"
cd $GITHUB_WORKSPACE/workdir/source
export OPPO_TARGET_DEVICE="MSM_16051"
make O=out sdm660-perf_defconfig
make -j$(nproc --all) O=out
- name: Check a kernel output files
run: |
cd $GITHUB_WORKSPACE/workdir/source
if [ -f out/arch/arm64/boot/Image.gz-dtb ]; then
echo "CHECK_FILE_IS_OK=true" >> $GITHUB_ENV
else
echo "Kernel output file is empty"
exit 1
fi
- name: Make OPPO R11 Anykernel3
if: env.CHECK_FILE_IS_OK == 'true'
run: |
git clone https://github.com/WenHao2130/android_kernel_oppo_sdm660/ -b prebuilt_ak3 --depth 1 $GITHUB_WORKSPACE/workdir/ak3
rm -r $GITHUB_WORKSPACE/workdir/ak3/.git
cp $GITHUB_WORKSPACE/workdir/source/out/arch/arm64/boot/Image.gz-dtb $GITHUB_WORKSPACE/workdir/ak3
- name: Upload OPPO R11 Kernel
if: env.CHECK_FILE_IS_OK == 'true'
uses: actions/upload-artifact@v4
with:
name: android_kernel_oppo_sdm660_16051_Image.gz-dtb
path: workdir/source/out/arch/arm64/boot/Image.gz-dtb
- name: Upload OPPO R11 AnyKernel3
if: env.CHECK_FILE_IS_OK == 'true'
uses: actions/upload-artifact@v4
with:
name: AnyKernel3_oppo_sdm660_16051
path: workdir/ak3/*
- name: Clean up compilation environment
run: |
rm -r $GITHUB_WORKSPACE/workdir/source/out
rm $GITHUB_WORKSPACE/workdir/ak3/Image.gz-dtb
echo "CHECK_FILE_IS_OK=false" >> $GITHUB_ENV
- name: Build OPPO R11s Kernel
run: |
export KBUILD_BUILD_HOST=Github-Action
export KBUILD_BUILD_USER=$(echo ${{ github.actor }} | tr A-Z a-z)
export ARCH="arm64"
export SUBARCH="arm64"
export CROSS_COMPILE="$GITHUB_WORKSPACE/workdir/gcc/bin/aarch64-linux-android-"
cd $GITHUB_WORKSPACE/workdir/source
export OPPO_TARGET_DEVICE="MSM_17011"
make O=out sdm660-perf_defconfig
make -j$(nproc --all) O=out
- name: Check a kernel output files
run: |
cd $GITHUB_WORKSPACE/workdir/source
if [ -f out/arch/arm64/boot/Image.gz-dtb ]; then
echo "CHECK_FILE_IS_OK=true" >> $GITHUB_ENV
else
echo "Kernel output file is empty"
exit 1
fi
- name: Make OPPO R11s Anykernel3
if: env.CHECK_FILE_IS_OK == 'true'
run: |
cp $GITHUB_WORKSPACE/workdir/source/out/arch/arm64/boot/Image.gz-dtb $GITHUB_WORKSPACE/workdir/ak3
- name: Upload OPPO R11s Kernel
if: env.CHECK_FILE_IS_OK == 'true'
uses: actions/upload-artifact@v4
with:
name: android_kernel_oppo_sdm660_17011_Image.gz-dtb
path: workdir/source/out/arch/arm64/boot/Image.gz-dtb
- name: Upload OPPO R11s AnyKernel3
if: env.CHECK_FILE_IS_OK == 'true'
uses: actions/upload-artifact@v4
with:
name: AnyKernel3_oppo_sdm660_17011
path: workdir/ak3/*