Skip to content
activity

GitHub Action

Android Kernel Build Action

v1.6.0 Latest version

Android Kernel Build Action

activity

Android Kernel Build Action

A action to built android kernel

Installation

Copy and paste the following snippet into your .yml file.

              

- name: Android Kernel Build Action

uses: dabao1955/[email protected]

Learn more about this action in dabao1955/kernel_build_action

Choose a version

Android Kernel Build Action

Powered By GitHub Actions

A Workflow to build Android Kernel automatically

Note

This workflow is universal. You need to have a certain foundation in writing github workflows and a little knowledge of the Android kernel to use this.

Warning

Strongly recommends using the stable version (such as v1.2) instead of the development version (main), which may have some technical problems.

How to use?

  • First, you need to determine the kernel source code and configuration files.
  • Find your kernel source repository and configure the workflow file according to the following example and README.md:
name: CI

on:
  workflow_dispatch:

jobs:
  build-kernel:
    name: Build Kernel
    runs-on: ubuntu-20.04
    steps:
      - name: Build
        uses: dabao1955/kernel_build_action@main
        with:
          kernel-url: https://github.com/AcmeUI-Devices/android_kernel_xiaomi_cas
          branch: taffy
          config: cas_defconfig
          arch: arm64
          aosp-gcc: true
          aosp-clang: true
          python-2.7: true
          android-version: 12
          aosp-clang-version: r383902

Or use the preset workflow file to modify it.

Note

You do not need to fork this repository.

If you just want to compile the kernel, please do not submit PR after modification!

  • Finally, run the workflow you just wrote.

Inputs

input required description example value
kernel-url true URL of Android kernel source code for your phone https://github.com/username/project
kernel-dir false The directory name of the Android kernel source code. This option may be used for OPLUS Kernel source code. kernel
depth false 1
vendor false Enable additional source code for the Android kernel source code. This option may be used for OPLUS source code. false
vendor-url false https://github.com/username/project
vendor-dir false vendor
branch true The branch of the source code that needs to be cloned, defaults branch to git clone is main main
config true Compile the selected configuration file for the Android kernel defconfig
arch true The architecture of your mobile phone SOC is arm64 by default arm64
android-version true The Android version required when downloading aosp-clang. If you want to use the latest aosp-clang or you do not use aosp-clang to compile the kernel, please ignore this option 12
apatch false Enable APatch true
ksu false Enable KernelSU true
ksu-version false KernelSU version v0.6.6
disable-lto false false
lxc false Enable LXC and docker to config false
lxc-patch false Add patch avoid not booting after enable lxc false
nethunter false Enable Kali nethunter false
nethunter-patch false false
kvm false false
ccache false Enable ccache(Only valid when compiled with clang) false
aosp-gcc true Use aosp-gcc to compile the kernel or assist in compiling the kernel (when aosp-clang is enabled) false
aosp-clang false Compile the kernel using aosp-clang false
aosp-clang-version false please search for them according to your own needs at official website and choose the appropriate clang according to the Android system version instead of blindly choosing r383902 r383902
other-clang-url false Please fill in the download link of other clang in this option. Supports .zip, .tar and .git formats https://github.com/kdrag0n/proton-clang
other-clang-branch false 10.0
android-ndk false Use Android-NDK to compile kernel . Before enable this option,you should disable aosp-gcc and aosp-clang bacause android-ndk will conflict with them false
android-ndk-version false r23b
python-27 false Use python2.7 instead of python3, this is helpful for some kernel compilations false
anykernel3 false Package the compiled kernel using AnyKernel3. If this option is disabled, You need to fill bootimg-url. false
anykernel3-url false 3rdparty AnyKernel3 url https://github.com/username/AnyKernel3
release flase After the kernel compilation is completed, it will be automatically published to the releases page true
access-token false Please fill it if you want to release kernel ghp_xxxxxx
bootimg-url false A URL that can download the local boot.img https://127.0.0.1/boot.img
extra-cmd false Compile the kernel with extra options, such as LD=ld.lld AS=llvm-as

Todo

  • Improve testing process

  • Modify unreasonable options

  • Support use 3rd party gcc to compile

FAQ

How to use 3rd clang?

You should disable aosp-clang and android-ndk options to use it.

Credits