|
| 1 | +# android-kernel 🔧 |
| 2 | + |
| 3 | +> A GitHub Actions CI pipeline that builds a KernelSU-patched kernel for the **Samsung Galaxy A04s (SM-A047F)** and packages it as a flashable AnyKernel3 ZIP. |
| 4 | +
|
| 5 | + |
| 6 | + |
| 7 | + |
| 8 | + |
| 9 | + |
| 10 | +## Features |
| 11 | + |
| 12 | +- ⚙️ **Automated kernel compilation** using Clang 17 with full LLVM toolchain |
| 13 | +- 🛡️ **KernelSU integration** — patches root support directly into the kernel |
| 14 | +- 📦 **AnyKernel3 packaging** — produces a flashable ZIP ready for TWRP / OrangeFox |
| 15 | +- 🚀 **Optional GitHub Release** — automatically publishes the ZIP as a tagged release |
| 16 | +- 🔧 **Auto-patches Mali GPU Kconfig** — fixes Samsung Exynos `shell()` syntax errors at build time |
| 17 | +- 📊 **Compile log upload on failure** — artifacts are saved for debugging failed builds |
| 18 | + |
| 19 | +## Requirements |
| 20 | + |
| 21 | +- A GitHub account with Actions enabled |
| 22 | +- No local setup needed — everything runs on GitHub-hosted runners |
| 23 | + |
| 24 | +## Usage |
| 25 | + |
| 26 | +1. **Fork this repository** to your own GitHub account. |
| 27 | +2. Go to the **Actions** tab and select **Build Kernel with KernelSU (Samsung A04s)**. |
| 28 | +3. Click **Run workflow** and fill in the inputs: |
| 29 | + |
| 30 | +| Input | Default | Description | |
| 31 | +|---|---|---| |
| 32 | +| `kernel_source` | `SavedByLight/android_kernel_samsung_a04s` | Kernel source repo URL | |
| 33 | +| `kernel_branch` | `main` | Branch to build from | |
| 34 | +| `kernelsu_tag` | `main` | KernelSU release tag, or `main` for latest | |
| 35 | +| `create_release` | `false` | Set to `true` to publish a GitHub Release | |
| 36 | + |
| 37 | +4. The workflow will compile the kernel, package it, and upload the ZIP as a build artifact. |
| 38 | + |
| 39 | +## Flashing |
| 40 | + |
| 41 | +1. Download the ZIP from the **Artifacts** section of the completed Actions run (or from **Releases** if you enabled it). |
| 42 | +2. Boot your Samsung A04s into **TWRP** or **OrangeFox** recovery. |
| 43 | +3. Flash the ZIP. |
| 44 | +4. Reboot to system. |
| 45 | +5. Install the [KernelSU Manager APK](https://github.com/tiann/KernelSU/releases) and open it — status should show **Working**. |
| 46 | + |
| 47 | +## How It Works |
| 48 | + |
| 49 | +1. Clones the specified kernel source at the given branch. |
| 50 | +2. Fixes script permissions and patches the Mali GPU Kconfig for Samsung Exynos compatibility. |
| 51 | +3. Downloads and integrates KernelSU via the official setup script. |
| 52 | +4. Sets up Clang 17 from [ZyCromerZ/Clang](https://github.com/ZyCromerZ/Clang). |
| 53 | +5. Configures the kernel using the A04s defconfig with KernelSU and overlay FS enabled. |
| 54 | +6. Compiles with `make -j$(nproc)` using the full LLVM toolchain. |
| 55 | +7. Collects DTBs and packages everything with AnyKernel3. |
| 56 | +8. Optionally creates a GitHub Release with build metadata. |
| 57 | + |
| 58 | +## Supported Devices |
| 59 | + |
| 60 | +| Device | Codename | Model | |
| 61 | +|---|---|---| |
| 62 | +| Samsung Galaxy A04s | `a04s` | SM-A047F | |
| 63 | + |
| 64 | +## License |
| 65 | + |
| 66 | +MIT |
0 commit comments