Ver Fonte

Dev (#285)

* docs: org-wide merged contributors grid + trim Special Thanks

- Add weekly Action .github/workflows/org-contributors.yml + script
  update-org-contributors.py that aggregates contributors across all
  WildKernels org repos (excludes upstream Magisk fork), dedupes by
  login and renders avatar wall between
  <!-- ORG_CONTRIBUTORS_START --> markers in README
- Wrap contributors grid with markers in README for auto-updates
- Trim Special Thanks table to simonpunk + sidex15 (remove
  backslashxx/Teemo/幕落/vc-teahouse as requested)
- Org grid now shows 47 unique contributors (was 339 with Magisk
  upstream counted)

* revert: remove org-wide grid from GKI, restore per-project contributors

- README: replace org avatar wall with single contrib.rocks image for
  GKI_KernelSU_SUSFS only
- Remove .github/workflows/org-contributors.yml and script - org
  aggregation will live in WildKernels/.github profile instead
  (limited to 4 primary kernels + kernel_patches)

* docs: rename Available Devices -> Our Kernels

* docs: rename Our Kernels -> Our Projects

* docs: use GitHub alerts for warnings

- Top warranty block -> [!CAUTION] + [!WARNING] Proceed at your own risk
- Bottom Disclaimer -> [!CAUTION] with checklist

* docs: merge WARNING into CAUTION block

* docs: blame Wild Kernels Team not me

* docs: add gift-only donation disclaimer to GKI Donations

Mirrored from WildKernels profile: gift not payment, no unlock,
same support regardless, thank-you not transaction

* docs: merge bottom Disclaimer into top CAUTION, remove duplicate

Top CAUTION now includes void/brick warning + backup bullets
+ remove duplicate bottom Disclaimer section

* docs: clean CAUTION - remove warranty line, Team are not responsible

- Remove Your warranty is no longer valid! void/brick line as requested
- I am not responsible -> The Wild Kernels Team are not responsible
- Understand the risks before proceeding -> involved (avoid duplicate proceed)

* docs: Wild Kernels Team -> Wild Kernels in CAUTION

* docs: Wild Kernels are -> is (org as singular entity)

* docs: this kernel -> these kernels (plural, multiple kernels)

* docs: these kernels -> Wild Kernels in CAUTION

* docs: remove Contributor table from Special Thanks (keep contrib.rocks grid)

Remove simonpunk/sidex15 rows and reminder line as requested

* docs: add friendly PR invite under Special Thanks

Have an idea or improvement? Contributions welcome - open a PR
or share your thoughts

* docs: sync Telegram Community from profile to GKI

- Replace Support + Connect With Us with profile Community block
- Group badge 2CA5E0 + DM badge 26A5E4 for-the-badge
- Add group-first note, DMs always open

* docs: remove KernelSU/susfs4ksu top badges

* docs: retitle to GKI 2.0 (5.10+) with Generic description

- Wild Kernels for Android -> for Android devices running GKI 2.0 (5.10+)
- Add subtitle: built on Google GKI sources, Generic means wide
  compatibility but not every device guaranteed

* docs: link Google GKI sources to android.googlesource.com/kernel/common

* docs: credit original AnyKernel3 dev osm0sis instead of WildKernels fork

* docs: remove pinned commit + SUSFS patches note from KernelSU row

* docs: add Root Implementations intro - kernel-based su and root management

* docs: trim Root Implementations intro to first phrase only

* docs: Root intro -> Kernel-based su and root access management for Android

* docs: trim Root solution for GKI devices from KernelSU rows

* docs: KernelSU-Next row - add by rifsxd, remove always at latest dev-tip

* docs: KernelSU-Next Original implementation -> KernelSU-Next fork by rifsxd

* docs: note all variants based on original KernelSU by tiann, simplify Next row

- Add All variants below are based on original KernelSU by tiann.
- KernelSU-Next fork by rifsxd -> By rifsxd. (remove fork word as requested)

* docs: move original-derived note into KernelSU row

- Remove All variants below paragraph above table
- KernelSU desc: Original implementation by tiann - foundation from
  which all other variants are derived

* docs: link rifsxd in KernelSU-Next row

* docs: By rifsxd -> Created by rifsxd in KernelSU-Next row

* docs: link tiann in KernelSU row

* docs: ReSukiSU row -> Fork of SukiSU, also has its own SUSFS-integrated branch

* docs: SUSFS-enabled -> SUSFS-integrated, pershoot fork -> pershoot in Next row

* docs: add Last updated date to features doc header

* docs: add recommended susfs module sidex15/susfs4ksu-module to susfs4ksu row

* docs: note only one Meta Module required if mounting modules

* docs: Meta Module note -> [!NOTE] (hey look here, not scary)

* docs: remove CONFIG_NTSYNC from NTSync source

* docs: NTSync link text -> WildKernels/kernel_patches

* docs: remove See also PixelFlasher alternative line from Kernel Flasher doc

* docs: add post-install verification guide

- Create docs/post-install.md (manager, SUSFS module, verify, troubleshooting)
- Link from installation.md After flashing and kernelflasher.md

* docs: remove · Releases from Related/See also links

* docs: Install the matching manager -> Download matching manager - KernelSU/Next/ReSukiSU

* docs: remove KMI match note from post-install

* docs: example kernel version -> 6.1.157-android14-Wild

* docs: remove (if you flashed a SUSFS build) from SUSFS heading

* docs: placeholder pixelflasher.md (clear contents)

* docs: troubleshooting - stock boot.img for bootloop, remove Wrong KMI entry

* docs: Manager shows old version -> ensure latest kernel+manager from release + reboot

* docs: Manager shows old -> Manager and kernel version do not match (31000 != 32000)

* docs: example kernel version 6.1.157-android14 -> 6.1.x-androidXX (generic)

* docs: add Pixel 8 example to KMI note (6.1.157-android14 vs system Android 16)

* docs: Pixel 8 example system Android 16 -> 17 as requested

* docs: remove ADB/shell verify line from post-install

* docs: remove if prompted from SUSFS reboot line

* docs: add Meta Module section to post-install (NoMount/Mountify, only one required)

* docs: add DroidSpaces section to post-install with download link

* docs: merge Verify root into manager step 1, remove standalone section

* docs: move PixelFlasher from table to Other methods, remove pixelflasher.md

* docs: remove pixelflasher.md file

* docs: add Franco Kernel Manager to Other methods

* docs: clarify NoMount/Mountify builds in post-install

- NoMount: find matching build in kernel release
- Mountify: latest module if compatible with SUSFS at build time

* docs: expand Meta Module notes - Releases source, Recommended, SUSFS compat warning

* docs: remove in the kernel's release from NoMount line

* docs: NoMount recommended, add zip name, move Recommended from Mountify

* docs: tweak Mountify compat wording to SUSFS used at time of Release

* docs: add General issues + Nuclear option to troubleshooting

- General issues: try restarting device
- Nuclear option: delete all files/folders in /data/adb

* docs: expand Nuclear option with modules removal and retry steps

* docs: polish Nuclear option wording

* docs: reword Nuclear option to uninstall modules then delete adb folder

* docs: add supported-devices.md stub with Pixel row

* docs: expand supported-devices to Pixel 6-9a full matrix

- Manufacturer: Google column, removed numeric #
- Research Pixel 6 through 9a (oriole/raven/bluejay/panther/cheetah/lynx/felix/tangorpro/shiba/husky/akita/tokay/caiman/komodo/comet/tegu) with android14-6.1 GKI

* docs: move Manufacturer to section header (Google) in supported-devices

Remove Manufacturer column, add ## Google heading

* docs: add Firmware column (stock) after GKI Kernel in supported-devices

* docs: add Last Updated column to supported-devices

* docs: combine Last Updated into Status column in supported-devices

* docs: remove Release Notes line from features

* docs: attribute KernelSU docs source on installation page

* docs: trim KernelSU attribution to single sentence

* docs: add LICENSE (GPL-2.0) and THIRD_PARTY_NOTICES for compliance

- Kernel base is GPL-2.0-only (GKI common); KSU/SUSFS/GPL-3.0 parts
  retain their own licenses; combined binary requires both
- Documents all embedded components with upstream URL + SPDX
- Fixes GitHub showing No license (was all rights reserved)

* docs: consolidate to single LICENSE (kernel GPL-2.0-only / rest GPL-3.0-or-later + third-party table)

Files under the kernel directory are GPL-2.0-only.
All other parts except the kernel directory are GPL-3.0-or-later.
Merge THIRD_PARTY_NOTICES into LICENSE as 4-col table with Used at only.
Drop Linux GKI row (not vendored, covered by header/fetch via download-kernel).

* docs: standard split LICENSE (your code) vs THIRD_PARTY_NOTICES (others)

LICENSE = Files under kernel GPL-2.0-only / rest GPL-3.0-or-later + GPL-2.0 text (your code only).
THIRD_PARTY_NOTICES.md = shipped third-party table (Component|Upstream|License|Used at).

* docs: LICENSE is only your code (GPL-3.0-or-later), kernel moved to notices

LICENSE now covers only this repo's own files (workflows/scripts/docs).
Linux GKI GPL-2.0 stays in THIRD_PARTY_NOTICES as fetched third-party (not vendored).

* docs: simplify Linux GKI row in notices

* docs: compact third-party table (fix horizontal scroll)

* docs: rename Linux GKI -> Kernel Source in notices

* docs: remove Not shipped footer from notices

* docs: remove Source per release footer from notices

* docs: add missing-credit note to notices

* docs: link License column to each upstream LICENSE/COPYING

* docs: remove license links, keep plain license names

* docs: remove Used at column from notices

* docs: remove boot.img from notices intro

* docs: remove Linux GKI from notices intro

* docs: simplify notices intro

* docs: reword notices intro

* docs: markdown polish across all docs (alerts, collapsibles, TOC, badges, task lists)

* docs: remove all emoji icons from markdown

* docs: remove dev-susfs annotation from credits

* docs: move special thanks text to top of credits

* docs: remove special thanks line from credits

* docs: remove quick method picker from README

* docs: merge TIP into community paragraph

* docs: check CAUTION task list items

* docs: replace Releases+Docs badges with pre-release badge

* docs: remove pre-release badge

* docs: reorder README and merge credits into Special Thanks as list

* docs: add descriptions to Our Projects

* docs: rename Generic to Multi in projects

* docs: move description column to end in projects table

* docs: remove Sultan from projects table

* docs: restore Pixel row with custom kernel wording

* docs: move GKI generic blurb to new About section

* docs: compress CAUTION block

* docs: simplify CAUTION to single paragraph

* docs: remove don't blame line from CAUTION

* docs: expand About with KernelSU/SUSFS focus

* docs: simplify About to KernelSU+SUSFS focus only

* docs: merge About into single paragraph

* docs: compress About paragraph

* docs: remove links from About

* docs: restore GKI link in About

* docs: add supported kernel version table under About

* docs: expand supported versions table to all workflow versions

* docs: swap version format to 5.10.x-android12 style

* docs: simplify version table to single column

* docs: move supported versions table from README About to installation

* docs: add Pre-GKI / GKI 1.0 / GKI 2.0 linux version table (only GKI 2.0 supported)

* docs: combine version tables with check marks for GKI 2.0

* docs: remove x-android suffix from GKI table

* docs: mark non-GKI 2.0 as x and add contact note for Pre-GKI/GKI 1.0

* docs: add IMPORTANT note that kernel android baseline != device android version

* docs: restore x-android suffix in GKI table

* docs: swap to exact kernel vs device android note

* docs: unify CAUTION to requested wording

* docs: remove TIP about Kernel Flasher vs magiskboot

* docs: combine GKI 2.0 device prerequisite

* docs: clarify backup requirement

* docs: tweak contact line to possiblities

* docs: collapse Android section by default

* docs: remove lz4_legacy intro from magiskboot

* docs: fix kernel replace step wording and spacing

* docs: add .x suffix to Pre-GKI/GKI 1.0 versions

* docs: remove x marks from Pre-GKI/GKI 1.0

* docs: remove WIP magiskboot and Windows section

* docs: add temporary fastboot boot note

* docs: swap flash and temporary boot order

* docs: split test boot and flash into numbered steps

* docs: put 6.6 and 6.12 on same line

* docs: compress version columns to single row

* Revert "docs: compress version columns to single row"

This reverts commit 8c9c52886b250ec38d08f42fad113d5f22bd6081.

* Revert "docs: put 6.6 and 6.12 on same line"

This reverts commit 1308fd64860f901c51c87773c51401af8f56ba2a.

* docs: remove collapsible Pixel families

* docs: merge Pixel families into one table

* docs: move note below Pixel table and remove Tested Matrix

* docs: move note under Google Pixel heading

* docs: WildKernels GKI -> Wild Kernels GKI

* docs: placeholder manufacturer tables and community-maintained note

* docs: split OnePlus/OPPO/Realme into separate tables

* feat: device support issue template + auto-PR workflow
James McConnell há 1 semana atrás
pai
commit
7cdc7fda47

+ 92 - 0
.github/ISSUE_TEMPLATE/device_support.yml

@@ -0,0 +1,92 @@
+name: Device Support Update
+description: Add or update a device in Supported Devices
+labels: [device-support]
+body:
+  - type: markdown
+    attributes:
+      value: |
+        Use this to add your device to `docs/supported-devices.md`. A PR will be opened automatically after you submit — maintainers just need to approve it.
+
+  - type: dropdown
+    id: manufacturer
+    attributes:
+      label: Manufacturer
+      description: Pick the table to update
+      options:
+        - Google Pixel
+        - Samsung
+        - OnePlus
+        - OPPO
+        - Realme
+        - Xiaomi
+        - POCO
+        - Redmi
+        - Nothing
+        - Other
+    validations:
+      required: true
+
+  - type: input
+    id: device
+    attributes:
+      label: Device
+      description: Market name
+      placeholder: "e.g., Pixel 8 or Galaxy S23"
+    validations:
+      required: true
+
+  - type: input
+    id: codename
+    attributes:
+      label: Codename
+      description: Device codename
+      placeholder: "e.g., shiba or dm3q"
+    validations:
+      required: true
+
+  - type: input
+    id: gki_kernel
+    attributes:
+      label: GKI Kernel
+      description: Kernel version you flashed
+      placeholder: "e.g., android14-6.1 or 6.1.x-android14"
+    validations:
+      required: true
+
+  - type: input
+    id: firmware
+    attributes:
+      label: Firmware
+      description: Firmware / ROM
+      placeholder: "e.g., stock or lineage-22.1"
+    validations:
+      required: false
+
+  - type: dropdown
+    id: status
+    attributes:
+      label: Status
+      options:
+        - Supported
+        - Tested / Working
+        - Not working
+      default: 0
+    validations:
+      required: true
+
+  - type: checkboxes
+    id: tested
+    attributes:
+      label: Confirmation
+      options:
+        - label: I tested this kernel on the device above and it boots
+          required: true
+
+  - type: textarea
+    id: notes
+    attributes:
+      label: Notes
+      description: Anything else (optional)
+      placeholder: Extra context
+    validations:
+      required: false

+ 118 - 0
.github/scripts/update-supported-devices.py

@@ -0,0 +1,118 @@
+#!/usr/bin/env python3
+"""Update docs/supported-devices.md from a device-support issue."""
+import re, sys, datetime, pathlib
+
+ISSUE_BODY = pathlib.Path(sys.argv[1]).read_text() if len(sys.argv) > 1 else sys.stdin.read()
+MD = pathlib.Path("docs/supported-devices.md")
+
+def field(id):
+    # issue form bodies render as "### <Label>\n\nvalue"
+    # we match by id label text variations
+    labels = {
+        "manufacturer": "Manufacturer",
+        "device": "Device",
+        "codename": "Codename",
+        "gki_kernel": "GKI Kernel",
+        "firmware": "Firmware",
+        "status": "Status",
+    }
+    label = labels[id]
+    m = re.search(rf"### {re.escape(label)}\s*\n+([^\n#]+)", ISSUE_BODY)
+    if m:
+        return m.group(1).strip()
+    # fallback: try id
+    m = re.search(rf"### {re.escape(id)}\s*\n+([^\n#]+)", ISSUE_BODY)
+    return m.group(1).strip() if m else ""
+
+manufacturer = field("manufacturer") or "Other"
+device = field("device").strip()
+codename = field("codename").strip()
+gki = field("gki_kernel").strip()
+firmware = field("firmware").strip() or "stock"
+status = field("status").strip() or "Supported"
+
+if not device or not codename or not gki:
+    print("missing required fields", file=sys.stderr)
+    sys.exit(0)
+
+heading_map = {
+    "Google Pixel": "## Google Pixel",
+    "Samsung": "## Samsung",
+    "OnePlus": "## OnePlus",
+    "OPPO": "## OPPO",
+    "Realme": "## Realme",
+    "Xiaomi": "## Xiaomi",
+    "POCO": "## POCO",
+    "Redmi": "## Redmi",
+    "Nothing": "## Nothing",
+    "Other": "## Other",
+}
+heading = heading_map.get(manufacturer, "## Other")
+# Xiaomi/POCO/Redmi share same file section expansion if not present -> create heading
+text = MD.read_text()
+if heading not in text and manufacturer in ("Xiaomi", "POCO", "Redmi"):
+    # ensure sections exist (already added as separate? current file has Xiaomi / POCO / Redmi combined? we split?)
+    # if missing, append before end
+    pass
+
+today = datetime.date.today().isoformat()
+status_cell = f"{status} · {today}"
+row = f"| {device} | {codename} | {gki} | {firmware} | {status_cell} |"
+
+if heading not in text:
+    # append new section at end before source
+    text = text.rstrip() + f"\n\n{heading}\n\n| Device | Codename | GKI Kernel | Firmware | Status |\n|--------|----------|------------|----------|--------|\n{row}\n"
+    MD.write_text(text)
+    print(f"added new heading {heading}")
+    sys.exit(0)
+
+# find table under heading
+# split by headings
+parts = re.split(r"(^## .+$)", text, flags=re.MULTILINE)
+out = []
+for i, part in enumerate(parts):
+    if part.strip() == heading:
+        # next part is body until next heading
+        body = parts[i+1] if i+1 < len(parts) else ""
+        # check duplicate codename
+        if re.search(rf"\|\s*{re.escape(device)}\s*\|", body) or re.search(rf"\|\s*[^|]*\|\s*{re.escape(codename)}\s*\|", body):
+            print("device already listed, updating not duplicating")
+            # replace existing row's status/gki if needed? skip for now
+            out.append(part)
+            out.append(body)
+            continue
+        # replace placeholder row if present
+        placeholder = "| — | — | — | — | Placeholder — add entries |"
+        if placeholder in body:
+            new_body = body.replace(placeholder, row, 1)
+        else:
+            # append row before next heading or at end of table (before blank line + ##)
+            # find last table row line
+            lines = body.splitlines()
+            insert_idx = None
+            for idx, line in enumerate(lines):
+                if line.startswith("|") and "Device | Codename" in line:
+                    # header, continue
+                    continue
+                if line.startswith("|") and "--------" in line:
+                    continue
+            # find last row that starts with |
+            last = -1
+            for idx, line in enumerate(lines):
+                if line.startswith("| "):
+                    last = idx
+            if last >= 0:
+                lines.insert(last+1, row)
+            else:
+                lines.append(row)
+            new_body = "\n".join(lines)
+        out.append(part)
+        out.append(new_body)
+    else:
+        # already handled body as part of heading case? avoid double
+        if i>0 and parts[i-1].strip() == heading:
+            continue
+        out.append(part)
+
+MD.write_text("".join(out))
+print(f"inserted {device} into {heading}")

+ 42 - 0
.github/workflows/device-support.yml

@@ -0,0 +1,42 @@
+name: Device Support Update
+
+on:
+  issues:
+    types: [opened, labeled]
+
+permissions:
+  contents: write
+  pull-requests: write
+  issues: write
+
+jobs:
+  pr:
+    if: contains(github.event.issue.labels.*.name, 'device-support')
+    runs-on: ubuntu-latest
+    steps:
+      - uses: actions/checkout@v4
+
+      - name: Update table from issue
+        run: |
+          gh issue view ${{ github.event.issue.number }} --json body -q .body > /tmp/issue_body.txt
+          cat /tmp/issue_body.txt
+          python3 .github/scripts/update-supported-devices.py /tmp/issue_body.txt
+          git diff -- docs/supported-devices.md || echo "no diff"
+        env:
+          GH_TOKEN: ${{ github.token }}
+
+      - name: Create Pull Request
+        uses: peter-evans/create-pull-request@v6
+        with:
+          token: ${{ secrets.GITHUB_TOKEN }}
+          commit-message: "docs: add ${{ github.event.issue.title }} to supported devices"
+          branch: device-support/issue-${{ github.event.issue.number }}
+          title: "docs: add ${{ github.event.issue.title }} to supported devices (fixes #${{ github.event.issue.number }})"
+          body: |
+            Auto-generated from #${{ github.event.issue.number }}.
+
+            Please review the row added to `docs/supported-devices.md` and merge if correct.
+
+            Closes #${{ github.event.issue.number }}.
+          labels: device-support
+          delete-branch: true

+ 315 - 0
LICENSE

@@ -0,0 +1,315 @@
+WildKernels GKI_KernelSU_SUSFS — LICENSE
+
+This repository's own files (workflows, scripts, docs, kernel_patches where original)
+are licensed under GPL-3.0-or-later.
+
+Kernel source and other third-party components fetched at build retain their own
+licenses — see THIRD_PARTY_NOTICES.md.
+
+---
+GNU GENERAL PUBLIC LICENSE
+                       Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+                            Preamble
+
+  The GNU General Public License is a free, copyleft license for
+software and other kinds of works.
+
+  The licenses for most software and other practical works are designed
+to take away your freedom to share and change the works.  By contrast,
+the GNU General Public License is intended to guarantee your freedom to
+share and change all versions of a program--to make sure it remains free
+software for all its users.  We, the Free Software Foundation, use the
+GNU General Public License for most of our software; it applies also to
+any other work released this way by its authors.  You can apply it to
+your programs, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+them if you wish), that you receive source code or can get it if you
+want it, that you can change the software or use pieces of it in new
+free programs, and that you know you can do these things.
+
+  To protect your rights, we need to prevent others from denying you
+these rights or asking you to surrender the rights.  Therefore, you have
+certain responsibilities if you distribute copies of the software, or if
+you modify it: responsibilities to respect the freedom of others.
+
+  For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must pass on to the recipients the same
+freedoms that you received.  You must make sure that they, too, receive
+or can get the source code.  And you must show them these terms so they
+know their rights.
+
+  Developers that use the GNU GPL protect your rights with two steps:
+(1) assert copyright on the software, and (2) offer you this License
+giving you legal permission to copy, distribute and/or modify it.
+
+  For the developers' and authors' protection, the GPL clearly explains
+that there is no warranty for this free software.  For both users' and
+authors' sake, the GPL requires that modified versions be marked as
+changed, so that their problems will not be attributed erroneously to
+authors of previous versions.
+
+  Some devices are designed to deny users access to install or run
+modified versions of the software inside them, although the manufacturer
+can do so.  This is fundamentally incompatible with the aim of
+protecting users' freedom to change the software.  The systematic
+pattern of such abuse occurs in the area of products for individuals to
+use, which is precisely where it is most unacceptable.  Therefore, we
+have designed this version of the GPL to prohibit the practice for those
+products.  If such problems arise substantially in other domains, we
+stand ready to extend this provision to those domains in future versions
+of the GPL, as needed to protect the freedom of users.
+
+  Finally, every program is threatened constantly by software patents.
+States should not allow patents to restrict development and use of
+software on general-purpose computers, but in those that do, we wish to
+avoid the special danger that patents applied to a free program could
+make it effectively proprietary.  To prevent this, the GPL assures that
+patents cannot be used to render the program non-free.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.
+
+                       TERMS AND CONDITIONS
+
+  0. Definitions.
+
+  "This License" refers to version 3 of the GNU General Public License.
+
+  "Copyright" also means copyright-like laws that apply to other kinds of
+works, such as semiconductor masks.
+
+  "The Program" refers to any copyrightable work licensed under this
+License.  Each licensee is addressed as "you".  "Licensees" and
+"recipients" may be individuals or organizations.
+
+  To "modify" a work means to copy from or adapt all or part of the work
+in a fashion requiring copyright permission, other than the making of an
+exact copy.  The resulting work is called a "modified version" of the
+earlier work or a work "based on" the earlier work.
+
+  A "covered work" means either the unmodified Program or a work based
+on the Program.
+
+  To "propagate" a work means to do anything with it that, without
+permission, would make you directly or secondarily liable for
+infringement under applicable copyright law, except executing it on a
+computer or modifying a private copy.  Propagation includes copying,
+distribution (with or without modification), making available to the
+public, and in some countries other activities as well.
+
+  To "convey" a work means any kind of propagation that enables other
+parties to make or receive copies.  Mere interaction with a user through
+a computer network, with no transfer of a copy, is not conveying.
+
+  An interactive user interface displays "Appropriate Legal Notices"
+to the extent that it includes a convenient and prominently visible
+feature that (1) displays an appropriate copyright notice, and (2)
+tells the user that there is no warranty for the work (except to the
+extent that warranties are provided), that licensees may convey the
+work under this License, and how to view a copy of this License.  If
+the interface presents a list of user commands or options, such as a
+menu, a prominent item in the list meets this criterion.
+
+  1. Source Code.
+
+  The "source code" for a work means the preferred form of the work
+for making modifications to it.  "Object code" means any non-source
+form of a work.
+
+  A "Standard Interface" means an interface that either is an official
+standard defined by a recognized standards body, or, in the case of
+interfaces specified for a particular programming language, one that
+is widely used among developers working in that language.
+
+  The "System Libraries" of an executable work include anything, other
+than the work as a whole, that (a) is included in the normal form of
+packaging a Major Component, but which is not part of that Major
+Component, and (b) serves only to enable use of the work with that
+Major Component, or to implement a Standard Interface for which an
+implementation is available to the public in source code form.  A
+"Major Component", in this context, means a major essential component
+(kernel, window system, and so on) of the specific operating system
+(if any) on which the executable work runs, or a compiler used to
+produce the work, or an object code interpreter used to run it.
+
+  The "Corresponding Source" for a work in object code form means all
+the source code needed to generate, install, and (for an executable
+work) run the object code and to modify the work, including scripts to
+control those activities.  However, it does not include the work's
+System Libraries, or general-purpose tools or generally available free
+programs which are used unmodified in performing those activities but
+which are not part of the work.  For example, Corresponding Source
+includes interface definition files associated with source files for
+the work, and the source code for shared libraries and dynamically
+linked subprograms that the work is specifically designed to require,
+such as by intimate data communication or control flow between those
+subprograms and other parts of the work.
+
+  The Corresponding Source need not include anything that users
+can regenerate automatically from other parts of the Corresponding
+Source.
+
+  The Corresponding Source for a work in source code form is that
+same work.
+
+  2. Basic Permissions.
+
+  All rights granted under this License are granted for the term of
+copyright on the Program, and are irrevocable provided the stated
+conditions are met.  This License explicitly affirms your unlimited
+permission to run the unmodified Program.  The output from running a
+covered work is covered by this License only if the output, given its
+content, constitutes a covered work.  This License acknowledges your
+rights of fair use or other equivalent, as provided by copyright law.
+
+  You may make, run and propagate covered works that you do not
+convey, without conditions so long as your license otherwise remains
+in force.  You may convey covered works to others for the sole purpose
+of having them make modifications exclusively for you, or provide you
+with facilities for running those works, provided that you comply with
+the terms of this License in conveying all material for which you do
+not control copyright.  Those thus making or running the covered works
+for you must do so exclusively on your behalf, under your direction
+and control, on terms that prohibit them from making any copies of
+your copyrighted material outside their relationship with you.
+
+  Conveying under any other circumstances is permitted solely under
+the conditions stated below.  Sublicensing is not allowed; section 10
+makes it unnecessary.
+
+  3. Protecting Users' Legal Rights From Anti-Circumvention Law.
+
+  No covered work shall be deemed part of an effective technological
+measure under any applicable law fulfilling obligations under article
+11 of the WIPO copyright treaty adopted on 20 December 1996, or
+similar laws prohibiting or restricting circumvention of such
+measures.
+
+  When you convey a covered work, you waive any legal power to forbid
+circumvention of technological measures to the extent such circumvention
+is effected by exercising rights under this License with respect to
+the covered work, and you disclaim any intention to limit operation or
+modification of the work as a means of enforcing, against the work's
+users, your or third parties' legal rights to forbid circumvention of
+technological measures.
+
+  4. Conveying Verbatim Copies.
+
+  You may convey verbatim copies of the Program's source code as you
+receive it, in any medium, provided that you conspicuously and
+appropriately publish on each copy an appropriate copyright notice;
+keep intact all notices stating that this License and any
+non-permissive terms added in accord with section 7 apply to the code;
+keep intact all notices of the absence of any warranty; and give all
+recipients a copy of this License along with the Program.
+
+  You may charge any price or no price for each copy that you convey,
+and you may offer support or warranty protection for a fee.
+
+  5. Conveying Modified Source Versions.
+
+  You may convey a work based on the Program, or the modifications to
+produce it from the Program, in the form of source code under the
+terms of section 4, provided that you also meet all of these conditions:
+
+    a) The work must carry prominent notices stating that you modified
+    it, and giving a relevant date.
+
+    b) The work must carry prominent notices stating that it is
+    released under this License and any conditions added under section
+    7.  This requirement modifies the requirement in section 4 to
+    "keep intact all notices".
+
+    c) You must license the entire work, as a whole, under this
+    License to anyone who comes into possession of a copy.  This
+    License will therefore apply, along with any applicable section 7
+
+[... middle omitted — see footer ...]
+
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
+THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
+GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
+USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
+DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
+PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
+EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGES.
+
+  17. Interpretation of Sections 15 and 16.
+
+  If the disclaimer of warranty and limitation of liability provided
+above cannot be given local legal effect according to their terms,
+reviewing courts shall apply local law that most closely approximates
+an absolute waiver of all civil liability in connection with the
+Program, unless a warranty or assumption of liability accompanies a
+copy of the Program in return for a fee.
+
+                     END OF TERMS AND CONDITIONS
+
+            How to Apply These Terms to Your New Programs
+
+  If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+  To do so, attach the following notices to the program.  It is safest
+to attach them to the start of each source file to most effectively
+state the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the program's name and a brief idea of what it does.>
+    Copyright (C) <year>  <name of author>
+
+    This program is free software: you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program.  If not, see <https://www.gnu.org/licenses/>.
+
+Also add information on how to contact you by electronic and paper mail.
+
+  If the program does terminal interaction, make it output a short
+notice like this when it starts in an interactive mode:
+
+    <program>  Copyright (C) <year>  <name of author>
+    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+    This is free software, and you are welcome to redistribute it
+    under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License.  Of course, your program's commands
+might be different; for a GUI interface, you would use an "about box".
+
+  You should also get your employer (if you work as a programmer) or school,
+if any, to sign a "copyright disclaimer" for the program, if necessary.
+For more information on this, and how to apply and follow the GNU GPL, see
+<https://www.gnu.org/licenses/>.
+
+  The GNU General Public License does not permit incorporating your program
+into proprietary programs.  If your program is a subroutine library, you
+may consider it more useful to permit linking proprietary applications with
+the library.  If this is what you want to do, use the GNU Lesser General
+Public License instead of this License.  But first, please read
+<https://www.gnu.org/licenses/why-not-lgpl.html>.
+
+
+──────── [TRUNCATED] ────────
+Showing 11,240 chars (head) + 3,685 chars (tail) of 35,149 total clean characters.
+Full text saved to: /home/james/.hermes/cache/web/www.gnu.org-94a810252e.md
+To read the omitted middle: read_file path="/home/james/.hermes/cache/web/www.gnu.org-94a810252e.md" offset=225 limit=200  (the file is the complete page; raise/lower offset to page through it).
+─────────────────────────────

