website/docs/ru_RU/guide/installation.md
Скачайте приложение менеджера KernelSU с сайта GitHub Releases и установите его на устройство:
Unsupported, это означает, что Вы должны скомпилировать ядро самостоятельно, KernelSU не будет и никогда не предоставит Вам загрузочный образ для прошивки.Не установлено, значит, ваши устройства официально поддерживаются KernelSU.:::info
Для устройств, показывающих Unsupported, здесь находится Unofficially-support-devices, вы можете скомпилировать ядро самостоятельно.
:::
Перед прошивкой необходимо создать резервную копию файла boot.img. Если возникнет ошибка загрузки, вы всегда сможете восстановить систему, перепрошив ее на заводскую загрузку с помощью fastboot.
::: warning Прошивка может привести к потере данных, поэтому обязательно выполните этот шаг перед переходом к следующему шагу!!! При необходимости можно также создать резервную копию всех данных на телефоне. :::
По умолчанию в этом руководстве вы будете использовать инструменты ADB и fastboot, поэтому, если вы их не знаете, рекомендуем сначала воспользоваться поисковой системой, чтобы узнать о них.
Kernel Module Interface (KMI), версии ядра с одинаковым KMI совместимы Это то, что в GKI означает "общий"; наоборот, если KMI отличается, то эти ядра несовместимы друг с другом, и прошивка образа ядра с другим KMI, чем у вашего устройства, может привести к bootloop.
В частности, для устройств GKI формат версии ядра должен быть следующим:
KernelRelease :=
Version.PatchLevel.SubLevel-AndroidRelease-KmiGeneration-suffix
w .x .y -zzz -k -something
w.x-zz-k - версия KMI. Например, если версия ядра устройства 5.10.101-android12-9-g30979850fc20, то его KMI - 5.10-android12-9; теоретически оно может нормально загружаться с другими ядрами KMI.
::: tip
Обратите внимание, что SubLevel в версии ядра не является частью KMI! Это означает, что 5.10.101-android12-9-g30979850fc20 имеет тот же KMI, что и 5.10.137-android12-9-g30979850fc20!
:::
Обратите внимание: Версия ядра и версия Android - это не обязательно одно и то же!
Если вы обнаружили, что версия ядра android12-5.10.101, а версия системы Android - Android 13 или другая, не удивляйтесь, поскольку номер версии системы Android не обязательно совпадает с номером версии ядра Linux; Номер версии ядра Linux обычно соответствует версии системы Android, поставляемой с устройством при его поставке. При последующем обновлении системы Android версия ядра, как правило, не меняется. При необходимости прошивки укажите версию ядра!!!.
Существует несколько способов установки KernelSU, каждый из которых подходит для разных сценариев, поэтому выбирайте их по своему усмотрению.
Since version 0.9.0, KernelSU supports two running modes on GKI devices:
LKM: Load the Loadable Kernel Module (LKM) into the device kernel without replacing the original kernel.GKI: Replace the original kernel of the device with the Generic Kernel Image (GKI) provided by KernelSU.These two modes are suitable for different scenarios, and you can choose the one according to your needs.
In LKM mode, the original kernel of the device won't be replaced, but the loadable kernel module will be loaded into the device kernel. The advantages of LKM mode are:
In GKI mode, the original kernel of the device will be replaced with the generic kernel image provided by KernelSU. The advantages of GKI mode are:
If your device is a mobile phone, we recommend that you prioritize LKM mode. If your device is an emulator, WSA, or Waydroid, we recommend that you prioritize GKI mode.
To use LKM mode, you need to get the official firmware and patch it based on the official firmware. If you use a third-party kernel, you can use the boot.img of the third-party kernel as the official firmware.
There are many ways to get the official firmware. If your device supports fastboot boot, we recommend the most recommended and simplest method is to use fastboot boot to temporarily boot the GKI kernel provided by KernelSU, then install the manager, and finally install it directly in the manager. This method doesn't require manually downloading the official firmware or manually extracting the boot.
If your device doesn't support fastboot boot, you may need to manually download the official firmware package and extract the boot from it.
Unlike GKI mode, LKM mode modifies the ramdisk. Therefore, on devices with Android 13, it needs to patch the init_boot partition instead of the boot partition, while GKI mode always operates on the boot partition.
Open the manager, click the installation icon in the upper right corner, and several options will appear:
fastboot boot KernelSU's GKI kernel to get temporary root and install the manager, and then use this option. This is also the main way to upgrade KernelSU.:::tip Резервное копирование стокового boot-образа
Использование пункта «Прямая установка (Рекомендуется)» в менеджере позволяет автоматически сохранить резервную копию стокового boot-образа (или init_boot), чтобы временно восстановить его во время инкрементальных OTA-обновлений. Обратите внимание: такая резервная копия создаётся только в том случае, если текущий слот ещё не был пропатчен KernelSU.
SHA1 резервной копии сохраняется внутри пропатченного boot-образа, а сам файл резервной копии хранится по пути /data/adb/ksu/ksu_backup_$SHA1.
Когда вы используете функцию менеджера «Удалить → Восстановить сток образ», и для SHA1, записанного в текущем пропатченном образе, существует соответствующий файл резервной копии, он будет восстановлен напрямую.
Начиная с версии 3.2.6, если вы впервые устанавливаете KernelSU без root, после патча boot-образа через пункт «Выбрать файл» можно выбрать «Сохранить резервную копию как оригинальный образ». В этом случае резервная копия будет сохранена во внутреннем хранилище менеджера; после прошивки и загрузки пропатченного образа при первом открытии менеджера эта копия автоматически переместится в /data/adb/ksu.
:::
Если вы не хотите использовать менеджер, вы также можете установить LKM через командную строку. Инструмент ksud, предоставляемый KernelSU, поможет быстро пропатчить официальный образ и затем прошить его.
Этот инструмент поддерживает macOS, Linux и Windows. Соответствующую версию можно скачать на GitHub Release.
Использование: ksud boot-patch. Подробности по конкретным параметрам можно посмотреть в справке командной строки.
oriole:/ # ksud boot-patch -h
Patch boot or init_boot images to apply KernelSU
Usage: ksud boot-patch [OPTIONS]
Options:
-b, --boot <BOOT> boot image path, if not specified, will try to find the boot image automatically
-k, --kernel <KERNEL> kernel image path to replace
-m, --module <MODULE> LKM module path to replace, if not specified, will use the builtin one
-i, --init <INIT> init to be replaced
-u, --ota will use another slot when boot image is not specified
-f, --flash Flash it to boot partition after patch
-o, --out <OUT> output path, if not specified, will use current directory
--magiskboot <MAGISKBOOT> magiskboot path, if not specified, will use builtin one
--kmi <KMI> KMI version, if specified, will use the specified KMI
-h, --help Print help
Несколько параметров, которые стоит пояснить:
--magiskboot позволяет указать путь к magiskboot. Если он не задан, ksud будет искать его в переменных окружения. Если вы не знаете, как получить magiskboot, смотрите здесь.--kmi позволяет указать версию KMI. Если имя ядра на вашем устройстве не соответствует спецификации KMI, вы можете задать его через этот параметр.Наиболее распространённый пример использования:
ksud boot-patch -b <boot.img> --kmi android13-5.10
There are several installation methods for LKM mode, each suitable for a different scenario, so please choose accordingly:
Необходимые условия: На устройстве должен быть установлен пользовательский Recovery, например TWRP; если его нет или доступен только официальный Recovery, воспользуйтесь другим способом.
Шаг:
android12-5.10. 66, то следует скачать файл AnyKernel3-android12-5.10.66_yyy-MM.zip (где yyyy - год, а MM - месяц).adb sideload AnyKernel-*.zip для установки.PS. Данный способ подходит для любой установки (не ограничиваясь начальной установкой или последующими обновлениями), если вы используете TWRP.
Необходимые условия: Ваше устройство должно быть рутованным. Например, вы установили Magisk, чтобы получить root, или установили старую версию KernelSU и должны обновить ее до другой версии; если ваше устройство не укоренено, попробуйте другие методы.
Шаг:
Если вы раньше не использовали приложение для прошивки ядра, то наиболее популярными являются следующие.
PS. Этот способ более удобен при обновлении KernelSU и может быть выполнен без компьютера (сначала сделайте резервную копию!). .
Этот способ не требует наличия TWRP и root-прав на телефоне; он подходит для первой установки KernelSU.
KernelSU предоставляет общий boot.img для устройств GKI, и его необходимо прошить в загрузочный раздел устройства.
Вы можете загрузить boot.img с GitHub Release, обратите внимание, что вы должны использовать правильную версию boot.img. Например, если на устройстве установлено ядро android12-5.10.101, то необходимо загрузить android-5.10.101_yyy-MM.boot-<format>.img. , необходимо загрузить android-5.10.101_yyy-MM.boot-<format>.img.(Соблюдайте соответствие KMI!).
Где <format> означает формат сжатия ядра в официальном boot.img, проверьте формат сжатия ядра в оригинальном boot.img, вы должны использовать правильный формат, например, lz4, gz; если вы используете неправильный формат сжатия, вы можете столкнуться с bootloop.
::: info
gz или без сжатия.Используйте adb для подключения устройства, затем выполните adb reboot bootloader для входа в режим fastboot, после чего используйте эту команду для прошивки KernelSU:
fastboot flash boot boot.img
::: info
Если устройство поддерживает fastboot boot, можно сначала использовать fastboot boot boot.img, чтобы попытаться использовать boot.img для загрузки системы. Если произойдет что-то непредвиденное, перезагрузите его снова для загрузки.
:::
После завершения прошивки необходимо перезагрузить устройство:
fastboot reboot
Для некоторых устройств формат boot.img не так распространен, например, не lz4, gz или несжатый; наиболее типичным является Pixel, его boot.img имеет формат lz4_legacy со сжатием, ramdisk может быть gz, также может быть lz4_legacy со сжатием; в это время, если напрямую прошить boot.img, предоставляемый KernelSU, телефон может не загрузиться; в это время можно вручную исправить boot.img для достижения цели.
Как правило, существует два способа исправления:
Среди них Android-Image-Kitchen подходит для работы на ПК, а magiskboot нуждается в сотрудничестве мобильного телефона.
Image, который является файлом ядра KernelSU../unpackimg.sh boot.img в корневом каталоге Android-Image-Kitchen, в результате чего boot.img распакуется и появятся некоторые файлы.boot.img-kernel в каталоге split_img тем образом, который вы извлекли из AnyKernel3 (обратите внимание на изменение названия на boot.img-kernel)../repackimg.sh в корневом каталоге 在 Android-Image-Kitchen; Вы получите файл с именем image-new.img; Прошейте этот boot.img с помощью fastboot (см. предыдущий раздел).Magisk-*(version).apk в Magisk-*.zip и разархивируйте его.Magisk-*/lib/arm64-v8a/libmagiskboot.so на устройство с помощью adb: adb push Magisk-*/lib/arm64-v8a/libmagiskboot.so /data/local/tmp/magiskboot./data/local/tmp/, затем chmod +x magiskboot./data/local/tmp/, выполните команду ./magiskboot unpack boot.img для распаковки boot.img, вы получите файл kernel, это и есть ваше стоковое ядро.kernel на Image: mv -f Image kernel../magiskboot repack boot.img, чтобы перепаковать boot img, и получите файл new-boot.img, прошейте его на устройство с помощью fastboot.На самом деле все эти способы установки имеют только одну основную идею - заменить исходное ядро на ядро, предоставляемое KernelSU; если это возможно, то установка возможна; например, возможны следующие способы.
Однако, если это не работает, попробуйте подход magiskboot.
::: warning МЕТАМОДУЛЬ ДЛЯ МОДИФИКАЦИИ СИСТЕМНЫХ ФАЙЛОВ
Если вы хотите использовать модули, которые модифицируют файлы /system, вам необходимо установить метамодуль после установки KernelSU. Модули, которые используют только скрипты, sepolicy или system.prop, работают без метамодуля.
:::
Для поддержки модификации /system, пожалуйста, см. Руководство по метамодулям, чтобы:
meta-overlayfs