Установка
Проверьте, поддерживается ли ваше устройство
Скачайте приложение менеджера KernelSU с сайта GitHub Releases и установите его на устройство:
- Если приложение показывает
Unsupported
, это означает, что Вы должны скомпилировать ядро самостоятельно, KernelSU не будет и никогда не предоставит Вам загрузочный образ для прошивки. - Если приложение показывает
Не установлено
, значит, ваши устройства официально поддерживаются KernelSU.
INFO
Для устройств, показывающих Unsupported
, здесь находится Unofficially-support-devices, вы можете скомпилировать ядро самостоятельно.
Резервное копирование стокового файла boot.img
Перед прошивкой необходимо создать резервную копию файла boot.img. Если возникнет ошибка загрузки, вы всегда сможете восстановить систему, перепрошив ее на заводскую загрузку с помощью fastboot.
WARNING
Прошивка может привести к потере данных, поэтому обязательно выполните этот шаг перед переходом к следующему шагу!!! При необходимости можно также создать резервную копию всех данных на телефоне.
Необходимые знания
ADB и fastboot
По умолчанию в этом руководстве вы будете использовать инструменты ADB и fastboot, поэтому, если вы их не знаете, рекомендуем сначала воспользоваться поисковой системой, чтобы узнать о них.
KMI
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
Обратите внимание: Версия ядра и версия Android - это не обязательно одно и то же!
Если вы обнаружили, что версия ядра android12-5.10.101
, а версия системы Android - Android 13 или другая, не удивляйтесь, поскольку номер версии системы Android не обязательно совпадает с номером версии ядра Linux; Номер версии ядра Linux обычно соответствует версии системы Android, поставляемой с устройством при его поставке. При последующем обновлении системы Android версия ядра, как правило, не меняется. При необходимости прошивки укажите версию ядра!!!.
Введение
Существует несколько способов установки KernelSU, каждый из которых подходит для разных сценариев, поэтому выбирайте их по своему усмотрению.
- Установка с помощью пользовательского Recovery (например, TWRP)
- Установка с помощью приложения для прошивки ядра, например, Franco Kernel Manager
- Установка с помощью fastboot с использованием boot.img, предоставленного KernelSU
- Восстановить boot.img вручную и установить его
Установка с помощью пользовательского Recovery
Необходимые условия: На устройстве должен быть установлен пользовательский Recovery, например TWRP; если его нет или доступен только официальный Recovery, воспользуйтесь другим способом.
Шаг:
- С Release page KernelSU загрузите zip-пакет, начинающийся с AnyKernel3, который соответствует версии вашего телефона; например, версия ядра телефона -
android12-5.10. 66
, то следует скачать файлAnyKernel3-android12-5.10.66_yyy-MM.zip
(гдеyyyy
- год, аMM
- месяц). - Перезагрузите телефон в TWRP.
- С помощью adb поместите AnyKernel3-*.zip в /sdcard телефона и выберите установку в графическом интерфейсе TWRP; или вы можете напрямую
adb sideload AnyKernel-*.zip
для установки.
PS. Данный способ подходит для любой установки (не ограничиваясь начальной установкой или последующими обновлениями), если вы используете TWRP.
Установка с помощью Kernel Flasher
Необходимые условия: Ваше устройство должно быть рутованным. Например, вы установили Magisk, чтобы получить root, или установили старую версию KernelSU и должны обновить ее до другой версии; если ваше устройство не укоренено, попробуйте другие методы.
Шаг:
- Загрузите zip-архив AnyKernel3; инструкции по загрузке см. в разделе Установка с помощью пользовательского Recovery.
- Откройте приложение для прошивки ядра и используйте предоставленный AnyKernel3 zip для прошивки.
Если вы раньше не использовали приложение для прошивки ядра, то наиболее популярными являются следующие.
PS. Этот способ более удобен при обновлении KernelSU и может быть выполнен без компьютера (сначала сделайте резервную копию!). .
Установка с помощью boot.img, предоставленного KernelSU
Этот способ не требует наличия TWRP и root-прав на телефоне; он подходит для первой установки KernelSU.
Найти подходящий boot.img
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
- Вы можете использовать magiskboot для получения формата сжатия исходной загрузки; конечно, вы также можете спросить других, более опытных ребят с той же моделью, что и ваше устройство. Кроме того, формат сжатия ядра обычно не меняется, поэтому, если вы успешно загрузились с определенным форматом сжатия, вы можете попробовать этот формат позже.
- Устройства Xiaomi обычно используют
gz
или без сжатия. - Для устройств Pixel следуйте приведенным ниже инструкциям.
прошить boot.img на устройство
Используйте adb
для подключения устройства, затем выполните adb reboot bootloader
для входа в режим fastboot, после чего используйте эту команду для прошивки KernelSU:
fastboot flash boot boot.img
INFO
Если устройство поддерживает fastboot boot
, можно сначала использовать fastboot boot boot.img
, чтобы попытаться использовать boot.img для загрузки системы. Если произойдет что-то непредвиденное, перезагрузите его снова для загрузки.
перезагрузка
После завершения прошивки необходимо перезагрузить устройство:
fastboot reboot
Исправить boot.img вручную
Для некоторых устройств формат boot.img не так распространен, например, не lz4
, gz
или несжатый; наиболее типичным является Pixel, его boot.img имеет формат lz4_legacy
со сжатием, ramdisk может быть gz
, также может быть lz4_legacy
со сжатием; в это время, если напрямую прошить boot.img, предоставляемый KernelSU, телефон может не загрузиться; в это время можно вручную исправить boot.img для достижения цели.
Как правило, существует два способа исправления:
Среди них Android-Image-Kitchen подходит для работы на ПК, а magiskboot нуждается в сотрудничестве мобильного телефона.
Подготовка
- Получите стоковый boot.img вашего телефона; его можно получить у производителя устройства, возможно, вам понадобится payload-dumper-go
- Загрузите zip-файл AnyKernel3, предоставленный KernelSU, который соответствует версии KMI вашего устройства (можно обратиться к разделу Установка с помощью пользовательского Recovery).
- Распакуйте пакет AnyKernel3 и получите файл
Image
, который является файлом ядра KernelSU.
Использование Android-Image-Kitchen
- Загрузите программу Android-Image-Kitchen на свой компьютер.
- Поместите файл boot.img в корневую папку Android-Image-Kitchen.
- Выполните команду
./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 (см. предыдущий раздел).
Использование magiskboot
- Загрузите последнюю версию Magisk с Release Page.
- Переименуйте
Magisk-*(version).apk
вMagisk-*.zip
и разархивируйте его. - Закачайте
Magisk-*/lib/arm64-v8a/libmagiskboot.so
на устройство с помощью adb:adb push Magisk-*/lib/arm64-v8a/libmagiskboot.so /data/local/tmp/magiskboot
. - Установите на устройство стоковый boot.img и образ в AnyKernel3.
- Войдите в оболочку adb и перейдите в каталог
/data/local/tmp/
, затемchmod +x magiskboot
. - Войдите в adb shell и cd директории
/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; если это возможно, то установка возможна; например, возможны следующие способы.
- Сначала установить Magisk, получить права root через Magisk, а затем с помощью kernel flasher прошить AnyKernel zip из KernelSU.
- Использовать какой-либо инструментарий для прошивки на ПК, чтобы прошить ядро, предоставленное KernelSU.