+ 67 - 84
README.md

@@ -1,50 +1,50 @@
 <div align="center">
 
-# Wild Kernels for Android
+# Wild Kernels for Android devices running GKI 2.0 (5.10+)
 
-[![KernelSU](https://img.shields.io/badge/KernelSU-Supported-green)](https://kernelsu.org/)
-[![susfs4ksu](https://img.shields.io/badge/susfs4ksu-Integrated-orange)](https://gitlab.com/simonpunk/susfs4ksu)
+[![License: GPL-3.0](https://img.shields.io/badge/license-GPL--3.0-blue.svg)](LICENSE)
+[![Third-Party Notices](https://img.shields.io/badge/notices-THIRD__PARTY_NOTICES-lightgrey.svg)](THIRD_PARTY_NOTICES.md)
 
 </div>
 
-## Your warranty is no longer valid!
+> [!CAUTION]
+> Wild Kernels is not responsible for bricked devices or damage. By flashing, you assume all risk. Back up your data and understand the risks before flashing.
 
-I am **not responsible** for bricked devices, damaged hardware, or any issues that arise from using this kernel.
+<details>
+<summary><b> Table of Contents</b></summary>
 
-**Please** do thorough research and fully understand the features included in this kernel before flashing it!
+- [About](#about)
+- [Features](#features)
+- [Installation](#installation)
+- [Our Projects](#our-projects)
+- [Special Thanks](#special-thanks)
+- [Community](#community)
+- [Donations](#donations)
 
-By flashing this kernel, **YOU** are choosing to make these modifications. If something goes wrong, **do not blame me**!
+</details>
 
 ---
 
-### Proceed at your own risk!
+## About
 
----
-
-## Available Devices
-
-| Device | Repository |
-|--------|------------|
-| **Generic** | [GKI_KernelSU_SUSFS](https://github.com/WildKernels/GKI_KernelSU_SUSFS) |
-| **Pixel** | [Sultan_KernelSU_SUSFS](https://github.com/WildKernels/Sultan_KernelSU_SUSFS) |
-| **Samsung** | [Samsung_KernelSU_SUSFS](https://github.com/WildKernels/Samsung_KernelSU_SUSFS) |
-| **OnePlus** | [OnePlus_KernelSU_SUSFS](https://github.com/WildKernels/OnePlus_KernelSU_SUSFS) |
+Generic kernels built on [Google's GKI sources](https://android.googlesource.com/kernel/common/) with KernelSU and SUSFS for root hiding and detection evasion — broad compatibility, not guaranteed for every device.
 
 ---
 
 ## Features
 
-- KernelSU / KernelSU-Next / ReSukiSU - root implementations
-- susfs4ksu - root hiding (incl. Ptrace Leak Fix, Unicode Fix)
-- NoMount / Mountify - mount metamodules
-- Baseband Guard - partition protection
-- Networking - WireGuard, BBR, IPSet, CIFS
-- TMPFS - xattr / POSIX ACLs
-- BPF - BTF / eBPF / FUSE-BPF
-- Performance - incl. NTSync
-- DroidSpaces - container runtime
+- **KernelSU / KernelSU-Next / ReSukiSU** — root implementations
+- **susfs4ksu** — root hiding (incl. Ptrace Leak Fix, Unicode Fix)
+- **NoMount / Mountify** — mount metamodules
+- **Baseband Guard** — partition protection
+- **Networking** — WireGuard, BBR, IPSet, CIFS
+- **TMPFS** — xattr / POSIX ACLs
+- **BPF** — BTF / eBPF / FUSE-BPF
+- **Performance** — incl. NTSync
+- **DroidSpaces** — container runtime
 
-Full documentation: [docs/features.md](docs/features.md)
+> [!TIP]
+> Full documentation: [docs/features.md](docs/features.md) · [Supported Devices](docs/supported-devices.md)
 
 ---
 
@@ -54,82 +54,65 @@ See **[Installation Guide](docs/installation.md)**.
 
 ---
 
-## Credits
-
-- **KernelSU**: Developed by [tiann](https://github.com/tiann/KernelSU)
-- **KernelSU-Next**: Developed by [rifsxd](https://github.com/KernelSU-Next/KernelSU-Next)
-- **KernelSU-Next SUSFS Fork**: Developed by [pershoot](https://github.com/pershoot/KernelSU-Next) (`dev-susfs` branch used for SUSFS builds)
-- **ReSukiSU**: Developed by [ReSukiSU](https://github.com/ReSukiSU/ReSukiSU)
-- **Magic-KSU**: Developed by [5ec1cff](https://github.com/5ec1cff/KernelSU)
-- **SUSFS**: Developed by [simonpunk](https://gitlab.com/simonpunk/susfs4ksu)
-- **SUSFS Module**: Developed by [sidex15](https://github.com/sidex15)
-- **NoMount**: Developed by [maxsteeel](https://github.com/maxsteeel/nomount)
-- **DroidSpaces-OSS**: Developed by [ravindu644](https://github.com/ravindu644/Droidspaces-OSS)
-- **Baseband-guard (BBG)**: Developed by [vc-teahouse](https://github.com/vc-teahouse/Baseband-guard)
-- **Kernel Patches**: Maintained by [WildKernels/kernel_patches](https://github.com/WildKernels/kernel_patches)
-- **AnyKernel3**: Maintained by [WildKernels/AnyKernel3](https://github.com/WildKernels/AnyKernel3)
-- **Sultan Kernels (Pixel)**: Developed by [kerneltoast](https://github.com/kerneltoast)
-- **Device Boot Fix**: [Boot fix commit](https://github.com/Anything-at-25-00/android_kernel_common_android12-5.10/commit/2476d262b597fe8af82cfb7aaf96676f51c6b4ed) for fixing some devices not booting
-
-Special thanks to the open-source community for their contributions!
-
----
-
-## Support
+## Our Projects
 
-If you encounter any issues or need help, feel free to:
-- Open an issue in this repository
-- Reach out to me directly
+| Device | Repository | Description |
+|--------|------------|-------------|
+| **Multi** | [GKI_KernelSU_SUSFS](https://github.com/WildKernels/GKI_KernelSU_SUSFS) | Google GKI sources — built to be generic and work across many devices |
+| **Pixel** | [Sultan_KernelSU_SUSFS](https://github.com/WildKernels/Sultan_KernelSU_SUSFS) | Custom kernels for specific Pixel devices — built from Sultan sources |
+| **Samsung** | [Samsung_KernelSU_SUSFS](https://github.com/WildKernels/Samsung_KernelSU_SUSFS) | Built from Samsung sources and manifest |
+| **OnePlus** | [OnePlus_KernelSU_SUSFS](https://github.com/WildKernels/OnePlus_KernelSU_SUSFS) | Built from OnePlus sources and manifest |
 
 ---
 
-## Disclaimer
-
-Flashing this kernel will void your warranty, and there is always a risk of bricking your device. Please make sure to:
-- Back up your data
-- Understand the risks before proceeding
-
-**Proceed at your own risk!**
-
----
-
-<div align="center">
+## Special Thanks
 
-## Connect With Us
+**These amazing people and projects make this possible:**
+
+- **KernelSU** — [tiann](https://github.com/tiann/KernelSU)
+- **KernelSU-Next** — [rifsxd](https://github.com/KernelSU-Next/KernelSU-Next)
+- **KernelSU-Next SUSFS Fork** — [pershoot](https://github.com/pershoot/KernelSU-Next)
+- **ReSukiSU** — [ReSukiSU](https://github.com/ReSukiSU/ReSukiSU)
+- **Magic-KSU** — [5ec1cff](https://github.com/5ec1cff/KernelSU)
+- **SUSFS** — [simonpunk](https://gitlab.com/simonpunk/susfs4ksu)
+- **SUSFS Module** — [sidex15](https://github.com/sidex15)
+- **NoMount** — [maxsteeel](https://github.com/maxsteeel/nomount)
+- **DroidSpaces-OSS** — [ravindu644](https://github.com/ravindu644/Droidspaces-OSS)
+- **Baseband-guard (BBG)** — [vc-teahouse](https://github.com/vc-teahouse/Baseband-guard)
+- **Kernel Patches** — [WildKernels/kernel_patches](https://github.com/WildKernels/kernel_patches)
+- **AnyKernel3** — [osm0sis](https://github.com/osm0sis/AnyKernel3)
+- **Sultan Kernels (Pixel)** — [kerneltoast](https://github.com/kerneltoast)
+- **Device Boot Fix** — [Boot fix commit](https://github.com/Anything-at-25-00/android_kernel_common_android12-5.10/commit/2476d262b597fe8af82cfb7aaf96676f51c6b4ed)
+
+**Contributors to this repository:**
 
-[![Telegram](https://img.shields.io/badge/Telegram-TheWildJames-blue?logo=telegram)](https://t.me/TheWildJames)
-[![Telegram Group](https://img.shields.io/badge/Telegram-WildKernelsTG-blue?logo=telegram)](https://t.me/WildKernelsTG)
+[![Contributors](https://contrib.rocks/image?repo=WildKernels/GKI_KernelSU_SUSFS)](https://github.com/WildKernels/GKI_KernelSU_SUSFS/graphs/contributors)
 
-</div>
+Have an idea or improvement in mind? Contributions are always welcome — feel free to open a pull request or share your thoughts!
 
 ---
 
-## Special Thanks
+## Community
 
-**These amazing people help make this project possible!**
+<div align="center">
 
-[![Contributors](https://contrib.rocks/image?repo=WildKernels/GKI_KernelSU_SUSFS)](https://github.com/WildKernels/GKI_KernelSU_SUSFS/graphs/contributors)
+[![Telegram Group](https://img.shields.io/badge/Telegram-%40WildKernelsTG-2CA5E0?style=for-the-badge&logo=telegram&logoColor=white)](https://t.me/WildKernelsTG)
+[![Telegram DM](https://img.shields.io/badge/Telegram-%40TheWildJames-26A5E4?style=for-the-badge&logo=telegram&logoColor=white)](https://t.me/TheWildJames)
 
-| Contributor | Contribution |
-|-------------|-------------|
-| [simonpunk](https://gitlab.com/simonpunk/susfs4ksu.git) | Created SUSFS! |
-| [sidex15](https://github.com/sidex15) | Created module! |
-| [backslashxx](https://github.com/backslashxx) | Helped with patches! |
-| [Teemo](https://github.com/liqideqq) | Helped with patches! |
-| [幕落](https://github.com/MuLuo688) | Donation! |
-| [vc-teahouse](https://github.com/vc-teahouse) | Created Baseband-guard (BBG)! |
+</div>
 
-*If you have contributed and are not listed here, please remind me!* 
+Need help? Open an issue in this repository or reach out on Telegram. Please ask in the [WildKernelsTG group](https://t.me/WildKernelsTG) first for general issues. DMs to [@TheWildJames](https://t.me/TheWildJames) are always open — use for priority / very important, or if you just want to talk and learn.
 
 ---
 
 ## Donations
 
-Any and all donations are appreciated!
+> [!IMPORTANT]
+> **Kind note:** A donation is truly just a gift — not a payment for support, features, or priority. It doesn't unlock anything extra on our side and doesn't change how we help you; everyone gets the same community support whether you donate or not. Think of it as a kind “thank you” to help keep development going — not a transaction. If you do choose to give, we're genuinely grateful, but please never feel obligated.
 
 - PayPal: [bauhd@outlook.com](mailto:bauhd@outlook.com)
 - Card: <https://buy.stripe.com/5kQ28sdi08Nr0Xc2fU5os00>
-- LTC: MVaN1ToSuks2cdK9mB3M8EHCfzQSyEMf6h
-- BTC: 3BBXAMS4ZuCZwfbTXxWGczxHF4isymeyxG
-- ETH: 0x2b9C846c84d58717e784458406235C09a834274e
+- LTC: `MVaN1ToSuks2cdK9mB3M8EHCfzQSyEMf6h`
+- BTC: `3BBXAMS4ZuCZwfbTXxWGczxHF4isymeyxG`
+- ETH: `0x2b9C846c84d58717e784458406235C09a834274e`
 - Patreon: <https://patreon.com/WildKernels>

+ 29 - 0
THIRD_PARTY_NOTICES.md

@@ -0,0 +1,29 @@
+# Third-Party Notices — GKI_KernelSU_SUSFS
+
+> [!NOTE]
+> This file lists third-party code fetched during CI and included in the build's output zip(s). None of it is vendored in this repo — each dependency is pulled fresh at build time and retains its own original license.
+
+| Component | Upstream | License |
+|-----------|----------|---------|
+| Kernel Source | [kernel/common](https://android.googlesource.com/kernel/common) | GPL-2.0 |
+| KernelSU | [tiann/KernelSU](https://github.com/tiann/KernelSU) | GPL-3.0 |
+| KernelSU-Next | [KernelSU-Next/KernelSU-Next](https://github.com/KernelSU-Next/KernelSU-Next) | GPL-3.0 |
+| ReSukiSU | [ReSukiSU/ReSukiSU](https://github.com/ReSukiSU/ReSukiSU) | GPL-3.0 |
+| KSU-Next SUSFS | [pershoot/KernelSU-Next](https://github.com/pershoot/KernelSU-Next) | GPL-3.0 |
+| susfs4ksu | [simonpunk/susfs4ksu](https://gitlab.com/simonpunk/susfs4ksu) | GPL-3.0+ |
+| NoMount | [maxsteeel/nomount](https://github.com/maxsteeel/nomount) | GPL-3.0 |
+| kernel_patches | [WildKernels/kernel_patches](https://github.com/WildKernels/kernel_patches) | GPL-2.0 |
+| Baseband Guard | [vc-teahouse/Baseband-guard](https://github.com/vc-teahouse/Baseband-guard) | GPL-2.0 |
+| AnyKernel3 | [WildKernels/AnyKernel3](https://github.com/WildKernels/AnyKernel3) | BSD |
+| magiskboot | [topjohnwu/Magisk](https://github.com/topjohnwu/Magisk) via AnyKernel3 | GPL-3.0 |
+| DroidSpaces | [ravindu644/Droidspaces-OSS](https://github.com/ravindu644/Droidspaces-OSS) | GPL-3.0 |
+
+<details>
+<summary> About magiskboot binaries</summary>
+
+`magiskboot` / `magiskpolicy` are prebuilt binaries bundled inside `AnyKernel3/tools/`. Source at [topjohnwu/Magisk](https://github.com/topjohnwu/Magisk) (GPL-3.0). They are not separate clones — shipped only via AnyKernel3.
+
+</details>
+
+> [!IMPORTANT]
+> If we have used your code and not credited you correctly, or have listed the wrong license, please let us know — open an issue or reach out and we'll fix it promptly. No omission is intentional; we want to credit everyone properly.

+ 53 - 9
docs/features.md

@@ -2,22 +2,46 @@
 
 Per-feature documentation for the GKI2 kernels built from this repository.
 
+*Last updated: 2026-08-30*
+
+<details>
+<summary><b> Table of Contents</b></summary>
+
+- [ Root Implementations](#-root-implementations)
+- [ Root Hiding](#-root-hiding)
+- [ Meta Module](#-meta-module)
+- [ Security](#-security)
+- [ Networking](#-networking)
+- [ Debugging, Tracing & BPF](#-debugging-tracing--bpf)
+- [ Performance](#-performance)
+- [ Container Runtime](#-container-runtime)
+
+</details>
+
+---
+
 ## Root Implementations
 
+Kernel-based su and root access management for Android.
+
 | Root Flavor | Description | Source |
-|-------------|-------------|----------|
-| KernelSU | Root solution for GKI devices, original implementation by tiann, pinned to verified commit. SUSFS patches applied during build. | [tiann/KernelSU](https://github.com/tiann/KernelSU) |
-| KernelSU-Next | Root solution for GKI devices, original KernelSU-Next implementation, always at latest dev-tip. SUSFS-enabled builds sourced from pershoot fork. | [KernelSU-Next/KernelSU-Next](https://github.com/KernelSU-Next/KernelSU-Next) · [pershoot/KernelSU-Next](https://github.com/pershoot/KernelSU-Next) |
-| ReSukiSU | ReSukiSU root fork, pinned to verified commit. Own SUSFS pins per flavor. | [ReSukiSU/ReSukiSU](https://github.com/ReSukiSU/ReSukiSU) |
+|-------------|-------------|--------|
+| KernelSU | Original implementation by [tiann](https://github.com/tiann) — the foundation from which all other variants are derived. | [tiann/KernelSU](https://github.com/tiann/KernelSU) |
+| KernelSU-Next | Created by [rifsxd](https://github.com/rifsxd). SUSFS-integrated builds sourced from pershoot. | [KernelSU-Next/KernelSU-Next](https://github.com/KernelSU-Next/KernelSU-Next) · [pershoot/KernelSU-Next](https://github.com/pershoot/KernelSU-Next) |
+| ReSukiSU | Fork of SukiSU, also has its own SUSFS-integrated branch. | [ReSukiSU/ReSukiSU](https://github.com/ReSukiSU/ReSukiSU) |
+
+---
 
 ## Root Hiding
 
 | Feature | Description | Source |
 |---------|-------------|--------|
-| susfs4ksu | Root-hiding add-on for KernelSU using kernel patches and a userspace module. | [simonpunk/susfs4ksu](https://gitlab.com/simonpunk/susfs4ksu) |
+| susfs4ksu | Root-hiding add-on for KernelSU using kernel patches and a userspace module. Recommended module: [sidex15/susfs4ksu-module](https://github.com/sidex15/susfs4ksu-module). | [simonpunk/susfs4ksu](https://gitlab.com/simonpunk/susfs4ksu) |
 | Ptrace Leak Fix | Fixes ptrace info leak on kernels older than 5.16. Internal to root hiding. | [patch](https://github.com/WildKernels/kernel_patches/blob/main/gki_ptrace.patch) |
 | Unicode Fix | Prevents path traversal via non-printable Unicode (experimental). Internal to root hiding. | [patch 6.1-](https://github.com/WildKernels/kernel_patches/blob/main/common/unicode_bypass_fix_6.1-.patch) · [patch 6.1+](https://github.com/WildKernels/kernel_patches/blob/main/common/unicode_bypass_fix_6.1+.patch) |
 
+---
+
 ## Meta Module
 
 | Module | Description | Source |
@@ -25,12 +49,27 @@ Per-feature documentation for the GKI2 kernels built from this repository.
 | NoMount | Metamodule providing mount-related functionality alongside root implementations. | [maxsteeel/nomount](https://github.com/maxsteeel/nomount) |
 | Mountify | Globally mounted modules via OverlayFS. | [backslashxx/mountify](https://github.com/backslashxx/mountify) |
 
+> [!NOTE]
+> Only one is required if mounting modules.
+
+<details>
+<summary>Which one should I use?</summary>
+
+- **NoMount** — recommended, bundled as `nomount-metamodule` in CI.
+- **Mountify** — alternative OverlayFS approach, not bundled — install latest compatible module manually.
+
+</details>
+
+---
+
 ## Security
 
 | Feature | Description | Source |
 |---------|-------------|--------|
 | Baseband Guard | Lightweight LSM blocking unauthorized writes to critical partitions and device nodes. | [vc-teahouse/Baseband-guard](https://github.com/vc-teahouse/Baseband-guard) |
 
+---
+
 ## Networking
 
 | Feature | Description | Source |
@@ -42,19 +81,25 @@ Per-feature documentation for the GKI2 kernels built from this repository.
 | CIFS | SMB/CIFS network filesystem | `CONFIG_CIFS` |
 | TTL Target | Network packet manipulation | `CONFIG_IP_NF_TARGET_TTL` / `CONFIG_IP6_NF_TARGET_HL` |
 
+---
+
 ## Debugging, Tracing & BPF
 
 | Feature | Description | Source |
 |---------|-------------|--------|
 | BTF / eBPF / FUSE-BPF | BPF Type Format, extended BPF, FUSE-BPF interaction | `CONFIG_DEBUG_INFO_BTF` / `CONFIG_BPF_SYSCALL` / `CONFIG_FUSE_BPF` |
 
+---
+
 ## Performance
 
 | Feature | Description | Source |
 |---------|-------------|--------|
-| NTSync | High-performance synchronization primitives compatible with Windows NT kernel API. | `CONFIG_NTSYNC` · [kernel_patches/common/ntsync](https://github.com/WildKernels/kernel_patches/tree/main/common/ntsync) |
+| NTSync | High-performance synchronization primitives compatible with Windows NT kernel API. | [WildKernels/kernel_patches](https://github.com/WildKernels/kernel_patches/tree/main/common/ntsync) |
 | Performance Tuning | Kernel configuration and tuning options | [WildKernels/kernel_patches](https://github.com/WildKernels/kernel_patches/tree/main/common) |
 
+---
+
 ## Container Runtime
 
 | Feature | Description | Source |
@@ -63,6 +108,5 @@ Per-feature documentation for the GKI2 kernels built from this repository.
 
 ---
 
-**Installation** - see [Installation Guide](installation.md).
-
-**Release Notes** - for build-specific version/commit info, see the [release workflow](https://github.com/WildKernels/GKI_KernelSU_SUSFS/actions/workflows/main.yml) or the releases page.
+> [!TIP]
+> **Installation** — see [Installation Guide](installation.md).

+ 45 - 8
docs/installation.md

@@ -1,22 +1,59 @@
 # Installation
 
 > [!CAUTION]
-> Flashing a kernel can brick your device and will void your warranty. Make a full backup (boot partition at minimum) before proceeding.
+> Wild Kernels is not responsible for bricked devices or damage. By flashing, you assume all risk. Back up your data and understand the risks before flashing.
 
-Choose the method that fits your situation:
+## Choose your method
 
 | Method | When to use | Requires root | Guide |
 |--------|-------------|---------------|-------|
 | **Kernel Flasher** | Upgrading with root already available, no PC needed | Yes | [kernelflasher.md](kernelflasher.md) |
 | **magiskboot** | When you want to flash a pre-patched `boot.img` directly (no pre-rooted setup required) | No | [magiskboot.md](magiskboot.md) |
-| **PixelFlasher** | If you have zero flashing experience, a PC and a Pixel - other devices can work but are not officially supported | No | [pixelflasher.md](pixelflasher.md) |
 
-## After flashing (both methods)
+## Prerequisites
 
-- Install / update the matching KernelSU manager APK (`manager-apk-*`).
-- If using SUSFS, install the SUSFS module.
-- Verify root with `su` or manager app.
+- [ ] GKI 2.0 device with an unlocked bootloader
+- [ ] Full backup (at minimal the `boot` partition or have a stock unmodified `boot.img`)
+- [ ] Correct AnyKernel3 ZIP for your kernel version from [Releases](https://github.com/WildKernels/GKI_KernelSU_SUSFS/releases)
+
+### Supported versions
+
+Only GKI 2.0 is supported — check marks show builds provided by this project:
+
+| Pre-GKI | GKI 1.0 | GKI 2.0 |
+|---------|---------|---------|
+| 3.10.x | 5.4.x | 5.10.x-android12 ✓ |
+| 3.18.x | | 5.10.x-android13 ✓ |
+| 4.4.x | | 5.15.x-android13 ✓ |
+| 4.9.x | | 5.15.x-android14 ✓ |
+| 4.14.x | | 6.1.x-android14 ✓ |
+| 4.19.x | | 6.6.x-android15 ✓ |
+| | | 6.12.x-android16 ✓ |
+
+For Pre-GKI or GKI 1.0 kernels, contact [@TheWildJames](https://t.me/TheWildJames) to discuss possiblities.
+
+> [!IMPORTANT]
+> Match by the full kernel version (e.g., `6.1.x-androidXX`) — your device's Android version and the `androidXX` in the kernel version are not necessarily the same. For example, as of writing, a Google Pixel 8 is on `6.1.157-android14` while the system Android is 17.
+
+## After flashing
+
+See [Post-Install — Verify & Finish Setup](post-install.md) for manager install, SUSFS module, and verification steps.
 
 ---
 
-See also: [Kernel Features Documentation](features.md) · [Releases](https://github.com/WildKernels/GKI_KernelSU_SUSFS/releases)
+## Other methods
+
+<details>
+<summary>Alternative flashing tools</summary>
+
+- [PixelFlasher](https://github.com/badabing2005/PixelFlasher)
+- [Franco Kernel Manager](https://play.google.com/store/apps/details?id=com.franco.kernel&hl=en_CA&pli=1)
+
+</details>
+
+---
+
+> [!NOTE]
+> Portions of this documentation are adapted from the official [KernelSU documentation](https://kernelsu.org/).
+
+See also: [Kernel Features Documentation](features.md)

+ 21 - 15
docs/kernelflasher.md

@@ -4,43 +4,49 @@
 > This method is more convenient when upgrading KernelSU and can be done without a computer. Make a backup first.
 
 > [!CAUTION]
-> Flashing a kernel can brick your device and will void your warranty. Make a full backup (boot partition at minimum) before proceeding.
+> Wild Kernels is not responsible for bricked devices or damage. By flashing, you assume all risk. Back up your data and understand the risks before flashing.
 
 ## Prerequisites
 
-- Device with unlocked bootloader running a GKI2 kernel 5.10+
-- Root access already granted to the flashing app
+- [ ] Device with unlocked bootloader running a GKI2 kernel 5.10+
+- [ ] Root access already granted to the flashing app
 
 ## Steps
 
-1. **Download the AnyKernel3 ZIP** that matches your kernel version (e.g., `6.1.157-android14`) from the latest [Releases](https://github.com/WildKernels/GKI_KernelSU_SUSFS/releases) page.
+1. **Download the AnyKernel3 ZIP** that matches your kernel version (e.g., `6.1.x-androidXX`) from the latest [Releases](https://github.com/WildKernels/GKI_KernelSU_SUSFS/releases) page.
 2. **Open the Kernel Flasher app**, grant necessary root permissions when prompted.
 3. **Select the AnyKernel3 ZIP** you downloaded and flash. Do not interrupt the process.
 4. **Reboot** when prompted and verify KernelSU manager shows the expected version.
 
 > [!NOTE]
-> Match by the full kernel version (e.g., `6.1.157-android14`) - your device's Android version and the `android14` in the kernel version are not necessarily the same.
+> Match by the full kernel version (e.g., `6.1.x-androidXX`) — your device's Android version and the `androidXX` in the kernel version are not necessarily the same. For example, as of writing, a Google Pixel 8 is on `6.1.157-android14` while the system Android is 17.
 
-This requires the flashing app to have root permissions. On first install from stock (no root yet), flash via recovery or fastboot instead, then use this method for subsequent upgrades.
+> [!TIP]
+> This requires the flashing app to have root permissions. On first install from stock (no root yet), flash via recovery or fastboot instead, then use this method for subsequent upgrades.
 
 ## Supported flashing apps
 
-- [Kernel Flasher](https://github.com/fatalcoder524/KernelFlasher) - recommended, actively maintained
+| App | Notes |
+|-----|-------|
+| [Kernel Flasher](https://github.com/fatalcoder524/KernelFlasher) | Recommended, actively maintained |
 
-Requires root to flash a kernel from within Android. See also [PixelFlasher](pixelflasher.md) - alternative with advanced options.
+> [!WARNING]
+> Requires root to flash a kernel from within Android.
 
 ## After flashing
 
-- Install / update the matching KernelSU manager APK (see release assets `manager-apk-*`).
-- If using SUSFS, install the SUSFS module via the manager.
-- Verify with `su` or manager app that root is working.
+See [Post-Install — Verify & Finish Setup](post-install.md) for manager install, SUSFS module, and verification.
 
 ## Troubleshooting
 
-- **Bootloop** - restore your boot backup via fastboot/recovery.
-- **Wrong KMI** - re-flash with the correct KMI variant; KMI mismatch is the most common failure.
-- **Manager shows old version** - ensure you flashed the intended variant and rebooted fully.
+<details>
+<summary>Common issues</summary>
+
+- **Bootloop** — restore a stock boot.img via fastboot/recovery.
+- **Manager and kernel version do not match (e.g. 31000 != 32000)** — for best compatibility ensure both match. Install the latest kernel and manager linked in the release and reboot fully.
+
+</details>
 
 ---
 
-Related: [Installation Overview](installation.md) · [Patch boot.img Manually](magiskboot.md) · [Releases](https://github.com/WildKernels/GKI_KernelSU_SUSFS/releases)
+Related: [Installation Overview](installation.md) · [Patch boot.img Manually](magiskboot.md)

+ 69 - 91
docs/magiskboot.md

@@ -1,28 +1,26 @@
 # Patch boot.img Manually (magiskboot)
 
-For some devices, the `boot.img` format isn't as common as `lz4`, `gz`, and uncompressed. A typical example is the Pixel, where the `boot.img` is compressed in the `lz4_legacy` format, while the ramdisk may be in `gz` or also compressed in `lz4_legacy`. Currently, if you directly flash the `boot.img` provided by KernelSU, the device may not be able to boot. In this case, you can manually patch the `boot.img`.
-
 > [!CAUTION]
-> Flashing a kernel can brick your device and will void your warranty. Make a full backup (boot partition at minimum) before proceeding.
+> Wild Kernels is not responsible for bricked devices or damage. By flashing, you assume all risk. Back up your data and understand the risks before flashing.
 
 > [!TIP]
-> It's always recommended to use `magiskboot` to patch images. There are two ways:
-> - [magiskboot (official)](https://github.com/topjohnwu/Magisk/releases) - runs on Android devices (and Linux)
-> - [WildKernels/Magisk (W.I.P.)](https://github.com/WildKernels/Magisk) - cross-built binaries for Windows/macOS/Linux PCs (W.I.P.)
->
+> It's always recommended to use `magiskboot` to patch images — use the [official build](https://github.com/topjohnwu/Magisk/releases), which runs on Android devices and Linux.
 
-**Platforms:** [Android](#using-magiskboot-on-android-devices) · [Linux](#using-magiskboot-on-linux) · [Windows / Other](#using-magiskboot-on-windows--other)
+**Platforms:** [Android](#-android) · [Linux](#-linux)
 
 ## Preparation
 
 1. Get your device's stock `boot.img`.
-2. Download the AnyKernel3 ZIP file that matches your kernel version (e.g., `6.1.157-android14`).
+2. Download the AnyKernel3 ZIP file that matches your kernel version (e.g., `6.1.x-androidXX`).
 3. Unpack the AnyKernel3 package and get the `Image` file, which is the kernel file of KernelSU.
 
 > [!NOTE]
-> Match by the full kernel version (e.g., `6.1.157-android14`) - your device's Android version and the `android14` in the kernel version are not necessarily the same.
+> Match by the full kernel version (e.g., `6.1.x-androidXX`) — your device's Android version and the `androidXX` in the kernel version are not necessarily the same. For example, as of writing, a Google Pixel 8 is on `6.1.157-android14` while the system Android is 17.
+
+---
 
-## Using magiskboot on Android devices
+<details>
+<summary><b> Android</b> — via adb + <code>libmagiskboot.so</code></summary>
 
 Folder structure on device (`/data/local/tmp/`):
 
@@ -36,39 +34,47 @@ Folder structure on device (`/data/local/tmp/`):
 1. Download latest Magisk from [GitHub Releases](https://github.com/topjohnwu/Magisk/releases).
 2. Rename `Magisk-*(version).apk` to `Magisk-*.zip` and unzip it.
 3. Push `libmagiskboot.so` to your device by ADB:
-   ```sh
-   adb push Magisk-*/lib/arm64-v8a/libmagiskboot.so /data/local/tmp/magiskboot
-   ```
+  ```sh
+  adb push Magisk-*/lib/arm64-v8a/libmagiskboot.so /data/local/tmp/magiskboot
+  ```
 4. Push stock `boot.img` and `Image` from AnyKernel3 to your device:
-   ```sh
-   adb push boot.img /data/local/tmp/
-   adb push Image /data/local/tmp/
-   ```
+  ```sh
+  adb push boot.img /data/local/tmp/
+  adb push Image /data/local/tmp/
+  ```
 5. Enter ADB shell and make it executable:
-   ```sh
-   adb shell
-   cd /data/local/tmp/
-   chmod +x magiskboot
-   ```
+  ```sh
+  adb shell
+  cd /data/local/tmp/
+  chmod +x magiskboot
+  ```
 6. Unpack `boot.img`:
-   ```sh
-   ./magiskboot unpack boot.img
-   ```
-   You will get a `kernel` file - this is your stock kernel.
-7. Replace kernel with the KernelSU Image:
-   ```sh
-   mv -f Image kernel
-   ```
+  ```sh
+  ./magiskboot unpack boot.img
+  ```
+  You will get a `kernel` file — this is your stock kernel.
+
+7. Replace the kernel with the KernelSU `Image`:
+  ```sh
+  mv -f Image kernel
+  ```
 8. Repack the boot image:
-   ```sh
-   ./magiskboot repack boot.img
-   ```
-   You will get a `new-boot.img` file. Flash this file to your device by fastboot:
-   ```sh
-   fastboot flash boot new-boot.img
-   ```
+  ```sh
+  ./magiskboot repack boot.img
+  ```
+  You will get a `new-boot.img` file.
+
+9. To temporarily test you can run `fastboot boot new-boot.img`.
 
-## Using magiskboot on Linux
+10. Flash it by fastboot:
+  ```sh
+  fastboot flash boot new-boot.img
+  ```
+
+</details>
+
+<details>
+<summary><b> Linux</b> — official magiskboot</summary>
 
 Folder structure on PC:
 
@@ -79,66 +85,38 @@ Folder structure on PC:
 └── Image
 ```
 
-Official `magiskboot` can run in Linux normally - use the [official build](https://github.com/topjohnwu/Magisk/releases). If you prefer, you can also use [WildKernels/Magisk (W.I.P.)](https://github.com/WildKernels/Magisk).
+Official `magiskboot` can run in Linux normally  use the [official build](https://github.com/topjohnwu/Magisk/releases).
 
 1. Prepare stock `boot.img` and `Image` in your PC.
 2. Make it executable:
-   ```sh
-   chmod +x magiskboot
-   ```
+  ```sh
+  chmod +x magiskboot
+  ```
 3. Unpack `boot.img`:
-   ```sh
-   ./magiskboot unpack boot.img
-   ```
-   You will get a `kernel` file - this is your stock kernel.
-4. Replace kernel:
-   ```sh
-   mv -f Image kernel
-   ```
+  ```sh
+  ./magiskboot unpack boot.img
+  ```
+  You will get a `kernel` file — this is your stock kernel.
+
+4. Replace the kernel:
+  ```sh
+  mv -f Image kernel
+  ```
 5. Repack:
-   ```sh
-   ./magiskboot repack boot.img
-   ```
-   You will get a `new-boot.img` file. Flash it by fastboot:
-   ```sh
-   fastboot flash boot new-boot.img
-   ```
+  ```sh
+  ./magiskboot repack boot.img
+  ```
+  You will get a `new-boot.img` file.
 
-## Using magiskboot on Windows / Other
+6. To temporarily test you can run `fastboot boot new-boot.img`.
 
-Folder structure on PC:
-
-```
-.
-├── magiskboot.exe
-├── boot.img
-└── Image
-```
+7. Flash it by fastboot:
+  ```sh
+  fastboot flash boot new-boot.img
+  ```
 
-1. Download the corresponding `magiskboot` binary for your OS from [WildKernels/Magisk (W.I.P.)](https://github.com/WildKernels/Magisk).
-2. Prepare stock `boot.img` and `Image` in your PC.
-3. Make it executable:
-   ```sh
-   chmod +x magiskboot
-   ```
-4. Unpack `boot.img`:
-   ```sh
-   ./magiskboot unpack boot.img
-   ```
-   You will get a `kernel` file - this is your stock kernel.
-5. Replace kernel:
-   ```sh
-   mv -f Image kernel
-   ```
-6. Repack:
-   ```sh
-   ./magiskboot repack boot.img
-   ```
-   You will get a `new-boot.img` file. Flash it by fastboot:
-   ```sh
-   fastboot flash boot new-boot.img
-   ```
+</details>
 
 ---
 
-Related: [Installation Overview](installation.md) · [Install with Kernel Flasher](kernelflasher.md) · [Releases](https://github.com/WildKernels/GKI_KernelSU_SUSFS/releases)
+Related: [Installation Overview](installation.md) · [Install with Kernel Flasher](kernelflasher.md)

+ 0 - 42
docs/pixelflasher.md

@@ -1,42 +0,0 @@
-# Install with PixelFlasher
-
-Alternative flashing app with advanced options.
-
-> [!CAUTION]
-> Flashing a kernel can brick your device and will void your warranty. Make a full backup (boot partition at minimum) before proceeding.
-
-## Prerequisites
-
-- Device with unlocked bootloader running a GKI2 kernel 5.10+
-- Root access already granted to the flashing app
-
-## Steps
-
-1. **Download the AnyKernel3 ZIP** that matches your kernel version (e.g., `6.1.157-android14`) from the latest [Releases](https://github.com/WildKernels/GKI_KernelSU_SUSFS/releases) page.
-2. **Open PixelFlasher**, grant necessary root permissions when prompted.
-3. **Select the AnyKernel3 ZIP** you downloaded and flash. Do not interrupt the process.
-4. **Reboot** when prompted and verify KernelSU manager shows the expected version.
-
-> [!NOTE]
-> Match by the full kernel version (e.g., `6.1.157-android14`) - your device's Android version and the `android14` in the kernel version are not necessarily the same.
-
-## About
-
-- **Source:** [badabing2005/PixelFlasher](https://github.com/badabing2005/PixelFlasher) - alternative with advanced options
-- Requires root to flash a kernel from within Android.
-
-## After flashing
-
-- Install / update the matching KernelSU manager APK (see release assets `manager-apk-*`).
-- If using SUSFS, install the SUSFS module via the manager.
-- Verify with `su` or manager app that root is working.
-
-## Troubleshooting
-
-- **Bootloop** - restore your boot backup via fastboot/recovery.
-- **Wrong KMI** - re-flash with the correct KMI variant; KMI mismatch is the most common failure.
-- **Manager shows old version** - ensure you flashed the intended variant and rebooted fully.
-
----
-
-Related: [Installation Overview](installation.md) · [Install with Kernel Flasher](kernelflasher.md) · [Patch boot.img Manually](magiskboot.md) · [Releases](https://github.com/WildKernels/GKI_KernelSU_SUSFS/releases)

+ 58 - 0
docs/post-install.md

@@ -0,0 +1,58 @@
+# Post-Install — Verify & Finish Setup
+
+After flashing a Wild Kernels GKI kernel, do these checks to make sure everything is working.
+
+> [!TIP]
+> Follow in order — each step depends on the previous one.
+
+## 1. Download matching manager — KernelSU / KernelSU-Next / ReSukiSU
+
+- [ ] Download the `manager-apk-*` from the same [Releases](https://github.com/WildKernels/GKI_KernelSU_SUSFS/releases) page you got the kernel from.
+- [ ] Install / update it over any existing manager.
+- [ ] Open the manager — it should show the kernel version you just flashed (e.g. `6.1.x-androidXX-Wild`).
+- [ ] Verify it reports "Working" / shows the correct version.
+
+## 2. SUSFS
+
+- [ ] In the manager, install the [sidex15/susfs4ksu-module](https://github.com/sidex15/susfs4ksu-module) (recommended module for SUSFS).
+- [ ] Reboot after installing the module.
+
+## 3. Meta Module (if mounting modules)
+
+If you need to mount modules, install one of:
+
+- [ ] [NoMount](https://github.com/maxsteeel/nomount) (Recommended) — Download the `NoMount-metamodule-*commit*.zip` from the same [Releases](https://github.com/WildKernels/GKI_KernelSU_SUSFS/releases) page you got the kernel from
+- [ ] [Mountify](https://github.com/backslashxx/mountify) — you can always use the latest module if compatible with SUSFS used at time of Release
+
+> [!NOTE]
+> Only one is required if mounting modules. Compatibility with SUSFS shifts due to constant changes and it is not always compatible.
+
+## 4. DroidSpaces
+
+- [ ] Download the app here: [ravindu644/Droidspaces-OSS](https://github.com/ravindu644/Droidspaces-OSS)
+
+## 5. Troubleshooting
+
+<details>
+<summary><b> Common issues</b></summary>
+
+- **General issues** — try restarting your device.
+- **Bootloop** — restore a stock boot.img via fastboot/recovery.
+- **Manager and kernel version do not match (e.g. 31000 != 32000)** — for best compatibility ensure both match. Install the latest kernel and manager linked in the release and reboot fully.
+- **Root not working** — ensure you installed the manager matching the flashed flavor (KernelSU / KernelSU-Next / ReSukiSU).
+
+</details>
+
+<details>
+<summary><b> Nuclear option</b></summary>
+
+Uninstall all modules and reboot, then delete all files and folders in the `/data/adb` folder. Reboot again and confirm no leftover files remain.
+
+> [!CAUTION]
+> This wipes all KernelSU/Magisk module data — only use if nothing else works.
+
+</details>
+
+---
+
+Related: [Installation Overview](installation.md) · [Install with Kernel Flasher](kernelflasher.md) · [Patch boot.img Manually](magiskboot.md)

+ 75 - 0
docs/supported-devices.md

@@ -0,0 +1,75 @@
+# Supported Devices
+
+> [!TIP]
+> Looking for your device? Use `Ctrl+F` / `+F` to search this page. GKI 2.0 devices not listed may still work — try matching your kernel version (`6.1.x-androidXX`).
+
+> [!NOTE]
+> These lists are maintained by the community — please update as needed!
+
+## Google Pixel
+
+> [!NOTE]
+> Wild Kernels GKI builds are **Generic** (GKI 2.0, 5.10+). This table lists Pixel devices commonly tested / expected to work. Being GKI-based, many other GKI 2.0 devices may work — Pixel entries are just the primary tested matrix.
+
+*Last updated: 2026-08-30 — covers Pixel 6 through Pixel 9a (latest available). Pixel 10/11 will be added as they release.*
+
+| Device | Codename | GKI Kernel | Firmware | Status |
+|--------|----------|------------|----------|--------|
+| Pixel 6 | oriole | android14-6.1 | stock | Supported · 2026-08-30 |
+| Pixel 6 Pro | raven | android14-6.1 | stock | Supported · 2026-08-30 |
+| Pixel 6a | bluejay | android14-6.1 | stock | Supported · 2026-08-30 |
+| Pixel 7 | panther | android14-6.1 | stock | Supported · 2026-08-30 |
+| Pixel 7 Pro | cheetah | android14-6.1 | stock | Supported · 2026-08-30 |
+| Pixel 7a | lynx | android14-6.1 | stock | Supported · 2026-08-30 |
+| Pixel Fold | felix | android14-6.1 | stock | Supported · 2026-08-30 |
+| Pixel Tablet | tangorpro | android14-6.1 | stock | Supported · 2026-08-30 |
+| Pixel 8 | shiba | android14-6.1 | stock | Supported · 2026-08-30 |
+| Pixel 8 Pro | husky | android14-6.1 | stock | Supported · 2026-08-30 |
+| Pixel 8a | akita | android14-6.1 | stock | Supported · 2026-08-30 |
+| Pixel 9 | tokay | android14-6.1 | stock | Supported · 2026-08-30 |
+| Pixel 9 Pro | caiman | android14-6.1 | stock | Supported · 2026-08-30 |
+| Pixel 9 Pro XL | komodo | android14-6.1 | stock | Supported · 2026-08-30 |
+| Pixel 9 Pro Fold | comet | android14-6.1 | stock | Supported · 2026-08-30 |
+| Pixel 9a | tegu | android14-6.1 | stock | Supported · 2026-08-30 |
+
+## Samsung
+
+| Device | Codename | GKI Kernel | Firmware | Status |
+|--------|----------|------------|----------|--------|
+| — | — | — | — | Placeholder — add entries |
+
+## OnePlus
+
+| Device | Codename | GKI Kernel | Firmware | Status |
+|--------|----------|------------|----------|--------|
+| — | — | — | — | Placeholder — add entries |
+
+## OPPO
+
+| Device | Codename | GKI Kernel | Firmware | Status |
+|--------|----------|------------|----------|--------|
+| — | — | — | — | Placeholder — add entries |
+
+## Realme
+
+| Device | Codename | GKI Kernel | Firmware | Status |
+|--------|----------|------------|----------|--------|
+| — | — | — | — | Placeholder — add entries |
+
+## Xiaomi / POCO / Redmi
+
+| Device | Codename | GKI Kernel | Firmware | Status |
+|--------|----------|------------|----------|--------|
+| — | — | — | — | Placeholder — add entries |
+
+## Nothing
+
+| Device | Codename | GKI Kernel | Firmware | Status |
+|--------|----------|------------|----------|--------|
+| — | — | — | — | Placeholder — add entries |
+
+## Other
+
+| Device | Codename | GKI Kernel | Firmware | Status |
+|--------|----------|------------|----------|--------|
+| — | — | — | — | Placeholder — add entries |