Skip to content

Build Redmi K20 Pro (Based-AOSP A15) (Soviet-Star-OSS) #9

Build Redmi K20 Pro (Based-AOSP A15) (Soviet-Star-OSS)

Build Redmi K20 Pro (Based-AOSP A15) (Soviet-Star-OSS) #9

name: Build Redmi K20 Pro (Based-AOSP A15) (Soviet-Star-OSS)
on:
workflow_call:
workflow_dispatch:
env:
# Device env
DEVICE_NAME : "redmi_k20_pro"
DEVICE_CODENAME : "raphael"
CUSTOM_CMDS : "CLANG_TRIPLE=aarch64-linux-gnu-"
EXTRA_CMDS : "LLVM=1 LLVM_IAS=1"
KERNEL_SOURCE : "https://github.com/JackA1ltman/kernel_xiaomi_raphael_noksu.git"
KERNEL_BRANCH : "15.0"
CLANG_SOURCE : "https://raw.githubusercontent.com/Neutron-Toolchains/antman/main/antman"
CLANG_BRANCH : ""
GCC_GNU : false
GCC_64_SOURCE : ""
GCC_64_BRANCH : ""
GCC_32_SOURCE : ""
GCC_32_BRANCH : ""
DEFCONFIG_SOURCE: ""
DEFCONFIG_NAME : "raphael_defconfig"
DEFCONFIG_ORIGIN_IMAGE: ""
DEFCONFIG_FROM_BOOT: false
KERNELSU_SOURCE : "https://github.com/rsuntk/KernelSU.git"
KERNELSU_BRANCH : "susfs-main"
KERNELSU_AUTO_GET : "true"
KERNELSU_AUTO_FORK : "sukisu" # magic, rsuntk , next and sukisu
SUSFS_ENABLE : true
SUSFS_FIXED : true
SUSFS_UPDATE : true
AK3_SOURCE : "https://github.com/SOVIET-ANDROID/AnyKernel3.git"
AK3_BRANCH : "master"
BOOT_SOURCE : ""
NEED_DTBO : false
NEED_SAFE_DTBO : false
ROM_TEXT : "based_aosp_a15"
# Other env
PYTHON_VERSION: "3" # Only 2(Ubuntu 22.04 and Ubuntu 20.04) or 3(Any OS Versions).
PACK_METHOD: "Anykernel3" # Anykernel3 need SOURCE and BRANCH, MKBOOTIMG needn't it.
KERNELSU_METHOD: "shell" # shell, manual and only.
PATCHES_SOURCE: "JackA1ltman/NonGKI_Kernel_Patches" # [your_name]/[your_patch] -> gooder123/NonGKI_Patcher
PATCHES_BRANCH: "mi_kernel" # [your_branch] -> main
SUSFS_FOLDER_FIXED: "k20p_aosp_sovietstar_a15" # Fill in your patch prefix directory here. Leave it blank if there isn't one. -> your_folder
SUSFS_155_FIXED: "susfs_fixed" # Fill in your patches here. If there are multiple patches, please separate them with a comma. Leave it blank if there isn't one. -> patch1,patch2 (Only v1.5.5 SuSFS)
SUSFS_LATEST_FIXED: "" # Fill in your patches here. If there are multiple patches, please separate them with a comma. Leave it blank if there isn't one. -> patch1,patch2
REKERNEL_ENABLE: "false" # if u need Re:Kernel.
HOOK_METHOD: "syscall" # Manual hook method -> syscall and tracepoint.
HOOK_OLDER: "false" # contain backport older patch and syscall older patch.
KPM_ENABLE: "false" # Only use it for SukiSU-Ultra.
KPM_PATCH_SOURCE: "https://raw.githubusercontent.com/SukiSU-Ultra/SukiSU_patch/refs/heads/main/kpm/patch_linux" # patch exec file source -> raw.githubusercontent.com/Test/Test/patch .
BASEBAND_GUARD_ENABLE: "false" #if u want prevent unauthorized writes to critical partitions/device nodes.
BASEBAND_GUARD_BOOT: "false" #if u want to protect boot partition.
GENERATE_DTB: "false" # if u kernel need DTB , but cannot auto generate it. (Only Anykernel3).
GENERATE_CHIP: "qcom" # only supported for qcom and mediatek.
BUILD_DEBUGGER: "false" # Output build errors.
SKIP_PATCH: "false" # Ignore errors found in Patch Debugger.
BUILD_OTHER_CONFIG: "false" # Merge config files.
MERGE_CONFIG_FILES: "vendor/debugfs.config,vendor/lahaina_QGKI.config"
FREE_MORE_SPACE: "false" # if u want get more space, enabled it.
jobs:
build-kernel:
name: Redmi K20 Pro (Based-AOSP A15) (Soviet-Star-OSS)
runs-on: ubuntu-latest # u can changed to ubuntu 22.04, and need container set ubuntu-latest
# container: archlinux/archlinux:latest # if u need use arch linux -> archlinux/archlinux:latest or ubuntu 20.04 -> ubuntu:focal
env:
CCACHE_COMPILERCHECK: "%compiler% -dumpmachine; %compiler% -dumpversion"
CCACHE_NOHASHDIR: "true"
CCACHE_HARDLINK: "true"
steps:
- name: ⏰ Checkout repository
uses: actions/checkout@v4
- name: ⌛️ Compilation environment preparation
uses: ./.github/workflows/build-env
- name: ⚙️ Get neccssary tools
uses: ./.github/workflows/build-ready
- name: 🪝 Patch Kernel of SUSFS
uses: ./.github/workflows/patch-susfs
- name: 🔗 Patch for no-kprobe
uses: ./.github/workflows/patch-no-kprobe
- name: 🪛 Extra Kernel Options
run: |
# Only ${{ env.DEVICE_NAME }} use it.
cd $GITHUB_WORKSPACE/device_kernel
# Nothing
- name: 🧰 Patch Kernel of Re:Kernel
uses: ./.github/workflows/patch-rekernel
- name: 🔒 Patch Kernel of Baseband Guard
uses: ./.github/workflows/patch-baseband-guard
- name: 🚀 Build Process
uses: ./.github/workflows/build-process
- name: 🔩 Pack Process
uses: ./.github/workflows/pack-process
- name: ✏️ Upload Artifacts
uses: ./.github/workflows/upload-files