備 4.14+ 內(nèi)核 root:KernelSU 舊內(nèi)核適配完整指南)
老設(shè)備 4.14 內(nèi)核 rootKernelSU 舊內(nèi)核適配完整指南【免費下載鏈接】KernelSUA Kernel based root solution for Android項目地址: https://gitcode.com/GitHub_Trending/ke/KernelSUKernelSU 是運行在內(nèi)核空間的 Android root 方案官方只認(rèn) GKI通用內(nèi)核鏡像一套內(nèi)核通吃多設(shè)備5.10 的設(shè)備。你的老設(shè)備內(nèi)核 ≥ 4.14手動集成后照樣能拿到 root。這是 KernelSU 舊內(nèi)核適配路線。30 秒自檢3 個問題定位你的處境3 個問題問完路線就定了。bootloader 能解鎖嗎不能常見于華為系→ 停止所有路線都走不通能 → 問 2。裝上 KernelSU 管理器后顯示 Not installed 嗎顯示 → 你的設(shè)備被官方支持直接走路線 A顯示 Unsupported → 問 3。內(nèi)核版本 ≥ 4.14 嗎執(zhí)行adb shell uname -r看版本號前兩段如4.19.191-android11-8就是 4.19。低于 4.14 → 停止在官方回移基線之下不建議動手≥ 4.14 → 先去社區(qū)列表搜機型搜到現(xiàn)成預(yù)編譯內(nèi)核走路線 C搜不到走路線 B本文主體。支持邊界速覽一張表官方基線是 5.10 的 GKI 內(nèi)核4.14–5.3 能跑但必須自己動手4.14 以下不建議新手碰。設(shè)備場景結(jié)論推薦路線說明出廠 Android 12 的 GKI 設(shè)備5.10官方支持A管理器里直接刷零編譯非 GKI 設(shè)備內(nèi)核 4.14–5.3可用需自行集成B官方已回移到 4.14手動掛進內(nèi)核即可社區(qū)列表里搜到你的機型可用C別人編譯并集成好的內(nèi)核拿來就用內(nèi)核低于 4.14未達(dá)基線無穩(wěn)妥路線得自己回移核心模塊翻車成本高邊界依據(jù)見 官方 FAQ 關(guān)于舊內(nèi)核的說法最低支持到 4.14更老的版本需手動回移。路線選擇三條適配路徑及怎么選多數(shù)老設(shè)備走 B動手前花 1 分鐘查 C能省一整天的編譯。路線 A官方鏡像直刷只適合 GKI 設(shè)備5.10 內(nèi)核。成本幾乎為零下載對應(yīng) boot.img 直接刷或在管理器里用 LKM可加載內(nèi)核模塊模式不替換原內(nèi)核打補丁。老設(shè)備走不到這條跳過。路線 B舊內(nèi)核手動移植判斷標(biāo)準(zhǔn)就兩條內(nèi)核 ≥ 4.14且內(nèi)核源碼公開、你能編出可啟動的 boot 鏡像。滿足就按第 6 節(jié)的最小步驟做。非 GKI 集成教程是官方參照注意它明確要求用 v0.9.5——v1.0 起官方已放棄非 GKI 支持。路線 C社區(qū)補丁 / 預(yù)編譯非官方支持設(shè)備列表收錄了上百臺老設(shè)備的現(xiàn)成內(nèi)核Redmi、Poco、OnePlus、Pixel 都有。按機型代號搜索搜到就用省下自己編譯搜不到走 B。實戰(zhàn)最小可行移植步驟用 kprobe內(nèi)核自帶的掛鉤機制方式集成5 步跑通每步都有驗收點。目的先有一個能編譯的基線。動作拿到你設(shè)備的公開內(nèi)核源碼原樣編出一個可啟動的 boot 鏡像。預(yù)期不加任何修改就能正常開機。目的把 KernelSU 掛進內(nèi)核源碼樹。動作在內(nèi)核源碼根目錄克隆倉庫并切到最后一個支持非 GKI 的版本git clone https://gitcode.com/GitHub_Trending/ke/KernelSU cd KernelSU git checkout v0.9.5然后回到內(nèi)核源碼根目錄執(zhí)行bash KernelSU/kernel/setup.sh v0.9.5。預(yù)期setup 腳本自動建好drivers/kernelsu軟鏈并在 Makefile、Kconfig 中加好CONFIG_KSU條目。 3.目的打開內(nèi)核鉤子。動作在內(nèi)核配置里確認(rèn)CONFIG_KPROBESy、CONFIG_HAVE_KPROBESy、CONFIG_KPROBE_EVENTSy并在你的 defconfig 設(shè)CONFIG_KSUy選項定義見 kernel/Kconfig。預(yù)期kprobe 全開無需手動改 4 個內(nèi)核文件。 4.目的裝一個自救開關(guān)。動作按官方教程給drivers/input/input.c的input_handle_event打安全模式補丁。預(yù)期開機畫面出現(xiàn)后連按音量減 3 次以上可進安全模式、禁用模塊防啟動循環(huán)。 5.目的驗證。動作編出新 boot 鏡像先fastboot boot boot.img臨時測試fastboot 是 bootloader 模式下的刷機工具此命令只寫內(nèi)存、不落分區(qū)。預(yù)期正常開機、管理器顯示 Not installed、su可用。全過再進入安全刷寫。翻車排查啟動循環(huán)與失效自救翻車就兩類刷進去起不來或者起來了但沒生效。按癥狀對號入座。刷入新鏡像后卡在 logo啟動循環(huán)→ 最可能原因鏡像壓縮格式與原 boot 不一致或內(nèi)核 kprobe 本身有問題。30 秒自救立即重刷備份的 stockboot.img恢復(fù)開機再核對壓縮格式啟動循環(huán)自救指南列了全部情況。能開機但管理器仍顯示 Unsupported 或su無反應(yīng)→ 最可能原因CONFIG_KSU沒設(shè)為y或誤用了 v1.0 之后的主線版本。30 秒自救查 defconfig 和 checkout 的 tag重新編譯先別動分區(qū)。裸集成能開機一裝模塊就循環(huán)重啟→ 最可能原因模塊與老內(nèi)核的掛載機制沖突。30 秒自救開機畫面處連按音量減進安全模式禁用或刪除問題模塊。fastboot flash成功重啟后內(nèi)核版本卻沒變→ 最可能原因A/B 設(shè)備沒刷到活動槽或刷錯了分區(qū)。30 秒自救重刷后adb shell uname -r核對版本A/B 設(shè)備確認(rèn)當(dāng)前 slot。安全刷寫清單驗證 回滾先臨時、后永久、留后路三點齊了再碰分區(qū)。刷寫前備份 boot 分區(qū)從系統(tǒng)導(dǎo)出 stockboot.img沒有 ADB root 就從官方固件包提取存到電腦上。先以fastboot boot boot.img臨時測試只寫內(nèi)存重啟即恢復(fù)原狀確認(rèn)能開機、su生效。確認(rèn)無誤后再永久刷寫fastboot flash boot boot.img然后fastboot reboot。留好回滾路徑啟動循環(huán)時重刷第 1 步的 stockboot.img即可恢復(fù)出廠內(nèi)核。刷好后別裝來路不明的模塊——root 權(quán)限的模塊是變磚頭號原因。結(jié)尾行動清單先做 30 秒自檢確認(rèn)走 A、B 還是 C動手前備份 boot 分區(qū)一切驗證用fastboot boot臨時跑集成只用 v0.9.5開CONFIG_KSUy和安全模式補丁。社區(qū)入口非 GKI 集成教程與非官方支持設(shè)備列表。翻車前先搜一遍大概率有人踩過同樣的坑?!久赓M下載鏈接】KernelSUA Kernel based root solution for Android項目地址: https://gitcode.com/GitHub_Trending/ke/KernelSU創(chuàng)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考