From 70a8794285c36c2bfb583cd225f784f04e3c03c7 Mon Sep 17 00:00:00 2001 From: dichgrem Date: Thu, 9 Oct 2025 16:06:44 +0800 Subject: [PATCH] fix:susfs_steps --- .github/workflows/build-gki-kernel.yml | 31 +++++++++++++++++++++++++- patches/fix1.patch | 8 +++++++ patches/fix2.patch | 8 +++++++ 3 files changed, 46 insertions(+), 1 deletion(-) create mode 100644 patches/fix1.patch create mode 100644 patches/fix2.patch diff --git a/.github/workflows/build-gki-kernel.yml b/.github/workflows/build-gki-kernel.yml index 580aba2..1ea7ae9 100644 --- a/.github/workflows/build-gki-kernel.yml +++ b/.github/workflows/build-gki-kernel.yml @@ -174,7 +174,7 @@ jobs: ;; sukisu) echo "✅ 集成 SukiSU-Ultra" - curl -LSs https://raw.githubusercontent.com/SukiSU-Ultra/SukiSU-Ultra/main/kernel/setup.sh | bash -s main + curl -LSs https://raw.githubusercontent.com/SukiSU-Ultra/SukiSU-Ultra/main/kernel/setup.sh | bash -s susfs-main echo "ROOT_SUFFIX=_SukiSU" >> $GITHUB_ENV ;; none) @@ -299,6 +299,35 @@ jobs: cd ../ patch -p1 --fuzz=3 --ignore-whitespace < 50_add_susfs_in_gki-android14-6.1.patch || true + if [ "${{ github.event.inputs.root_solution }}" = "sukisu" ]; then + echo "đŸ“Ļ Applying Fix patches for SukiSU" + patch -p1 < "$GITHUB_WORKSPACE/patches/fix1.patch" + patch -p1 < "$GITHUB_WORKSPACE/patches/fix2.patch" + fi + + mkdir -p kernel/configs + printf '%s\n' \ + '# Fragment config for enabling SUSFS' \ + 'CONFIG_KSU_SUSFS=y' \ + 'CONFIG_KSU_SUSFS_HAS_MAGIC_MOUNT=y' \ + 'CONFIG_KSU_SUSFS_SUS_PATH=y' \ + 'CONFIG_KSU_SUSFS_SUS_MOUNT=y' \ + 'CONFIG_KSU_SUSFS_AUTO_ADD_SUS_KSU_DEFAULT_MOUNT=y' \ + 'CONFIG_KSU_SUSFS_AUTO_ADD_SUS_BIND_MOUNT=y' \ + 'CONFIG_KSU_SUSFS_SUS_KSTAT=y' \ + 'CONFIG_KSU_SUSFS_SUS_OVERLAYFS=n' \ + 'CONFIG_KSU_SUSFS_TRY_UMOUNT=y' \ + 'CONFIG_KSU_SUSFS_AUTO_ADD_TRY_UMOUNT_FOR_BIND_MOUNT=y' \ + 'CONFIG_KSU_SUSFS_SPOOF_UNAME=y' \ + 'CONFIG_KSU_SUSFS_ENABLE_LOG=y' \ + 'CONFIG_KSU_SUSFS_HIDE_KSU_SUSFS_SYMBOLS=y' \ + 'CONFIG_KSU_SUSFS_SPOOF_CMDLINE_OR_BOOTCONFIG=y' \ + 'CONFIG_KSU_SUSFS_OPEN_REDIRECT=y' > kernel/configs/susfs.config + + export ARCH=arm64 + export KCONFIG_CONFIG=arch/arm64/configs/config_defconfig.new + scripts/kconfig/merge_config.sh -m arch/arm64/configs/config_defconfig kernel/configs/susfs.config + mv arch/arm64/configs/config_defconfig.new arch/arm64/configs/config_defconfig echo "✅ SUSFS patch step finished" else echo "â„šī¸ SUSFS patches skipped" diff --git a/patches/fix1.patch b/patches/fix1.patch new file mode 100644 index 0000000..64ce9e9 --- /dev/null +++ b/patches/fix1.patch @@ -0,0 +1,8 @@ +--- a/drivers/kernelsu/ksud.c ++++ b/drivers/kernelsu/ksud.c +@@ -71,7 +71,6 @@ + #ifdef CONFIG_KSU_SUSFS_SUS_SU +-bool susfs_is_sus_su_ready = false; + #endif // #ifdef CONFIG_KSU_SUSFS_SUS_SU + + u32 ksu_devpts_sid; diff --git a/patches/fix2.patch b/patches/fix2.patch new file mode 100644 index 0000000..93b5392 --- /dev/null +++ b/patches/fix2.patch @@ -0,0 +1,8 @@ +--- a/drivers/kernelsu/kernel_compat.c ++++ b/drivers/kernelsu/kernel_compat.c +@@ -83,6 +83,7 @@ + ++ #undef ksu_access_ok + int ksu_access_ok(const void *addr, unsigned long size) { + #if LINUX_VERSION_CODE < KERNEL_VERSION(5,0,0) + /* For kernels before 5.0.0, pass the type argument to access_ok. */