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 id_ID from './id_ID'
import ja_JP from './ja_JP'
import ru_RU from './ru_RU'
export default defineConfig({
locales: {
@@ -43,6 +44,12 @@ export default defineConfig({
lang: id_ID.lang,
themeConfig: id_ID.themeConfig,
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, вы должны понимать эти различия.
## Сходства
## Сходства {#similarities}
- Формат файлов модулей: оба используют формат zip для организации модулей, и формат модулей практически одинаков
- Каталог установки модулей: оба расположены в `/data/adb/modules`.
@@ -13,7 +13,7 @@
- sepolicy.rule: полностью совпадает
- BusyBox: скрипты запускаются в BusyBox с включенным "автономным режимом" в обоих случаях
## Различия
## Различия {#differences}
Прежде чем разбираться в различиях, необходимо знать, как отличить, в каком режиме работает ваш модуль - 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 и ниже.
@@ -11,7 +11,7 @@ KernelSU может быть интегрирован в ядра, отличн
1. Автоматически с помощью `kprobe`
2. Вручную
## Интеграция с kprobe
## Интеграция с kprobe {#using-kprobes}
KernelSU использует kprobe для выполнения хуков ядра, если *kprobe* хорошо работает в вашем ядре, то рекомендуется использовать именно этот способ.
@@ -40,7 +40,7 @@ CONFIG_KPROBE_EVENTS=y
закомментируйте `ksu_enable_sucompat()` и `ksu_enable_ksud()` в файле `KernelSU/kernel/ksu.c`, если устройство загружается нормально, то может быть нарушена работа kprobe.
:::
## Ручная модификация исходного кода ядра
## Ручная модификация исходного кода ядра {#modify-kernel-source-code}
Если 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) и установите его на устройство:
@@ -11,7 +11,7 @@
Для устройств, показывающих `Unsupported`, здесь находится [Unofficially-support-devices](unofficially-support-devices.md), вы можете скомпилировать ядро самостоятельно.
:::
## Резервное копирование стокового файла boot.img
## Резервное копирование стокового файла boot.img {#backup-boot-image}
Перед прошивкой необходимо создать резервную копию файла boot.img. Если возникнет ошибка загрузки, вы всегда сможете восстановить систему, перепрошив ее на заводскую загрузку с помощью fastboot.
@@ -19,9 +19,9 @@
Прошивка может привести к потере данных, поэтому обязательно выполните этот шаг перед переходом к следующему шагу!!! При необходимости можно также создать резервную копию всех данных на телефоне.
:::
## Необходимые знания
## Необходимые знания {#acknowage}
### ADB и fastboot
### ADB и fastboot {#adb-and-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`!
:::
### Версия ядра и версия Android
### Версия ядра и версия Android {#kernel-version-vs-android-version}
Обратите внимание: **Версия ядра и версия Android - это не обязательно одно и то же!**
Если вы обнаружили, что версия ядра `android12-5.10.101`, а версия системы Android - Android 13 или другая, не удивляйтесь, поскольку номер версии системы Android не обязательно совпадает с номером версии ядра Linux; Номер версии ядра Linux обычно соответствует версии системы Android, поставляемой с **устройством при его поставке**. При последующем обновлении системы Android версия ядра, как правило, не меняется. При необходимости прошивки **укажите версию ядра!!!**.
## Введение
## Введение {#installation-introduction}
Существует несколько способов установки KernelSU, каждый из которых подходит для разных сценариев, поэтому выбирайте их по своему усмотрению.
@@ -58,7 +58,7 @@ w .x .y -zzz -k -something
3. Установка с помощью fastboot с использованием boot.img, предоставленного KernelSU
4. Восстановить boot.img вручную и установить его
## Установка с помощью пользовательского Recovery
## Установка с помощью пользовательского Recovery {#install-by-recovery}
Необходимые условия: На устройстве должен быть установлен пользовательский Recovery, например TWRP; если его нет или доступен только официальный Recovery, воспользуйтесь другим способом.
@@ -70,7 +70,7 @@ w .x .y -zzz -k -something
PS. Данный способ подходит для любой установки (не ограничиваясь начальной установкой или последующими обновлениями), если вы используете TWRP.
## Установка с помощью Kernel Flasher
## Установка с помощью Kernel Flasher {#install-by-kernel-flasher}
Необходимые условия: Ваше устройство должно быть рутованным. Например, вы установили Magisk, чтобы получить root, или установили старую версию KernelSU и должны обновить ее до другой версии; если ваше устройство не укоренено, попробуйте другие методы.
@@ -87,11 +87,11 @@ PS. Данный способ подходит для любой установ
PS. Этот способ более удобен при обновлении KernelSU и может быть выполнен без компьютера (сначала сделайте резервную копию!). .
## Установка с помощью boot.img, предоставленного KernelSU
## Установка с помощью boot.img, предоставленного KernelSU {#install-by-kernelsu-boot-image}
Этот способ не требует наличия TWRP и root-прав на телефоне; он подходит для первой установки KernelSU.
### Найти подходящий boot.img
### Найти подходящий boot.img {#found-propery-image}
KernelSU предоставляет общий boot.img для устройств GKI, и его необходимо прошить в загрузочный раздел устройства.
@@ -105,7 +105,7 @@ KernelSU предоставляет общий boot.img для устройст
3. Для устройств Pixel следуйте приведенным ниже инструкциям.
:::
### прошить boot.img на устройство
### прошить boot.img на устройство {#flash-boot-image}
Используйте `adb` для подключения устройства, затем выполните `adb reboot bootloader` для входа в режим fastboot, после чего используйте эту команду для прошивки KernelSU:
@@ -117,7 +117,7 @@ fastboot flash boot boot.img
Если устройство поддерживает `fastboot boot`, можно сначала использовать `fastboot boot boot.img`, чтобы попытаться использовать boot.img для загрузки системы. Если произойдет что-то непредвиденное, перезагрузите его снова для загрузки.
:::
### перезагрузка
### перезагрузка {#reboot}
После завершения прошивки необходимо перезагрузить устройство:
@@ -125,7 +125,7 @@ fastboot flash boot boot.img
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 для достижения цели.
@@ -136,13 +136,13 @@ fastboot reboot
Среди них Android-Image-Kitchen подходит для работы на ПК, а magiskboot нуждается в сотрудничестве мобильного телефона.
### Подготовка
### Подготовка {#patch-preparation}
1. Получите стоковый boot.img вашего телефона; его можно получить у производителя устройства, возможно, вам понадобится [payload-dumper-go](https://github.com/ssut/payload-dumper-go)
2. Загрузите zip-файл AnyKernel3, предоставленный KernelSU, который соответствует версии KMI вашего устройства (можно обратиться к разделу *Установка с помощью пользовательского Recovery*).
3. Распакуйте пакет AnyKernel3 и получите файл `Image`, который является файлом ядра KernelSU.
### Использование Android-Image-Kitchen
### Использование Android-Image-Kitchen {#using-android-image-kitchen}
1. Загрузите программу 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).
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).
2. Переименуйте Magisk-*.apk в Magisk-vesion.zip и разархивируйте его.
@@ -161,7 +161,7 @@ fastboot reboot
7. Замените `kernel` на `Image`: `mv -f Image kernel`.
8. Выполните команду `./magiskboot repack boot.img`, чтобы перепаковать boot img, и получите файл `new-boot.img`, прошейте его на устройство с помощью fastboot.
## Другие методы
## Другие методы {#other-methods}
На самом деле все эти способы установки имеют только одну основную идею - **заменить исходное ядро на ядро, предоставляемое KernelSU**; если это возможно, то установка возможна; например, возможны следующие способы.

View File

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

View File

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

View File

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