diff --git a/.github/workflows/build-gki-image.yml b/.github/workflows/build-gki-image.yml index 368ce693..065022cb 100644 --- a/.github/workflows/build-gki-image.yml +++ b/.github/workflows/build-gki-image.yml @@ -30,3 +30,8 @@ jobs: secrets: inherit with: debug: ${{ github.event.inputs.debug || false }} + build-a16-kernel: + uses: ./.github/workflows/build-kernel-a16.yml + secrets: inherit + with: + debug: ${{ github.event.inputs.debug || false }} diff --git a/.github/workflows/build-kernel-a16.yml b/.github/workflows/build-kernel-a16.yml new file mode 100644 index 00000000..3f2d0bdd --- /dev/null +++ b/.github/workflows/build-kernel-a16.yml @@ -0,0 +1,105 @@ +name: Build Kernel - Android 16 +on: + # push: + # branches: ["main", "ci", "checkci"] + # paths: + # - ".github/workflows/deps/gki/build-kernel-a16.yml" + # - ".github/workflows/deps/gki/gki-kernel.yml" + # - ".github/scripts/build_a13.sh" + # - "kernel/**" + workflow_call: + inputs: + debug: + description: 'Build debug kernel' + required: false + type: boolean + default: false +jobs: + build-kernel: + if: github.event_name != 'pull_request' && github.ref != 'refs/heads/checkci' + strategy: + matrix: + include: + - version: "6.12" + sub_level: 38 + os_patch_level: 2025-08 + uses: ./.github/workflows/gki-kernel.yml + secrets: inherit + with: + version: android16-${{ matrix.version }} + version_name: android16-${{ matrix.version }}.${{ matrix.sub_level }} + tag: android16-${{ matrix.version }}-${{ matrix.os_patch_level }} + os_patch_level: ${{ matrix.os_patch_level }} + patch_path: ${{ matrix.version }} + debug: ${{ inputs.debug || false }} + + upload-artifacts: + needs: build-kernel + runs-on: ubuntu-latest + if: ${{ ( github.event_name != 'pull_request' && github.ref == 'refs/heads/main' ) || github.ref_type == 'tag' || github.ref == 'refs/heads/ci' }} + env: + CHAT_ID: ${{ secrets.CHAT_ID }} + BOT_TOKEN: ${{ secrets.BOT_TOKEN }} + MESSAGE_THREAD_ID: ${{ secrets.MESSAGE_THREAD_ID }} + COMMIT_MESSAGE: ${{ github.event.head_commit.message }} + COMMIT_URL: ${{ github.event.head_commit.url }} + RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} + steps: + - name: Download artifacts + uses: actions/download-artifact@v6 + + - uses: actions/checkout@v5 + with: + path: KernelSU + fetch-depth: 0 + + - name: List artifacts + run: | + tree + + - name: Download prebuilt toolchain + run: | + AOSP_MIRROR=https://android.googlesource.com + BRANCH=main-kernel-build-2024 + git clone $AOSP_MIRROR/platform/prebuilts/build-tools -b $BRANCH --depth 1 build-tools + git clone $AOSP_MIRROR/kernel/prebuilts/build-tools -b $BRANCH --depth 1 kernel-build-tools + git clone $AOSP_MIRROR/platform/system/tools/mkbootimg -b $BRANCH --depth 1 + pip3 install telethon + + - name: Set boot sign key + env: + BOOT_SIGN_KEY: ${{ secrets.BOOT_SIGN_KEY }} + run: | + if [ ! -z "$BOOT_SIGN_KEY" ]; then + echo "$BOOT_SIGN_KEY" > ./kernel-build-tools/linux-x86/share/avb/testkey_rsa2048.pem + fi + + - name: Bot session cache + id: bot_session_cache + uses: actions/cache@v4 + if: false + with: + path: scripts/ksubot.session + key: ${{ runner.os }}-bot-session + + - name: Build boot images + run: | + export AVBTOOL=$GITHUB_WORKSPACE/kernel-build-tools/linux-x86/bin/avbtool + export GZIP=$GITHUB_WORKSPACE/build-tools/path/linux-x86/gzip + export LZ4=$GITHUB_WORKSPACE/build-tools/path/linux-x86/lz4 + export MKBOOTIMG=$GITHUB_WORKSPACE/mkbootimg/mkbootimg.py + export UNPACK_BOOTIMG=$GITHUB_WORKSPACE/mkbootimg/unpack_bootimg.py + cd $GITHUB_WORKSPACE/KernelSU + export VERSION=$(($(git rev-list --count HEAD) + 10200)) + echo "VERSION: $VERSION" + cd - + bash $GITHUB_WORKSPACE/KernelSU/.github/scripts/build_a13.sh + + - name: Display structure of boot files + run: ls -R + + - name: Upload images artifact + uses: actions/upload-artifact@v5 + with: + name: boot-images-android16 + path: Image-android16*/*.img.gz diff --git a/.github/workflows/build-lkm.yml b/.github/workflows/build-lkm.yml index 57c13705..a07a64e0 100644 --- a/.github/workflows/build-lkm.yml +++ b/.github/workflows/build-lkm.yml @@ -1,15 +1,5 @@ name: Build LKM for KernelSU on: - push: - branches: ["main", "ci", "checkci"] - paths: - - ".github/workflows/**" - - "kernel/**" - pull_request: - branches: ["main"] - paths: - - ".github/workflows/**" - - "kernel/**" workflow_call: workflow_dispatch: jobs: diff --git a/.github/workflows/ddk-lkm.yml b/.github/workflows/ddk-lkm.yml index 73f75067..51db41ba 100644 --- a/.github/workflows/ddk-lkm.yml +++ b/.github/workflows/ddk-lkm.yml @@ -54,13 +54,13 @@ jobs: CI_KSU_VERSION: ${{ env.KSU_VERSION }} CI_KSU_VERSION_FULL: ${{ env.KSU_VERSION_FULL }} run: | - git config --global --add safe.directory /__w/KernelSU/KernelSU + git config --global --add safe.directory /__w/SukiSU-Ultra/SukiSU-Ultra cd kernel echo "=== Building kernelsu.ko for KMI: ${{ inputs.kmi }} ===" - CONFIG_KSU=m CONFIG_KSU_KPROBES_HOOKS=y make + CONFIG_KSU=m CONFIG_KPROBES=y CONFIG_KSU_KPROBES_HOOK=y CONFIG_KSU_MANUAL_SU=y make echo "=== Build completed ===" diff --git a/kernel/kernel_compat.h b/kernel/kernel_compat.h index 4f3fba0d..23848571 100644 --- a/kernel/kernel_compat.h +++ b/kernel/kernel_compat.h @@ -15,14 +15,6 @@ #define DONT_GET_SMART() barrier() #endif -/* - * Linux 6.8+ does not have LKM support, due to numerous changes on LSM. - * Let's fails if MODULE were defined. - */ -#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 8, 0) && defined(MODULE) -#error "LKM mode is not supported on Linux 6.8+, aborting build." -#endif - /* * Adapt to Huawei HISI kernel without affecting other kernels , * Huawei Hisi Kernel EBITMAP Enable or Disable Flag ,