You've already forked KernelSU
mirror of
https://github.com/tiann/KernelSU.git
synced 2025-08-27 23:46:34 +00:00
6 lines
25 KiB
JavaScript
6 lines
25 KiB
JavaScript
import{_ as a,o as l,c as t,Q as o,k as e,a as i}from"./chunks/framework.ec8f7e8e.js";const y=JSON.parse('{"title":"Установка","description":"","frontmatter":{},"headers":[],"relativePath":"ru_RU/guide/installation.md","filePath":"ru_RU/guide/installation.md"}'),r={name:"ru_RU/guide/installation.md"},n=o(`<h1 id="title" tabindex="-1">Установка <a class="header-anchor" href="#title" aria-label="Permalink to "Установка {#title}""></a></h1><h2 id="check-if-supported" tabindex="-1">Проверьте, поддерживается ли ваше устройство <a class="header-anchor" href="#check-if-supported" aria-label="Permalink to "Проверьте, поддерживается ли ваше устройство {#check-if-supported}""></a></h2><p>Скачайте приложение менеджера KernelSU с сайта <a href="https://github.com/tiann/KernelSU/releases" target="_blank" rel="noreferrer">GitHub Releases</a> или <a href="https://www.coolapk.com/apk/me.weishu.kernelsu" target="_blank" rel="noreferrer">Coolapk market</a> и установите его на устройство:</p><ul><li>Если приложение показывает <code>Unsupported</code>, это означает, что <strong>Вы должны скомпилировать ядро самостоятельно</strong>, KernelSU не будет и никогда не предоставит Вам загрузочный образ для прошивки.</li><li>Если приложение показывает <code>Не установлено</code>, значит, ваши устройства официально поддерживаются KernelSU.</li></ul><div class="info custom-block"><p class="custom-block-title">INFO</p><p>Для устройств, показывающих <code>Unsupported</code>, здесь находится <a href="./unofficially-support-devices.html">Unofficially-support-devices</a>, вы можете скомпилировать ядро самостоятельно.</p></div><h2 id="backup-boot-image" tabindex="-1">Резервное копирование стокового файла boot.img <a class="header-anchor" href="#backup-boot-image" aria-label="Permalink to "Резервное копирование стокового файла boot.img {#backup-boot-image}""></a></h2><p>Перед прошивкой необходимо создать резервную копию файла boot.img. Если возникнет ошибка загрузки, вы всегда сможете восстановить систему, перепрошив ее на заводскую загрузку с помощью fastboot.</p><div class="warning custom-block"><p class="custom-block-title">WARNING</p><p>Прошивка может привести к потере данных, поэтому обязательно выполните этот шаг перед переходом к следующему шагу!!! При необходимости можно также создать резервную копию всех данных на телефоне.</p></div><h2 id="acknowage" tabindex="-1">Необходимые знания <a class="header-anchor" href="#acknowage" aria-label="Permalink to "Необходимые знания {#acknowage}""></a></h2><h3 id="adb-and-fastboot" tabindex="-1">ADB и fastboot <a class="header-anchor" href="#adb-and-fastboot" aria-label="Permalink to "ADB и fastboot {#adb-and-fastboot}""></a></h3><p>По умолчанию в этом руководстве вы будете использовать инструменты ADB и fastboot, поэтому, если вы их не знаете, рекомендуем сначала воспользоваться поисковой системой, чтобы узнать о них.</p><h3 id="kmi" tabindex="-1">KMI <a class="header-anchor" href="#kmi" aria-label="Permalink to "KMI""></a></h3><p>Kernel Module Interface (KMI), версии ядра с одинаковым KMI <strong>совместимы</strong> Это то, что в GKI означает "общий"; наоборот, если KMI отличается, то эти ядра несовместимы друг с другом, и прошивка образа ядра с другим KMI, чем у вашего устройства, может привести к bootloop.</p><p>В частности, для устройств GKI формат версии ядра должен быть следующим:</p><div class="language-txt vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">txt</span><pre class="shiki github-dark vp-code-dark"><code><span class="line"><span style="color:#e1e4e8;">KernelRelease :=</span></span>
|
||
<span class="line"><span style="color:#e1e4e8;">Version.PatchLevel.SubLevel-AndroidRelease-KmiGeneration-suffix</span></span>
|
||
<span class="line"><span style="color:#e1e4e8;">w .x .y -zzz -k -something</span></span></code></pre><pre class="shiki github-light vp-code-light"><code><span class="line"><span style="color:#24292e;">KernelRelease :=</span></span>
|
||
<span class="line"><span style="color:#24292e;">Version.PatchLevel.SubLevel-AndroidRelease-KmiGeneration-suffix</span></span>
|
||
<span class="line"><span style="color:#24292e;">w .x .y -zzz -k -something</span></span></code></pre></div><p><code>w.x-zz-k</code> - версия KMI. Например, если версия ядра устройства <code>5.10.101-android12-9-g30979850fc20</code>, то его KMI - <code>5.10-android12-9</code>; теоретически оно может нормально загружаться с другими ядрами KMI.</p><div class="tip custom-block"><p class="custom-block-title">TIP</p><p>Обратите внимание, что SubLevel в версии ядра не является частью KMI! Это означает, что <code>5.10.101-android12-9-g30979850fc20</code> имеет тот же KMI, что и <code>5.10.137-android12-9-g30979850fc20</code>!</p></div><h3 id="kernel-version-vs-android-version" tabindex="-1">Версия ядра и версия Android <a class="header-anchor" href="#kernel-version-vs-android-version" aria-label="Permalink to "Версия ядра и версия Android {#kernel-version-vs-android-version}""></a></h3><p>Обратите внимание: <strong>Версия ядра и версия Android - это не обязательно одно и то же!</strong></p><p>Если вы обнаружили, что версия ядра <code>android12-5.10.101</code>, а версия системы Android - Android 13 или другая, не удивляйтесь, поскольку номер версии системы Android не обязательно совпадает с номером версии ядра Linux; Номер версии ядра Linux обычно соответствует версии системы Android, поставляемой с <strong>устройством при его поставке</strong>. При последующем обновлении системы Android версия ядра, как правило, не меняется. При необходимости прошивки <strong>укажите версию ядра!!!</strong>.</p><h2 id="installation-introduction" tabindex="-1">Введение <a class="header-anchor" href="#installation-introduction" aria-label="Permalink to "Введение {#installation-introduction}""></a></h2><p>Существует несколько способов установки KernelSU, каждый из которых подходит для разных сценариев, поэтому выбирайте их по своему усмотрению.</p><ol><li>Установка с помощью пользовательского Recovery (например, TWRP)</li><li>Установка с помощью приложения для прошивки ядра, например, Franco Kernel Manager</li><li>Установка с помощью fastboot с использованием boot.img, предоставленного KernelSU</li><li>Восстановить boot.img вручную и установить его</li></ol><h2 id="install-by-recovery" tabindex="-1">Установка с помощью пользовательского Recovery <a class="header-anchor" href="#install-by-recovery" aria-label="Permalink to "Установка с помощью пользовательского Recovery {#install-by-recovery}""></a></h2><p>Необходимые условия: На устройстве должен быть установлен пользовательский Recovery, например TWRP; если его нет или доступен только официальный Recovery, воспользуйтесь другим способом.</p><p>Шаг:</p><ol><li>С <a href="https://github.com/tiann/KernelSU/releases" target="_blank" rel="noreferrer">Release page</a> KernelSU загрузите zip-пакет, начинающийся с AnyKernel3, который соответствует версии вашего телефона; например, версия ядра телефона - <code>android12-5.10. 66</code>, то следует скачать файл <code>AnyKernel3-android12-5.10.66_yyy-MM.zip</code> (где <code>yyyy</code> - год, а <code>MM</code> - месяц).</li><li>Перезагрузите телефон в TWRP.</li><li>С помощью adb поместите AnyKernel3-*.zip в /sdcard телефона и выберите установку в графическом интерфейсе TWRP; или вы можете напрямую <code>adb sideload AnyKernel-*.zip</code> для установки.</li></ol><p>PS. Данный способ подходит для любой установки (не ограничиваясь начальной установкой или последующими обновлениями), если вы используете TWRP.</p><h2 id="install-by-kernel-flasher" tabindex="-1">Установка с помощью Kernel Flasher <a class="header-anchor" href="#install-by-kernel-flasher" aria-label="Permalink to "Установка с помощью Kernel Flasher {#install-by-kernel-flasher}""></a></h2><p>Необходимые условия: Ваше устройство должно быть рутованным. Например, вы установили Magisk, чтобы получить root, или установили старую версию KernelSU и должны обновить ее до другой версии; если ваше устройство не укоренено, попробуйте другие методы.</p><p>Шаг:</p><ol><li>Загрузите zip-архив AnyKernel3; инструкции по загрузке см. в разделе <em>Установка с помощью пользовательского Recovery</em>.</li><li>Откройте приложение для прошивки ядра и используйте предоставленный AnyKernel3 zip для прошивки.</li></ol><p>Если вы раньше не использовали приложение для прошивки ядра, то наиболее популярными являются следующие.</p><ol><li><a href="https://github.com/capntrips/KernelFlasher/releases" target="_blank" rel="noreferrer">Kernel Flasher</a></li><li><a href="https://play.google.com/store/apps/details?id=com.franco.kernel" target="_blank" rel="noreferrer">Franco Kernel Manager</a></li><li><a href="https://play.google.com/store/apps/details?id=flar2.exkernelmanager" target="_blank" rel="noreferrer">Ex Kernel Manager</a></li></ol><p>PS. Этот способ более удобен при обновлении KernelSU и может быть выполнен без компьютера (сначала сделайте резервную копию!). .</p><h2 id="install-by-kernelsu-boot-image" tabindex="-1">Установка с помощью boot.img, предоставленного KernelSU <a class="header-anchor" href="#install-by-kernelsu-boot-image" aria-label="Permalink to "Установка с помощью boot.img, предоставленного KernelSU {#install-by-kernelsu-boot-image}""></a></h2><p>Этот способ не требует наличия TWRP и root-прав на телефоне; он подходит для первой установки KernelSU.</p><h3 id="found-propery-image" tabindex="-1">Найти подходящий boot.img <a class="header-anchor" href="#found-propery-image" aria-label="Permalink to "Найти подходящий boot.img {#found-propery-image}""></a></h3><p>KernelSU предоставляет общий boot.img для устройств GKI, и его необходимо прошить в загрузочный раздел устройства.</p><p>Вы можете загрузить boot.img с <a href="https://github.com/tiann/KernelSU/releases" target="_blank" rel="noreferrer">GitHub Release</a>, обратите внимание, что вы должны использовать правильную версию boot.img. Например, если на устройстве установлено ядро <code>android12-5.10.101</code>, то необходимо загрузить <code>android-5.10.101_yyy-MM.boot-<format>.img</code>. , необходимо загрузить <code>android-5.10.101_yyy-MM.boot-<format>.img</code>.(Соблюдайте соответствие KMI!).</p><p>Где <code><format></code> означает формат сжатия ядра в официальном boot.img, проверьте формат сжатия ядра в оригинальном boot.img, вы должны использовать правильный формат, например, <code>lz4</code>, <code>gz</code>; если вы используете неправильный формат сжатия, вы можете столкнуться с bootloop.</p><div class="info custom-block"><p class="custom-block-title">INFO</p><ol><li>Вы можете использовать magiskboot для получения формата сжатия исходной загрузки; конечно, вы также можете спросить других, более опытных ребят с той же моделью, что и ваше устройство. Кроме того, формат сжатия ядра обычно не меняется, поэтому, если вы успешно загрузились с определенным форматом сжатия, вы можете попробовать этот формат позже.</li><li>Устройства Xiaomi обычно используют <code>gz</code> или <strong>без сжатия</strong>.</li><li>Для устройств Pixel следуйте приведенным ниже инструкциям.</li></ol></div><h3 id="flash-boot-image" tabindex="-1">прошить boot.img на устройство <a class="header-anchor" href="#flash-boot-image" aria-label="Permalink to "прошить boot.img на устройство {#flash-boot-image}""></a></h3><p>Используйте <code>adb</code> для подключения устройства, затем выполните <code>adb reboot bootloader</code> для входа в режим fastboot, после чего используйте эту команду для прошивки KernelSU:</p><div class="language-sh vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">sh</span><pre class="shiki github-dark vp-code-dark"><code><span class="line"><span style="color:#B392F0;">fastboot</span><span style="color:#E1E4E8;"> </span><span style="color:#9ECBFF;">flash</span><span style="color:#E1E4E8;"> </span><span style="color:#9ECBFF;">boot</span><span style="color:#E1E4E8;"> </span><span style="color:#9ECBFF;">boot.img</span></span></code></pre><pre class="shiki github-light vp-code-light"><code><span class="line"><span style="color:#6F42C1;">fastboot</span><span style="color:#24292E;"> </span><span style="color:#032F62;">flash</span><span style="color:#24292E;"> </span><span style="color:#032F62;">boot</span><span style="color:#24292E;"> </span><span style="color:#032F62;">boot.img</span></span></code></pre></div><div class="info custom-block"><p class="custom-block-title">INFO</p><p>Если устройство поддерживает <code>fastboot boot</code>, можно сначала использовать <code>fastboot boot boot.img</code>, чтобы попытаться использовать boot.img для загрузки системы. Если произойдет что-то непредвиденное, перезагрузите его снова для загрузки.</p></div><h3 id="reboot" tabindex="-1">перезагрузка <a class="header-anchor" href="#reboot" aria-label="Permalink to "перезагрузка {#reboot}""></a></h3><p>После завершения прошивки необходимо перезагрузить устройство:</p><div class="language-sh vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">sh</span><pre class="shiki github-dark vp-code-dark"><code><span class="line"><span style="color:#B392F0;">fastboot</span><span style="color:#E1E4E8;"> </span><span style="color:#9ECBFF;">reboot</span></span></code></pre><pre class="shiki github-light vp-code-light"><code><span class="line"><span style="color:#6F42C1;">fastboot</span><span style="color:#24292E;"> </span><span style="color:#032F62;">reboot</span></span></code></pre></div><h2 id="patch-boot-image" tabindex="-1">Исправить boot.img вручную <a class="header-anchor" href="#patch-boot-image" aria-label="Permalink to "Исправить boot.img вручную {#patch-boot-image}""></a></h2><p>Для некоторых устройств формат boot.img не так распространен, например, не <code>lz4</code>, <code>gz</code> или несжатый; наиболее типичным является Pixel, его boot.img имеет формат <code>lz4_legacy</code> со сжатием, ramdisk может быть <code>gz</code>, также может быть <code>lz4_legacy</code> со сжатием; в это время, если напрямую прошить boot.img, предоставляемый KernelSU, телефон может не загрузиться; в это время можно вручную исправить boot.img для достижения цели.</p><p>Как правило, существует два способа исправления:</p><ol><li><a href="https://forum.xda-developers.com/t/tool-android-image-kitchen-unpack-repack-kernel-ramdisk-win-android-linux-mac.2073775/" target="_blank" rel="noreferrer">Android-Image-Kitchen</a></li><li><a href="https://github.com/topjohnwu/Magisk/releases" target="_blank" rel="noreferrer">magiskboot</a></li></ol><p>Среди них Android-Image-Kitchen подходит для работы на ПК, а magiskboot нуждается в сотрудничестве мобильного телефона.</p><h3 id="patch-preparation" tabindex="-1">Подготовка <a class="header-anchor" href="#patch-preparation" aria-label="Permalink to "Подготовка {#patch-preparation}""></a></h3><ol><li>Получите стоковый boot.img вашего телефона; его можно получить у производителя устройства, возможно, вам понадобится <a href="https://github.com/ssut/payload-dumper-go" target="_blank" rel="noreferrer">payload-dumper-go</a></li><li>Загрузите zip-файл AnyKernel3, предоставленный KernelSU, который соответствует версии KMI вашего устройства (можно обратиться к разделу <em>Установка с помощью пользовательского Recovery</em>).</li><li>Распакуйте пакет AnyKernel3 и получите файл <code>Image</code>, который является файлом ядра KernelSU.</li></ol><h3 id="using-android-image-kitchen" tabindex="-1">Использование Android-Image-Kitchen <a class="header-anchor" href="#using-android-image-kitchen" aria-label="Permalink to "Использование Android-Image-Kitchen {#using-android-image-kitchen}""></a></h3><ol><li>Загрузите программу Android-Image-Kitchen на свой компьютер.</li><li>Поместите файл boot.img в корневую папку Android-Image-Kitchen.</li><li>Выполните команду <code>./unpackimg.sh boot.img</code> в корневом каталоге Android-Image-Kitchen, в результате чего boot.img распакуется и появятся некоторые файлы.</li><li>Замените <code>boot.img-kernel</code> в каталоге <code>split_img</code> тем <code>образом</code>, который вы извлекли из AnyKernel3 (обратите внимание на изменение названия на boot.img-kernel).</li><li>Выполните команду <code>./repackimg.sh</code> в корневом каталоге 在 Android-Image-Kitchen; Вы получите файл с именем <code>image-new.img</code>; Прошейте этот boot.img с помощью fastboot (см. предыдущий раздел).</li></ol>`,58),s=e("h3",{id:"using",magiskboot:"",tabindex:"-1"},[i("Использование magiskboot "),e("a",{class:"header-anchor",href:"#using","aria-label":'Permalink to "Использование magiskboot {#using magiskboot}"'},"")],-1),c=o('<ol><li>Загрузите последнюю версию Magisk с <a href="https://github.com/topjohnwu/Magisk/releases" target="_blank" rel="noreferrer">Release Page</a>.</li><li>Переименуйте Magisk-*.apk в Magisk-vesion.zip и разархивируйте его.</li><li>Закачайте <code>Magisk-v25.2/lib/arm64-v8a/libmagiskboot.so</code> на устройство с помощью adb: <code>adb push Magisk-v25.2/lib/arm64-v8a/libmagiskboot.so /data/local/tmp/magiskboot</code>.</li><li>Установите на устройство стоковый boot.img и образ в AnyKernel3.</li><li>Войдите в оболочку adb и перейдите в каталог <code>/data/local/tmp/</code>, затем <code>chmod +x magiskboot</code>.</li><li>Войдите в adb shell и cd директории <code>/data/local/tmp/</code>, выполните команду <code>./magiskboot unpack boot.img</code> для распаковки <code>boot.img</code>, вы получите файл <code>kernel</code>, это и есть ваше стоковое ядро.</li><li>Замените <code>kernel</code> на <code>Image</code>: <code>mv -f Image kernel</code>.</li><li>Выполните команду <code>./magiskboot repack boot.img</code>, чтобы перепаковать boot img, и получите файл <code>new-boot.img</code>, прошейте его на устройство с помощью fastboot.</li></ol><h2 id="other-methods" tabindex="-1">Другие методы <a class="header-anchor" href="#other-methods" aria-label="Permalink to "Другие методы {#other-methods}""></a></h2><p>На самом деле все эти способы установки имеют только одну основную идею - <strong>заменить исходное ядро на ядро, предоставляемое KernelSU</strong>; если это возможно, то установка возможна; например, возможны следующие способы.</p><ol><li>Сначала установить Magisk, получить права root через Magisk, а затем с помощью kernel flasher прошить AnyKernel zip из KernelSU.</li><li>Использовать какой-либо инструментарий для прошивки на ПК, чтобы прошить ядро, предоставленное KernelSU.</li></ol>',4),d=[n,s,c];function p(h,b,g,m,u,k){return l(),t("div",null,d)}const K=a(r,[["render",p]]);export{y as __pageData,K as default};
|