website: updated index.ts, ru_RU.ts, as well as some links (#763)

On the web page there is no link to the translation itself, I
familiarized myself with vitepress and edited the necessary configs
This commit is contained in:
Kirill
2023-07-13 15:59:38 +03:00
committed by GitHub
parent d714ab0c5d
commit 77ac974ce8
8 changed files with 107 additions and 39 deletions

View File

@@ -5,6 +5,7 @@ import zh_TW from './zh_TW'
import vi_VN from './vi_VN' import vi_VN from './vi_VN'
import id_ID from './id_ID' import id_ID from './id_ID'
import ja_JP from './ja_JP' import ja_JP from './ja_JP'
import ru_RU from './ru_RU'
export default defineConfig({ export default defineConfig({
locales: { locales: {
@@ -43,6 +44,12 @@ export default defineConfig({
lang: id_ID.lang, lang: id_ID.lang,
themeConfig: id_ID.themeConfig, themeConfig: id_ID.themeConfig,
description: id_ID.description description: id_ID.description
},
ru_RU: {
label: 'Русский',
lang: ru_RU.lang,
themeConfig: ru_RU.themeConfig,
description: ru_RU.description
} }
} }
}) })

View File

@@ -0,0 +1,61 @@
import { createRequire } from 'module'
import { defineConfig } from 'vitepress'
const require = createRequire(import.meta.url)
const pkg = require('vitepress/package.json')
export default defineConfig({
lang: 'ru-RU',
description: 'Решение на основе ядра root для устройств Android GKI.',
themeConfig: {
nav: nav(),
lastUpdatedText: 'последнее обновление',
sidebar: {
'/ru_RU/guide/': sidebarGuide()
},
socialLinks: [
{ icon: 'github', link: 'https://github.com/tiann/KernelSU' }
],
footer: {
message: 'Выпускается под лицензией GPL3.',
copyright: 'Авторские права © 2022-текущее Разработчики KernelSU'
},
editLink: {
pattern: 'https://github.com/tiann/KernelSU/edit/main/website/docs/:path',
text: 'Редактировать эту страницу на GitHub'
}
}
})
function nav() {
return [
{ text: 'Руководство', link: '/ru_RU/guide/what-is-kernelsu' },
{ text: 'Github', link: 'https://github.com/tiann/KernelSU' }
]
}
function sidebarGuide() {
return [
{
text: 'Руководство',
items: [
{ text: 'Что такое KernelSU?', link: '/ru_RU/guide/what-is-kernelsu' },
{ text: 'Установка', link: '/ru_RU/guide/installation' },
{ text: 'Как собрать?', link: '/ru_RU/guide/how-to-build' },
{ text: 'Реализация в устройствах, не относящихся к GKI', link: '/ru_RU/guide/how-to-integrate-for-non-gki'},
{ text: 'Неофициально поддерживаемые устройства', link: '/ru_RU/guide/unofficially-support-devices.md' },
{ text: 'Руководство по разработке модулей', link: '/ru_RU/guide/module.md' },
{ text: 'Профиль приложений', link: '/ru_RU/guide/app-profile.md' },
{ text: 'Выход из циклической загрузки', link: '/ru_RU/guide/rescue-from-bootloop.md' },
{ text: 'FAQ', link: '/ru_RU/guide/faq' },
{ text: 'Скрытые возможности', link: '/ru_RU/guide/hidden-features' },
]
}
]
}

View File

@@ -1,8 +1,8 @@
# Различия с Magisk # Различия с Magisk {#title}
Несмотря на большое количество сходств между модулями KernelSU и модулями Magisk, неизбежно возникают и различия, обусловленные совершенно разными механизмами их реализации. Если вы хотите, чтобы ваш модуль работал как на Magisk, так и на KernelSU, вы должны понимать эти различия. Несмотря на большое количество сходств между модулями KernelSU и модулями Magisk, неизбежно возникают и различия, обусловленные совершенно разными механизмами их реализации. Если вы хотите, чтобы ваш модуль работал как на Magisk, так и на KernelSU, вы должны понимать эти различия.
## Сходства ## Сходства {#similarities}
- Формат файлов модулей: оба используют формат zip для организации модулей, и формат модулей практически одинаков - Формат файлов модулей: оба используют формат zip для организации модулей, и формат модулей практически одинаков
- Каталог установки модулей: оба расположены в `/data/adb/modules`. - Каталог установки модулей: оба расположены в `/data/adb/modules`.
@@ -13,7 +13,7 @@
- sepolicy.rule: полностью совпадает - sepolicy.rule: полностью совпадает
- BusyBox: скрипты запускаются в BusyBox с включенным "автономным режимом" в обоих случаях - BusyBox: скрипты запускаются в BusyBox с включенным "автономным режимом" в обоих случаях
## Различия ## Различия {#differences}
Прежде чем разбираться в различиях, необходимо знать, как отличить, в каком режиме работает ваш модуль - KernelSU или Magisk. Для этого можно использовать переменную окружения `KSU` во всех местах, где можно запустить скрипты модуля (`customize.sh`, `post-fs-data.sh`, `service.sh`). В KernelSU эта переменная окружения будет установлена в значение `true`. Прежде чем разбираться в различиях, необходимо знать, как отличить, в каком режиме работает ваш модуль - KernelSU или Magisk. Для этого можно использовать переменную окружения `KSU` во всех местах, где можно запустить скрипты модуля (`customize.sh`, `post-fs-data.sh`, `service.sh`). В KernelSU эта переменная окружения будет установлена в значение `true`.

View File

@@ -1,4 +1,4 @@
# Как интегрировать KernelSU для не GKI ядер? # Как интегрировать KernelSU для не GKI ядер? {#introduction}
KernelSU может быть интегрирован в ядра, отличные от GKI, и был перенесен на версии 4.14 и ниже. KernelSU может быть интегрирован в ядра, отличные от GKI, и был перенесен на версии 4.14 и ниже.
@@ -11,7 +11,7 @@ KernelSU может быть интегрирован в ядра, отличн
1. Автоматически с помощью `kprobe` 1. Автоматически с помощью `kprobe`
2. Вручную 2. Вручную
## Интеграция с kprobe ## Интеграция с kprobe {#using-kprobes}
KernelSU использует kprobe для выполнения хуков ядра, если *kprobe* хорошо работает в вашем ядре, то рекомендуется использовать именно этот способ. KernelSU использует kprobe для выполнения хуков ядра, если *kprobe* хорошо работает в вашем ядре, то рекомендуется использовать именно этот способ.
@@ -40,7 +40,7 @@ CONFIG_KPROBE_EVENTS=y
закомментируйте `ksu_enable_sucompat()` и `ksu_enable_ksud()` в файле `KernelSU/kernel/ksu.c`, если устройство загружается нормально, то может быть нарушена работа kprobe. закомментируйте `ksu_enable_sucompat()` и `ksu_enable_ksud()` в файле `KernelSU/kernel/ksu.c`, если устройство загружается нормально, то может быть нарушена работа kprobe.
::: :::
## Ручная модификация исходного кода ядра ## Ручная модификация исходного кода ядра {#modify-kernel-source-code}
Если kprobe не работает в вашем ядре (возможно, это ошибка апстрима или ядра ниже 4.8), то можно попробовать следующий способ: Если kprobe не работает в вашем ядре (возможно, это ошибка апстрима или ядра ниже 4.8), то можно попробовать следующий способ:

View File

@@ -1,6 +1,6 @@
# Установка # Установка {#title}
## Проверьте, поддерживается ли ваше устройство ## Проверьте, поддерживается ли ваше устройство {#check-if-supported}
Скачайте приложение менеджера KernelSU с сайта [GitHub Releases](https://github.com/tiann/KernelSU/releases) или [Coolapk market](https://www.coolapk.com/apk/me.weishu.kernelsu) и установите его на устройство: Скачайте приложение менеджера KernelSU с сайта [GitHub Releases](https://github.com/tiann/KernelSU/releases) или [Coolapk market](https://www.coolapk.com/apk/me.weishu.kernelsu) и установите его на устройство:
@@ -11,7 +11,7 @@
Для устройств, показывающих `Unsupported`, здесь находится [Unofficially-support-devices](unofficially-support-devices.md), вы можете скомпилировать ядро самостоятельно. Для устройств, показывающих `Unsupported`, здесь находится [Unofficially-support-devices](unofficially-support-devices.md), вы можете скомпилировать ядро самостоятельно.
::: :::
## Резервное копирование стокового файла boot.img ## Резервное копирование стокового файла boot.img {#backup-boot-image}
Перед прошивкой необходимо создать резервную копию файла boot.img. Если возникнет ошибка загрузки, вы всегда сможете восстановить систему, перепрошив ее на заводскую загрузку с помощью fastboot. Перед прошивкой необходимо создать резервную копию файла boot.img. Если возникнет ошибка загрузки, вы всегда сможете восстановить систему, перепрошив ее на заводскую загрузку с помощью fastboot.
@@ -19,9 +19,9 @@
Прошивка может привести к потере данных, поэтому обязательно выполните этот шаг перед переходом к следующему шагу!!! При необходимости можно также создать резервную копию всех данных на телефоне. Прошивка может привести к потере данных, поэтому обязательно выполните этот шаг перед переходом к следующему шагу!!! При необходимости можно также создать резервную копию всех данных на телефоне.
::: :::
## Необходимые знания ## Необходимые знания {#acknowage}
### ADB и fastboot ### ADB и fastboot {#adb-and-fastboot}
По умолчанию в этом руководстве вы будете использовать инструменты ADB и fastboot, поэтому, если вы их не знаете, рекомендуем сначала воспользоваться поисковой системой, чтобы узнать о них. По умолчанию в этом руководстве вы будете использовать инструменты ADB и fastboot, поэтому, если вы их не знаете, рекомендуем сначала воспользоваться поисковой системой, чтобы узнать о них.
@@ -43,13 +43,13 @@ w .x .y -zzz -k -something
Обратите внимание, что SubLevel в версии ядра не является частью KMI! Это означает, что `5.10.101-android12-9-g30979850fc20` имеет тот же KMI, что и `5.10.137-android12-9-g30979850fc20`! Обратите внимание, что SubLevel в версии ядра не является частью KMI! Это означает, что `5.10.101-android12-9-g30979850fc20` имеет тот же KMI, что и `5.10.137-android12-9-g30979850fc20`!
::: :::
### Версия ядра и версия Android ### Версия ядра и версия Android {#kernel-version-vs-android-version}
Обратите внимание: **Версия ядра и версия Android - это не обязательно одно и то же!** Обратите внимание: **Версия ядра и версия Android - это не обязательно одно и то же!**
Если вы обнаружили, что версия ядра `android12-5.10.101`, а версия системы Android - Android 13 или другая, не удивляйтесь, поскольку номер версии системы Android не обязательно совпадает с номером версии ядра Linux; Номер версии ядра Linux обычно соответствует версии системы Android, поставляемой с **устройством при его поставке**. При последующем обновлении системы Android версия ядра, как правило, не меняется. При необходимости прошивки **укажите версию ядра!!!**. Если вы обнаружили, что версия ядра `android12-5.10.101`, а версия системы Android - Android 13 или другая, не удивляйтесь, поскольку номер версии системы Android не обязательно совпадает с номером версии ядра Linux; Номер версии ядра Linux обычно соответствует версии системы Android, поставляемой с **устройством при его поставке**. При последующем обновлении системы Android версия ядра, как правило, не меняется. При необходимости прошивки **укажите версию ядра!!!**.
## Введение ## Введение {#installation-introduction}
Существует несколько способов установки KernelSU, каждый из которых подходит для разных сценариев, поэтому выбирайте их по своему усмотрению. Существует несколько способов установки KernelSU, каждый из которых подходит для разных сценариев, поэтому выбирайте их по своему усмотрению.
@@ -58,7 +58,7 @@ w .x .y -zzz -k -something
3. Установка с помощью fastboot с использованием boot.img, предоставленного KernelSU 3. Установка с помощью fastboot с использованием boot.img, предоставленного KernelSU
4. Восстановить boot.img вручную и установить его 4. Восстановить boot.img вручную и установить его
## Установка с помощью пользовательского Recovery ## Установка с помощью пользовательского Recovery {#install-by-recovery}
Необходимые условия: На устройстве должен быть установлен пользовательский Recovery, например TWRP; если его нет или доступен только официальный Recovery, воспользуйтесь другим способом. Необходимые условия: На устройстве должен быть установлен пользовательский Recovery, например TWRP; если его нет или доступен только официальный Recovery, воспользуйтесь другим способом.
@@ -70,7 +70,7 @@ w .x .y -zzz -k -something
PS. Данный способ подходит для любой установки (не ограничиваясь начальной установкой или последующими обновлениями), если вы используете TWRP. PS. Данный способ подходит для любой установки (не ограничиваясь начальной установкой или последующими обновлениями), если вы используете TWRP.
## Установка с помощью Kernel Flasher ## Установка с помощью Kernel Flasher {#install-by-kernel-flasher}
Необходимые условия: Ваше устройство должно быть рутованным. Например, вы установили Magisk, чтобы получить root, или установили старую версию KernelSU и должны обновить ее до другой версии; если ваше устройство не укоренено, попробуйте другие методы. Необходимые условия: Ваше устройство должно быть рутованным. Например, вы установили Magisk, чтобы получить root, или установили старую версию KernelSU и должны обновить ее до другой версии; если ваше устройство не укоренено, попробуйте другие методы.
@@ -87,11 +87,11 @@ PS. Данный способ подходит для любой установ
PS. Этот способ более удобен при обновлении KernelSU и может быть выполнен без компьютера (сначала сделайте резервную копию!). . PS. Этот способ более удобен при обновлении KernelSU и может быть выполнен без компьютера (сначала сделайте резервную копию!). .
## Установка с помощью boot.img, предоставленного KernelSU ## Установка с помощью boot.img, предоставленного KernelSU {#install-by-kernelsu-boot-image}
Этот способ не требует наличия TWRP и root-прав на телефоне; он подходит для первой установки KernelSU. Этот способ не требует наличия TWRP и root-прав на телефоне; он подходит для первой установки KernelSU.
### Найти подходящий boot.img ### Найти подходящий boot.img {#found-propery-image}
KernelSU предоставляет общий boot.img для устройств GKI, и его необходимо прошить в загрузочный раздел устройства. KernelSU предоставляет общий boot.img для устройств GKI, и его необходимо прошить в загрузочный раздел устройства.
@@ -105,7 +105,7 @@ KernelSU предоставляет общий boot.img для устройст
3. Для устройств Pixel следуйте приведенным ниже инструкциям. 3. Для устройств Pixel следуйте приведенным ниже инструкциям.
::: :::
### прошить boot.img на устройство ### прошить boot.img на устройство {#flash-boot-image}
Используйте `adb` для подключения устройства, затем выполните `adb reboot bootloader` для входа в режим fastboot, после чего используйте эту команду для прошивки KernelSU: Используйте `adb` для подключения устройства, затем выполните `adb reboot bootloader` для входа в режим fastboot, после чего используйте эту команду для прошивки KernelSU:
@@ -117,7 +117,7 @@ fastboot flash boot boot.img
Если устройство поддерживает `fastboot boot`, можно сначала использовать `fastboot boot boot.img`, чтобы попытаться использовать boot.img для загрузки системы. Если произойдет что-то непредвиденное, перезагрузите его снова для загрузки. Если устройство поддерживает `fastboot boot`, можно сначала использовать `fastboot boot boot.img`, чтобы попытаться использовать boot.img для загрузки системы. Если произойдет что-то непредвиденное, перезагрузите его снова для загрузки.
::: :::
### перезагрузка ### перезагрузка {#reboot}
После завершения прошивки необходимо перезагрузить устройство: После завершения прошивки необходимо перезагрузить устройство:
@@ -125,7 +125,7 @@ fastboot flash boot boot.img
fastboot reboot fastboot reboot
``` ```
## Исправить boot.img вручную ## Исправить boot.img вручную {#patch-boot-image}
Для некоторых устройств формат boot.img не так распространен, например, не `lz4`, `gz` или несжатый; наиболее типичным является Pixel, его boot.img имеет формат `lz4_legacy` со сжатием, ramdisk может быть `gz`, также может быть `lz4_legacy` со сжатием; в это время, если напрямую прошить boot.img, предоставляемый KernelSU, телефон может не загрузиться; в это время можно вручную исправить boot.img для достижения цели. Для некоторых устройств формат boot.img не так распространен, например, не `lz4`, `gz` или несжатый; наиболее типичным является Pixel, его boot.img имеет формат `lz4_legacy` со сжатием, ramdisk может быть `gz`, также может быть `lz4_legacy` со сжатием; в это время, если напрямую прошить boot.img, предоставляемый KernelSU, телефон может не загрузиться; в это время можно вручную исправить boot.img для достижения цели.
@@ -136,13 +136,13 @@ fastboot reboot
Среди них Android-Image-Kitchen подходит для работы на ПК, а magiskboot нуждается в сотрудничестве мобильного телефона. Среди них Android-Image-Kitchen подходит для работы на ПК, а magiskboot нуждается в сотрудничестве мобильного телефона.
### Подготовка ### Подготовка {#patch-preparation}
1. Получите стоковый boot.img вашего телефона; его можно получить у производителя устройства, возможно, вам понадобится [payload-dumper-go](https://github.com/ssut/payload-dumper-go) 1. Получите стоковый boot.img вашего телефона; его можно получить у производителя устройства, возможно, вам понадобится [payload-dumper-go](https://github.com/ssut/payload-dumper-go)
2. Загрузите zip-файл AnyKernel3, предоставленный KernelSU, который соответствует версии KMI вашего устройства (можно обратиться к разделу *Установка с помощью пользовательского Recovery*). 2. Загрузите zip-файл AnyKernel3, предоставленный KernelSU, который соответствует версии KMI вашего устройства (можно обратиться к разделу *Установка с помощью пользовательского Recovery*).
3. Распакуйте пакет AnyKernel3 и получите файл `Image`, который является файлом ядра KernelSU. 3. Распакуйте пакет AnyKernel3 и получите файл `Image`, который является файлом ядра KernelSU.
### Использование Android-Image-Kitchen ### Использование Android-Image-Kitchen {#using-android-image-kitchen}
1. Загрузите программу Android-Image-Kitchen на свой компьютер. 1. Загрузите программу Android-Image-Kitchen на свой компьютер.
2. Поместите файл boot.img в корневую папку Android-Image-Kitchen. 2. Поместите файл boot.img в корневую папку Android-Image-Kitchen.
@@ -150,7 +150,7 @@ fastboot reboot
4. Замените `boot.img-kernel` в каталоге `split_img` тем `образом`, который вы извлекли из AnyKernel3 (обратите внимание на изменение названия на boot.img-kernel). 4. Замените `boot.img-kernel` в каталоге `split_img` тем `образом`, который вы извлекли из AnyKernel3 (обратите внимание на изменение названия на boot.img-kernel).
5. Выполните команду `./repackimg.sh` в корневом каталоге 在 Android-Image-Kitchen; Вы получите файл с именем `image-new.img`; Прошейте этот boot.img с помощью fastboot (см. предыдущий раздел). 5. Выполните команду `./repackimg.sh` в корневом каталоге 在 Android-Image-Kitchen; Вы получите файл с именем `image-new.img`; Прошейте этот boot.img с помощью fastboot (см. предыдущий раздел).
### Использование magiskboot ### Использование magiskboot {#using magiskboot}
1. Загрузите последнюю версию Magisk с [Release Page](https://github.com/topjohnwu/Magisk/releases). 1. Загрузите последнюю версию Magisk с [Release Page](https://github.com/topjohnwu/Magisk/releases).
2. Переименуйте Magisk-*.apk в Magisk-vesion.zip и разархивируйте его. 2. Переименуйте Magisk-*.apk в Magisk-vesion.zip и разархивируйте его.
@@ -161,7 +161,7 @@ fastboot reboot
7. Замените `kernel` на `Image`: `mv -f Image kernel`. 7. Замените `kernel` на `Image`: `mv -f Image kernel`.
8. Выполните команду `./magiskboot repack boot.img`, чтобы перепаковать boot img, и получите файл `new-boot.img`, прошейте его на устройство с помощью fastboot. 8. Выполните команду `./magiskboot repack boot.img`, чтобы перепаковать boot img, и получите файл `new-boot.img`, прошейте его на устройство с помощью fastboot.
## Другие методы ## Другие методы {#other-methods}
На самом деле все эти способы установки имеют только одну основную идею - **заменить исходное ядро на ядро, предоставляемое KernelSU**; если это возможно, то установка возможна; например, возможны следующие способы. На самом деле все эти способы установки имеют только одну основную идею - **заменить исходное ядро на ядро, предоставляемое KernelSU**; если это возможно, то установка возможна; например, возможны следующие способы.

View File

@@ -1,4 +1,4 @@
# Модульные справочники # Руководство по разработке модулей {#introduction}
KernelSU предоставляет механизм модулей, позволяющий добиться эффекта модификации системного каталога при сохранении целостности системного раздела. Этот механизм принято называть "бессистемным". KernelSU предоставляет механизм модулей, позволяющий добиться эффекта модификации системного каталога при сохранении целостности системного раздела. Этот механизм принято называть "бессистемным".
@@ -22,7 +22,7 @@ KernelSU предоставляет механизм модулей, позво
BusyBox в KernelSU теперь использует бинарный файл, скомпилированный непосредственно из проекта Magisk. **Поэтому вам не нужно беспокоиться о проблемах совместимости между скриптами BusyBox в Magisk и KernelSU, поскольку они абсолютно одинаковы! BusyBox в KernelSU теперь использует бинарный файл, скомпилированный непосредственно из проекта Magisk. **Поэтому вам не нужно беспокоиться о проблемах совместимости между скриптами BusyBox в Magisk и KernelSU, поскольку они абсолютно одинаковы!
::: :::
## Модули KernelSU ## Модули KernelSU {#kernelsu-modules}
Модуль KernelSU - это папка, размещенная в каталоге `/data/adb/modules` и имеющая следующую структуру: Модуль KernelSU - это папка, размещенная в каталоге `/data/adb/modules` и имеющая следующую структуру:
@@ -100,7 +100,7 @@ description=<string>
- Другими, не упомянутыми выше, могут быть любые **однострочные** строки. - Другими, не упомянутыми выше, могут быть любые **однострочные** строки.
- Обязательно используйте тип перевода строки `UNIX (LF)`, а не `Windows (CR+LF)` или `Macintosh (CR)`. - Обязательно используйте тип перевода строки `UNIX (LF)`, а не `Windows (CR+LF)` или `Macintosh (CR)`.
### Сценарии командной оболочки ### Сценарии командной оболочки {#shell-scripts}
Чтобы понять разницу между `post-fs-data.sh` и `Service.sh`, прочитайте раздел [Boot Scripts](#boot-scripts). Для большинства разработчиков модулей `service.sh` должно быть достаточно, если вам нужно просто запустить загрузочный скрипт. Чтобы понять разницу между `post-fs-data.sh` и `Service.sh`, прочитайте раздел [Boot Scripts](#boot-scripts). Для большинства разработчиков модулей `service.sh` должно быть достаточно, если вам нужно просто запустить загрузочный скрипт.
@@ -110,7 +110,7 @@ description=<string>
С помощью переменной окружения KSU можно определить, выполняется ли сценарий в KernelSU или в Magisk. Если скрипт выполняется в KernelSU, то это значение будет равно true. С помощью переменной окружения KSU можно определить, выполняется ли сценарий в KernelSU или в Magisk. Если скрипт выполняется в KernelSU, то это значение будет равно true.
::: :::
### каталог `system` ### каталог `system` {#system-directories}
После загрузки системы содержимое этого каталога будет наложено поверх раздела /system с помощью overlayfs. Это означает, что: После загрузки системы содержимое этого каталога будет наложено поверх раздела /system с помощью overlayfs. Это означает, что:
@@ -156,7 +156,7 @@ REPLACE="
Если для вашего модуля требуются дополнительные патчи sepolicy, добавьте эти правила в данный файл. Каждая строка в этом файле будет рассматриваться как утверждение политики. Если для вашего модуля требуются дополнительные патчи sepolicy, добавьте эти правила в данный файл. Каждая строка в этом файле будет рассматриваться как утверждение политики.
## Установщик модулей ## Установщик модулей {#module-installer}
Инсталлятор модуля KernelSU - это модуль KernelSU, упакованный в zip-файл, который может быть прошит в APP-менеджере KernelSU. Простейший установщик модуля KernelSU - это просто модуль KernelSU, упакованный в zip-файл. Инсталлятор модуля KernelSU - это модуль KernelSU, упакованный в zip-файл, который может быть прошит в APP-менеджере KernelSU. Простейший установщик модуля KernelSU - это просто модуль KernelSU, упакованный в zip-файл.
@@ -174,7 +174,7 @@ module.zip
Модуль KernelSU НЕ поддерживается для установки в пользовательское Recovery!!! Модуль KernelSU НЕ поддерживается для установки в пользовательское Recovery!!!
::: :::
### Персонализация ### Персонализация {#customizing-installation}
Если вам необходимо настроить процесс установки модуля, то в качестве опции вы можете создать в программе установки скрипт с именем `customize.sh`. Этот скрипт будет сточником_ (не исполняться!) сценария установщика модуля после извлечения всех файлов и применения стандартных разрешений и secontext. Это очень удобно, если ваш модуль требует дополнительной настройки в зависимости от ABI устройства, или вам необходимо установить специальные разрешения/секонтекст для некоторых файлов модуля. Если вам необходимо настроить процесс установки модуля, то в качестве опции вы можете создать в программе установки скрипт с именем `customize.sh`. Этот скрипт будет сточником_ (не исполняться!) сценария установщика модуля после извлечения всех файлов и применения стандартных разрешений и secontext. Это очень удобно, если ваш модуль требует дополнительной настройки в зависимости от ABI устройства, или вам необходимо установить специальные разрешения/секонтекст для некоторых файлов модуля.
@@ -200,7 +200,7 @@ module.zip
В KernelSU MAGISK_VER_CODE всегда равен 25200, а MAGISK_VER всегда равен v25.2. Пожалуйста, не используйте эти две переменные для определения того, запущен ли он на KernelSU или нет. В KernelSU MAGISK_VER_CODE всегда равен 25200, а MAGISK_VER всегда равен v25.2. Пожалуйста, не используйте эти две переменные для определения того, запущен ли он на KernelSU или нет.
::: :::
#### Функции #### Функции {#functions}
```txt ```txt
ui_print <msg> ui_print <msg>

View File

@@ -1,4 +1,4 @@
# Выход из циклической загрузки # Выход из циклической загрузки {#intruduction}
При прошивке устройства могут возникать ситуации, когда устройство становится "окирпиченным". Теоретически, если использовать fastboot только для прошивки загрузочного раздела или установить неподходящие модули, из-за которых устройство не загружается, то это можно восстановить соответствующими операциями. В данном документе описаны некоторые экстренные методы восстановления работоспособности "окирпиченного" устройства. При прошивке устройства могут возникать ситуации, когда устройство становится "окирпиченным". Теоретически, если использовать fastboot только для прошивки загрузочного раздела или установить неподходящие модули, из-за которых устройство не загружается, то это можно восстановить соответствующими операциями. В данном документе описаны некоторые экстренные методы восстановления работоспособности "окирпиченного" устройства.
@@ -23,13 +23,13 @@
1. Обновление AB 1. Обновление AB
2. Восстановление при нажатии клавиши уменьшения громкости 2. Восстановление при нажатии клавиши уменьшения громкости
#### AB-обновление #### AB-обновление {#ab-update}
Механизм обновления модулей в KernelSU основан на механизме AB-обновления, используемом в OTA-обновлениях системы Android. При установке нового модуля или обновлении существующего он не будет напрямую изменять текущий файл модуля. Вместо этого все модули будут встроены в другой образ обновления. После перезагрузки системы она попытается начать использовать этот образ обновления. Если система Android успешно загрузится, то модули будут действительно обновлены. Механизм обновления модулей в KernelSU основан на механизме AB-обновления, используемом в OTA-обновлениях системы Android. При установке нового модуля или обновлении существующего он не будет напрямую изменять текущий файл модуля. Вместо этого все модули будут встроены в другой образ обновления. После перезагрузки системы она попытается начать использовать этот образ обновления. Если система Android успешно загрузится, то модули будут действительно обновлены.
Поэтому самым простым и наиболее часто используемым методом спасения устройства является **принудительная перезагрузка**. Если после прошивки модуля не удается запустить систему, можно нажать и удерживать кнопку питания более 10 секунд, после чего система автоматически перезагрузится; после перезагрузки произойдет откат к состоянию до обновления модуля, а ранее обновленные модули будут автоматически отключены. Поэтому самым простым и наиболее часто используемым методом спасения устройства является **принудительная перезагрузка**. Если после прошивки модуля не удается запустить систему, можно нажать и удерживать кнопку питания более 10 секунд, после чего система автоматически перезагрузится; после перезагрузки произойдет откат к состоянию до обновления модуля, а ранее обновленные модули будут автоматически отключены.
#### Спасение, с зажатой клавишей уменьшения громкости. #### Спасение, с зажатой клавишей уменьшения громкости {#volume-down}
Если обновление AB не помогло решить проблему, можно попробовать использовать **Безопасный режим**. В безопасном режиме все модули отключены. Если обновление AB не помогло решить проблему, можно попробовать использовать **Безопасный режим**. В безопасном режиме все модули отключены.

View File

@@ -1,21 +1,21 @@
# Что такое KernelSU? # Что такое KernelSU? {#introduction}
KernelSU - это root-решение для устройств Android GKI, работающее в режиме ядра и предоставляющее root-права пользовательским приложениям непосредственно в пространстве ядра. KernelSU - это root-решение для устройств Android GKI, работающее в режиме ядра и предоставляющее root-права пользовательским приложениям непосредственно в пространстве ядра.
## Особенности ## Особенности {#features}
Основной особенностью KernelSU является то, что он **основан на ядре**. KernelSU работает в режиме ядра, поэтому он может предоставить интерфейс ядра, которого раньше не было. Например, мы можем добавить аппаратную точку останова любому процессу в режиме ядра; мы можем получить доступ к физической памяти любого процесса без чьего-либо ведома; мы можем перехватить любой syscall в пространстве ядра; и т.д. Основной особенностью KernelSU является то, что он **основан на ядре**. KernelSU работает в режиме ядра, поэтому он может предоставить интерфейс ядра, которого раньше не было. Например, мы можем добавить аппаратную точку останова любому процессу в режиме ядра; мы можем получить доступ к физической памяти любого процесса без чьего-либо ведома; мы можем перехватить любой syscall в пространстве ядра; и т.д.
Кроме того, KernelSU предоставляет систему модулей через overlayfs, что позволяет загружать в систему пользовательские плагины. Также предусмотрен механизм модификации файлов в разделе `/system`. Кроме того, KernelSU предоставляет систему модулей через overlayfs, что позволяет загружать в систему пользовательские плагины. Также предусмотрен механизм модификации файлов в разделе `/system`.
## Как использовать ## Как использовать {#how-to-use}
Пожалуйста, обратитесь к: [Установка](installation) Пожалуйста, обратитесь к: [Установка](installation)
## Как собрать ## Как собрать {#how-to-build}
[Как собрать](how-to-build) [Как собрать](how-to-build)
## Обсуждение ## Обсуждение {#discussion}
- Telegram: [@KernelSU](https://t.me/KernelSU) - Telegram: [@KernelSU](https://t.me/KernelSU)