Build OPPO R11/s Kernel and AnyKernel3 #2
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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/* |