Zuma Pro #7
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 A15 Zuma Pro Kernel | |
on: | |
workflow_dispatch: | |
workflow_call: # This allows this workflow to be called from another workflow | |
jobs: | |
build-kernel-a15-zumapro-kernelsu-susfs: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Maximize build space | |
uses: easimon/maximize-build-space@master | |
with: | |
root-reserve-mb: 8192 | |
temp-reserve-mb: 2048 | |
swap-size-mb: 8192 | |
remove-dotnet: 'true' | |
remove-android: 'true' | |
remove-haskell: 'true' | |
remove-codeql: 'true' | |
- name: Installing dependencies | |
run: | | |
sudo apt install -y gcc-aarch64-linux-gnu | |
- name: Set CONFIG Environment Variable | |
run: | | |
CONFIG="android_kernel_google_zumapro" | |
# Set CONFIG as an environment variable for future steps | |
echo "CONFIG=$CONFIG" >> $GITHUB_ENV | |
echo "CONFIG set to: $CONFIG" | |
- name: Clone AnyKernel3 and Other Dependencies | |
run: | | |
echo "Cloning AnyKernel3 and other dependencies..." | |
# Define the branch names using the matrix values | |
ANYKERNEL_BRANCH="15.0.0-sultan-zumapro" | |
SUSFS_BRANCH="gki-android14-6.1" | |
# Debug print the branches | |
echo "Using branch for AnyKernel3: $ANYKERNEL_BRANCH" | |
echo "Using branch for SUSFS: $SUSFS_BRANCH" | |
# Clone repositories using the branch names | |
git clone https://github.com/TheWildJames/AnyKernel3.git -b "$ANYKERNEL_BRANCH" | |
git clone https://gitlab.com/simonpunk/susfs4ksu.git -b "$SUSFS_BRANCH" | |
git clone https://github.com/TheWildJames/kernel_patches.git | |
git clone https://github.com/kerneltoast/android_kernel_google_zumapro | |
- name: Add KernelSU | |
run: | | |
echo "Changing to configuration directory: $CONFIG..." | |
cd "$CONFIG" | |
echo "Adding KernelSU..." | |
curl -LSs "https://raw.githubusercontent.com/rifsxd/KernelSU-Next/next/kernel/setup.sh" | bash - | |
- name: Apply SUSFS Patches | |
run: | | |
echo "Changing to configuration directory: $CONFIG..." | |
cd "$CONFIG" | |
echo "Applying SUSFS patches..." | |
# Copy SUSFS patches | |
cp ../susfs4ksu/kernel_patches/50_add_susfs_in_gki-android14-6.1.patch ./ | |
cp ../susfs4ksu/kernel_patches/fs/* ./fs/ | |
cp ../susfs4ksu/kernel_patches/include/linux/* ./include/linux/ | |
cd ./KernelSU-Next | |
echo "Applying next SUSFS patches..." | |
cp ../../kernel_patches/0001-kernel-patch-susfs-v1.5.5-to-KernelSU-Next-v1.0.5.patch ./ | |
patch -p1 --forward < 0001-kernel-patch-susfs-v1.5.5-to-KernelSU-Next-v1.0.5.patch || true | |
# Change to common directory and apply SUSFS patch | |
cd .. | |
patch -p1 < 50_add_susfs_in_gki-android14-6.1.patch || true | |
- name: Apply KSU Hooks | |
run: | | |
echo "Changing to configuration directory: $CONFIG..." | |
cd "$CONFIG" | |
# Apply additional patch | |
cp ../kernel_patches/new_hooks.patch ./ | |
patch -p1 --fuzz=3 < ./new_hooks.patch | |
- name: Apply Hide Stuff Patches | |
run: | | |
echo "Changing to configuration directory: $CONFIG..." | |
cd "$CONFIG" | |
# Apply additional patch | |
cp ../kernel_patches/69_hide_stuff.patch ./ | |
patch -p1 -F 3 < 69_hide_stuff.patch | |
- name: Apply KernelSU & SUSFS SUltan Fixes | |
run: | | |
echo "Changing to configuration directory: $CONFIG..." | |
cd "$CONFIG" | |
# Apply additional patch | |
cp ../kernel_patches/sys.c_fix.patch ./ | |
patch -p1 --fuzz=3 < ./sys.c_fix.patch | |
sed -i "s/poofed_size: '%u'/poofed_size: '%llu'/g" ./fs/susfs.c | |
sed -i "s/length of string: %u/length of string: %lu/g" ./fs/susfs.c | |
- name: Add SUSFS Configuration Settings | |
run: | | |
echo "Changing to configuration directory: $CONFIG..." | |
cd "$CONFIG" | |
echo "Adding configuration settings to zumapro_defconfig..." | |
# Add SUSFS configuration settings | |
echo "CONFIG_KSU=y" >> ./arch/arm64/configs/zuma_defconfig | |
echo "CONFIG_KSU_SUSFS=y" >> ./arch/arm64/configs/zumapro_defconfig | |
echo "CONFIG_KSU_SUSFS_HAS_MAGIC_MOUNT=y" >> ./arch/arm64/configs/zumapro_defconfig | |
echo "CONFIG_KSU_SUSFS_SUS_PATH=y" >> ./arch/arm64/configs/zumapro_defconfig | |
echo "CONFIG_KSU_SUSFS_SUS_MOUNT=y" >> ./arch/arm64/configs/zumapro_defconfig | |
echo "CONFIG_KSU_SUSFS_AUTO_ADD_SUS_KSU_DEFAULT_MOUNT=y" >> ./arch/arm64/configs/zumapro_defconfig | |
echo "CONFIG_KSU_SUSFS_AUTO_ADD_SUS_BIND_MOUNT=y" >> ./arch/arm64/configs/zumapro_defconfig | |
echo "CONFIG_KSU_SUSFS_SUS_KSTAT=y" >> ./arch/arm64/configs/zumapro_defconfig | |
echo "CONFIG_KSU_SUSFS_SUS_OVERLAYFS=y" >> ./arch/arm64/configs/zumapro_defconfig | |
echo "CONFIG_KSU_SUSFS_TRY_UMOUNT=y" >> ./arch/arm64/configs/zumapro_defconfig | |
echo "CONFIG_KSU_SUSFS_AUTO_ADD_TRY_UMOUNT_FOR_BIND_MOUNT=y" >> ./arch/arm64/configs/zumapro_defconfig | |
echo "CONFIG_KSU_SUSFS_SPOOF_UNAME=y" >> ./arch/arm64/configs/zumapro_defconfig | |
echo "CONFIG_KSU_SUSFS_ENABLE_LOG=y" >> ./arch/arm64/configs/zumapro_defconfig | |
echo "CONFIG_KSU_SUSFS_HIDE_KSU_SUSFS_SYMBOLS=y" >> ./arch/arm64/configs/zumapro_defconfig | |
echo "CONFIG_KSU_SUSFS_SPOOF_CMDLINE_OR_BOOTCONFIG=y" >> ./arch/arm64/configs/zumapro_defconfig | |
echo "CONFIG_KSU_SUSFS_OPEN_REDIRECT=y" >> ./arch/arm64/configs/zumapro_defconfig | |
echo "CONFIG_KSU_SUSFS_SUS_SU=n" >> ./arch/arm64/configs/zumapro_defconfig | |
# Add additional tmpfs config setting | |
echo "CONFIG_TMPFS_XATTR=y" >> ./arch/arm64/configs/zumapro_defconfig | |
echo "CONFIG_TMPFS_POSIX_ACL=y" >> ./arch/arm64/configs/zumapro_defconfig | |
- name: Run sed and perl Commands | |
run: | | |
echo "Changing to configuration directory: $CONFIG..." | |
cd "$CONFIG" | |
echo "Running sed commands..." | |
sed -i 's/CONFIG_LOCALVERSION="-Sultan"/CONFIG_LOCALVERSION="-Sultan-Wild+"/' ./arch/arm64/configs/zumapro_defconfig | |
- name: Build the Kernel | |
run: | | |
echo "Changing to configuration directory: $CONFIG..." | |
cd "$CONFIG" | |
echo "ARCH=arm64" >> $GITHUB_ENV | |
echo "Building the kernel..." | |
make zumapro_defconfig -j$(nproc --all) | |
make -j$(nproc --all) | |
- name: Copy Images | |
run: | | |
echo "Changing to configuration directory: $CONFIG..." | |
cd "$CONFIG" | |
echo "Copying Image.lz4 and concatenating DTB files..." | |
cp ./out/arch/arm64/boot/Image.lz4 ../AnyKernel3/Image.lz4 | |
cat ./out/google-modules/soc/gs/arch/arm64/boot/dts/google/*.dtb > ../AnyKernel3/dtb | |
- name: Create ZIP Files for Different Formats | |
run: | | |
echo "Navigating to AnyKernel3 directory..." | |
cd ./AnyKernel3 | |
# Zip the files in the AnyKernel3 directory with a new naming convention | |
ZIP_NAME="A15_Sultan_KernelSU_SUSFS_ZumaPro.zip" | |
echo "Creating zip file $ZIP_NAME..." | |
zip -r "../$ZIP_NAME" ./* | |
- name: Upload Build Artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: kernel-zumapro | |
path: | | |
*.zip |