Skip to content

Commit

Permalink
docs: typo & text spacing fixes (#2420)
Browse files Browse the repository at this point in the history
修复一些错别字、标点;补充部分中英文间距
  • Loading branch information
MoeBakaW authored Feb 7, 2025
1 parent de2100e commit 401b5b8
Show file tree
Hide file tree
Showing 10 changed files with 45 additions and 45 deletions.
6 changes: 3 additions & 3 deletions website/docs/.vitepress/locales/zh_CN.ts
Original file line number Diff line number Diff line change
Expand Up @@ -44,11 +44,11 @@ function sidebarGuide() {
{
text: 'Guide',
items: [
{ text: '什么是 KernelSU?', link: '/zh_CN/guide/what-is-kernelsu' },
{ text: '什么是 KernelSU', link: '/zh_CN/guide/what-is-kernelsu' },
{ text: 'KernelSU 模块与 Magisk 的差异', link: '/zh_CN/guide/difference-with-magisk' },
{ text: '安装', link: '/zh_CN/guide/installation' },
{ text: '如何构建?', link: '/zh_CN/guide/how-to-build' },
{ text: '如何为非GKI设备集成 KernelSU', link: '/zh_CN/guide/how-to-integrate-for-non-gki'},
{ text: '如何构建', link: '/zh_CN/guide/how-to-build' },
{ text: '如何为非 GKI 设备集成 KernelSU', link: '/zh_CN/guide/how-to-integrate-for-non-gki'},
{ text: '非官方支持设备', link: '/zh_CN/guide/unofficially-support-devices.md' },
{ text: '模块开发指南', link: '/zh_CN/guide/module.md' },
{ text: '模块 Web 界面', link: '/zh_CN/guide/module-webui.md' },
Expand Down
10 changes: 5 additions & 5 deletions website/docs/zh_CN/guide/app-profile.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ UID 为 0 的用户被称之为 root 用户,GID 为 0 的组被称之为 root
此处的 UID 跟 Android 系统的多用户,或者说工作资料(Work Profile),不是一个概念。工作资料实际上是对 UID 进行分片实现的,比如 10000-19999 是主用户,110000-119999 是工作资料;他们中的任何一个普通应用都拥有自己独有的 UID。
:::

每一个 App 可以有若干个组,GID 使其主要的组,通常与 UID 一致;其他的组被称之为补充组(groups)。某些权限是通过组控制的,比如网络访问,蓝牙等。
每一个 App 可以有若干个组,GID 是其主要的组,通常与 UID 一致;其他的组被称之为补充组 (groups)。某些权限是通过组控制的,比如网络访问,蓝牙等。

例如,如果我们在 ADB shell 中执行 `id` 命令,会得到如下输出:

Expand All @@ -43,9 +43,9 @@ App Profile 仅仅是控制 root 应用使用 `su` 后的权限,它并非控

Capabilities 是 Linux 的一种分权机制。

传统的 UNIX 系统为了执行权限检查,将进程分为两类:特权进程(其有效用户 ID 为 0,称为超级用户或 root)和非特权进程(其有效 UID 为非零)。特权进程会绕过所有内核权限检查,而非特权进程则根据其凭据(通常是有效UID、有效GID和补充组列表)进行完整的权限检查。
传统的 UNIX 系统为了执行权限检查,将进程分为两类:特权进程(其有效用户 ID 为 0,称为超级用户或 root)和非特权进程(其有效 UID 为非零)。特权进程会绕过所有内核权限检查,而非特权进程则根据其凭据(通常是有效 UID、有效 GID 和补充组列表)进行完整的权限检查。

从 Linux 2.2开始,Linux 将传统上与超级用户关联的特权分解为独立的单元,称为 Capabilities(有的也翻译为“权能”),它们可以独立启用和禁用。
从 Linux 2.2 开始,Linux 将传统上与超级用户关联的特权分解为独立的单元,称为 Capabilities(有的也翻译为“权能”),它们可以独立启用和禁用。

每一个 Capability 代表一个或者一类权限。比如 `CAP_DAC_READ_SEARCH` 就代表是否有能力绕过文件读取权限检查和目录读取和执行权限检查。如果一个有效 UID 为 `0` 的用户(root 用户)没有 `CAP_DAC_READ_SEARCH` 或者更高 Capalities,这意味着即使它是 root 也不能随意读取文件。

Expand Down Expand Up @@ -110,8 +110,8 @@ KernelSU 提供了一种 systemless 的方式来修改系统分区,这是通

另外,KernelSU 管理器的设置界面还提供了一个“默认卸载模块”的开关,这个开关默认情况下是**开启**的,这意味着**如果不对 App 做额外的设置**,默认情况下 KernelSU 或者某些模块会对此 App 执行卸载操作。当然,如果你不喜欢这个设置或者这个设置会影响某些 App,可以有如下选择:

1. 保持“默认卸载模块”的开关,然后针对不需要“卸载模块”的 App 进行单独的设置,在 App Profile 中关闭“卸载模块”;(相当于“白名单)。
2. 关闭“默认卸载模块”的开关,然后针对需要“卸载模块”的 App 进行单独的设置,在 App Profile 中开启“卸载模块”;(相当于“黑名单)。
1. 保持“默认卸载模块”的开关,然后针对不需要“卸载模块”的 App 进行单独的设置,在 App Profile 中关闭“卸载模块”;(相当于“白名单)。
2. 关闭“默认卸载模块”的开关,然后针对需要“卸载模块”的 App 进行单独的设置,在 App Profile 中开启“卸载模块”;(相当于“黑名单)。

:::info
KernelSU 在 5.10 及以上内核上,内核会执行“卸载模块”的操作;但在 5.10 以下的设备上,这个开关仅仅是一个“配置项”,KernelSU 本身不会做任何动作,一些模块(如 Zygisksu 会通过这个模块决定是否需要卸载)
Expand Down
18 changes: 9 additions & 9 deletions website/docs/zh_CN/guide/faq.md
Original file line number Diff line number Diff line change
@@ -1,28 +1,28 @@
# 常见问题

## KernelSU 是否支持我的设备
## KernelSU 是否支持我的设备?

首先,您的设备应该能够解锁 bootloader。 如果不能,则不支持。

然后在你的设备上安装 KernelSU 管理器并打开它,如果它显示 `不支持` ,那么你的设备没有官方支持的开箱即用的 boot image;但你可以自己编译内核集成 KernelSU 进而使用它。

## KernelSU 是否需要解锁 Bootloader
## KernelSU 是否需要解锁 Bootloader?

当然需要。

## KernelSU 是否支持模块
## KernelSU 是否支持模块?

支持。请查阅 [模块](module.md)

## KernelSU 是否支持 Xposed
## KernelSU 是否支持 Xposed?

支持。LSPosed 可以在 [ZygiskNext](https://github.com/Dr-TSNG/ZygiskNext) 的支持下正常运行。

## KernelSU 支持 Zygisk 吗?
## KernelSU 支持 Zygisk 吗

KernelSU 本体不支持 Zygisk,但是你可以用 [ZygiskNext](https://github.com/Dr-TSNG/ZygiskNext) 来使用 Zygisk 模块。

## KernelSU 与 Magisk 兼容吗
## KernelSU 与 Magisk 兼容吗?

KernelSU 的模块系统与 Magisk 的 magic mount 有冲突,如果 KernelSU 中启用了任何模块,那么整个 Magisk 将无法工作。

Expand All @@ -38,7 +38,7 @@ KernelSU 的模块系统与 Magisk 的 magic mount 有冲突,如果 KernelSU

## KernelSU 支持 Android 12 以下的设备吗?

影响 KernelSU 兼容性的是设备内核的版本,它与设备的 Android 版本没有直接的关系。唯一有关联的是:**出厂** Android 12 的设备,一定是 5.10 或更高的内核(GKI设备);因此结论如下:
影响 KernelSU 兼容性的是设备内核的版本,它与设备的 Android 版本没有直接的关系。唯一有关联的是:**出厂** Android 12 的设备,一定是 5.10 或更高的内核(GKI 设备);因此结论如下:

1. 出厂 Android 12 的设备必定是支持的(GKI 设备)
2. 旧版本内核的设备(即使是 Android 12,也可能是旧内核)是兼容的(你需要自己编译内核)
Expand All @@ -51,11 +51,11 @@ KernelSU 的模块系统与 Magisk 的 magic mount 有冲突,如果 KernelSU

参考[教程](how-to-integrate-for-non-gki)

## 为什么我手机系统是 Android 13,但内核版本却是 "android12-5.10"?
## 为什么我手机系统是 Android 13,但内核版本却是 "android12-5.10"

内核版本与 Android 版本无关,如果你需要刷入 KernelSU,请永远使用**内核版本**而非 Android 版本,如果你为 "android12-5.10" 的设备刷入 Android 13 的内核,等待你的将是 bootloop.

## 我是 GKI1.0, 能用 KernelSU 吗?
## 我是 GKI1.0, 能用 KernelSU 吗

GKI1 跟 GKI2 完全是两个东西,所以你需要自行编译内核。

Expand Down
8 changes: 4 additions & 4 deletions website/docs/zh_CN/guide/how-to-build.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# 如何构建 KernelSU?
# 如何构建 KernelSU

首先,您应该阅读内核构建的 Android 官方文档:

Expand Down Expand Up @@ -46,15 +46,15 @@ tools/bazel build --config=fast //common:kernel_aarch64_dist

::: code-group

```sh[最新tag(稳定版本)]
```sh[最新 tag(稳定版本)]
curl -LSs "https://raw.githubusercontent.com/tiann/KernelSU/main/kernel/setup.sh" | bash -
```

```sh[main分支(开发版本)]
```sh[main 分支(开发版本)]
curl -LSs "https://raw.githubusercontent.com/tiann/KernelSU/main/kernel/setup.sh" | bash -s main
```

```sh[指定tag(比如v0.5.2)]
```sh[指定 tag(比如 v0.5.2)]
curl -LSs "https://raw.githubusercontent.com/tiann/KernelSU/main/kernel/setup.sh" | bash -s v0.5.2
```

Expand Down
6 changes: 3 additions & 3 deletions website/docs/zh_CN/guide/how-to-integrate-for-non-gki.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ CONFIG_KPROBE_EVENTS=y

最后,重新编译你的内核即可。

如果你发现KPROBES仍未生效,很有可能是因为它的依赖项`CONFIG_MODULES`没有被启用(如果还是未生效请键入`make menuconfig`搜索KPROBES 的其它依赖并启用
如果你发现 KPROBES 仍未生效,很有可能是因为它的依赖项`CONFIG_MODULES`没有被启用(如果还是未生效请键入`make menuconfig`搜索 KPROBES 的其它依赖并启用

如果你在集成 KernelSU 之后手机无法启动,那么很可能你的内核中 **kprobe 工作不正常**,你需要修复这个 bug 或者用第二种方法。

Expand All @@ -54,7 +54,7 @@ CONFIG_KPROBE_EVENTS=y
curl -LSs "https://raw.githubusercontent.com/tiann/KernelSU/main/kernel/setup.sh" | bash -s v0.9.5
```

请注意,某些设备的defconfig文件可能在`arch/arm64/configs/设备代号_defconfig`或位于`arch/arm64/configs/vendor/设备代号_defconfig`在您的defconfig文件中,将 `CONFIG_KSU`设置为`y`以启用KernelSU,或设置为`n`以禁用。比如在某个defconfig中:
请注意,某些设备的 defconfig 文件可能在`arch/arm64/configs/设备代号_defconfig`或位于`arch/arm64/configs/vendor/设备代号_defconfig`在您的 defconfig 文件中,将`CONFIG_KSU`设置为`y`以启用 KernelSU,或设置为`n`以禁用。比如在某个 defconfig 中:
`arch/arm64/configs/...`
```sh
+# KernelSU
Expand Down Expand Up @@ -319,7 +319,7 @@ index 32f6f1c68..d69d8eca2 100644

### path_umount {#how-to-backport-path-umount}

你可以通过从K5.9向旧版本移植`path_umount`在GKI之前的内核上获得卸载模块的功能。你可以通过以下补丁作为参考:
你可以通过从 K5.9 向旧版本移植 `path_umount`在 GKI 之前的内核上获得卸载模块的功能。你可以通过以下补丁作为参考:

```diff
--- a/fs/namespace.c
Expand Down
12 changes: 6 additions & 6 deletions website/docs/zh_CN/guide/installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ w .x .y -zzz -k -something

### 安全补丁级别 {#security-patch-level}

新的 Android 设备上可能采取了防回滚机制,它不允许刷入一个安全补丁更旧的内核。比如,如果你的设备内核是 `5.10.101-android12-9-g30979850fc20`,它的安全补丁为 `2023-11`;即使你刷入与内核 KMI 一致的内核,如果安全补丁级别比 `2023-11`要老(例如`2023-06`),那么很可能会无法开机。
新的 Android 设备上可能采取了防回滚机制,它不允许刷入一个安全补丁更旧的内核。比如,如果你的设备内核是 `5.10.101-android12-9-g30979850fc20`,它的安全补丁为 `2023-11`;即使你刷入与内核 KMI 一致的内核,如果安全补丁级别比 `2023-11` 要老(例如`2023-06`),那么很可能会无法开机。

因此,在保持 KMI 一致的情况下,优先采用安全补丁级别更新的内核。

Expand Down Expand Up @@ -163,7 +163,7 @@ GKI 的安装方法有如下几种,各自适用于不同的场景,请按需
KernelSU 为 GKI 设备提供了通用的 boot.img,您应该将 boot.img 刷写到设备的 boot 分区。
您可以从 [GitHub Release](https://github.com/tiann/KernelSU/releases) 下载 boot.img, 请注意您应该使用正确版本的 boot.img。如果您不知道应该下载哪一个文件,请仔细阅读本文档中关于 [KMI](#kmi) 和 [安全补丁级别](#security-patch-level)的描述。
您可以从 [GitHub Release](https://github.com/tiann/KernelSU/releases) 下载 boot.img, 请注意您应该使用正确版本的 boot.img。如果您不知道应该下载哪一个文件,请仔细阅读本文档中关于 [KMI](#kmi) 和[安全补丁级别](#security-patch-level)的描述。
通常情况下,同一个 KMI 和 安全补丁级别下会有三个不同格式的 boot 文件,它们除了内核压缩格式不同之外都一样。请检查您原有 boot.img 的内核压缩格式,您应该使用正确的格式,例如 `lz4``gz`;如果是用不正确的压缩格式,刷入 boot 后可能无法开机。
Expand Down Expand Up @@ -197,7 +197,7 @@ fastboot reboot
步骤:
1. 下载 AnyKernel3 的刷机包,如果你不知道下载哪一个,请仔细查阅上述文档中关于 [KMI](#kmi) 和 [安全补丁级别](#security-patch-level)的描述;下载错误的刷机包很可能导致无法开机,请注意备份。
1. 下载 AnyKernel3 的刷机包,如果你不知道下载哪一个,请仔细查阅上述文档中关于 [KMI](#kmi) 和[安全补丁级别](#security-patch-level)的描述;下载错误的刷机包很可能导致无法开机,请注意备份。
2. 打开内核刷写 App(授予必要的 root 权限),使用提供的 AnyKernel3 刷机包刷入。
这种方法需要内核刷写 App 拥有 root 权限,你可以用如下几种方法实现:
Expand Down Expand Up @@ -229,8 +229,8 @@ Magisk 官方提供的 `magiskboot` 只能运行在 Android/Linux 设备上,
### 准备 {#patch-preparation}
1. 获取你手机的原厂 boot.img;你可以通过你手机的线刷包解压后之间获取,如果你是卡刷包,那你也许需要[payload-dumper-go](https://github.com/ssut/payload-dumper-go)
2. 下载 KernelSU 提供的与你设备 KMI 版本一致的 AnyKernel3 刷机包;如果您不知道应该下载哪一个文件,请仔细阅读本文档中关于 [KMI](#kmi) 和 [安全补丁级别](#security-patch-level)的描述。
1. 获取你手机的原厂 boot.img;你可以通过你手机的线刷包解压后之间获取,如果你是卡刷包,那你也许需要 [payload-dumper-go](https://github.com/ssut/payload-dumper-go)
2. 下载 KernelSU 提供的与你设备 KMI 版本一致的 AnyKernel3 刷机包;如果您不知道应该下载哪一个文件,请仔细阅读本文档中关于 [KMI](#kmi) 和[安全补丁级别](#security-patch-level)的描述。
3. 解压缩 AnyKernel3 刷机包,获取其中的 `Image` 文件,此文件为 KernelSU 的内核文件。
### 在 Android 设备上使用 magiskboot {#using-magiskboot-on-Android-devices}
Expand Down Expand Up @@ -263,7 +263,7 @@ Magisk 官方的 `magiskboot` 可以在 Linux 设备上执行,如果你是 Lin
步骤:
1. 在 KernelSU 的 [Release 页面](https://github.com/tiann/KernelSU/releases) 下载与你手机版本匹配的以 AnyKernel3 开头的 zip 刷机包;如果你不知道下载哪一个,请仔细查阅上述文档中关于**KMI****安全补丁级别**的描述;下载错误的刷机包很可能导致无法开机,请注意备份。
1. 在 KernelSU 的 [Release 页面](https://github.com/tiann/KernelSU/releases) 下载与你手机版本匹配的以 AnyKernel3 开头的 zip 刷机包;如果你不知道下载哪一个,请仔细查阅上述文档中关于 **KMI** **安全补丁级别**的描述;下载错误的刷机包很可能导致无法开机,请注意备份。
2. 重启手机进入 TWRP。
3. 使用 adb 将 AnyKernel3-*.zip 放到手机 /sdcard 然后在 TWRP 图形界面选择安装;或者你也可以直接 `adb sideload AnyKernel-*.zip` 安装。
Expand Down
12 changes: 6 additions & 6 deletions website/docs/zh_CN/guide/module-webui.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

KernelSU 的模块除了执行启动脚本和修改系统文件之外,还支持显示 UI 界面和与用户交互。

你可以通过任何 Web 技术编写 HTML + CSS + JavaScript 页面,KernelSU 的管理器将通过WebView 显示这些页面。此外,KernelSU 还提供了一些用于与系统交互的 JavaScript API,例如执行shell命令
你可以通过任何 Web 技术编写 HTML + CSS + JavaScript 页面,KernelSU 的管理器将通过 WebView 显示这些页面。此外,KernelSU 还提供了一些用于与系统交互的 JavaScript API,例如执行 shell 命令

## WebUI 根目录

Expand All @@ -24,7 +24,7 @@ Web 资源文件应放置在模块根目录的 `webroot` 子目录中,并且

## JavaScript API

如果只是一个显示页面,那它和普通网页没有什么区别。更重要的是,KernelSU 提供了一系列的系统API,可以让您实现模块特有的功能。
如果只是一个显示页面,那它和普通网页没有什么区别。更重要的是,KernelSU 提供了一系列的系统 API,可以让您实现模块特有的功能。

KernelSU 提供了一个 JavaScript 库并[在 npm 上发布](https://www.npmjs.com/package/kernelsu),您可以在网页的 JavaScript 代码中使用它。

Expand All @@ -36,13 +36,13 @@ import { exec } from 'kernelsu';
const { errno, stdout } = await exec("getprop ro.product.model");
````

再比如,你可以让网页全屏显示,或者显示一个Toast
再比如,你可以让网页全屏显示,或者显示一个 Toast

[API文档](https://www.npmjs.com/package/kernelsu)
[API 文档](https://www.npmjs.com/package/kernelsu)

如果您发现现有的API不能满足您的需求或者使用不方便,欢迎[在这里](https://github.com/tiann/KernelSU/issues)给我们提出建议!
如果您发现现有的 API 不能满足您的需求或者使用不方便,欢迎[在这里](https://github.com/tiann/KernelSU/issues)给我们提出建议!

## 一些技巧

1. 您可以正常使用`localStorage`存储一些数据,但卸载管理器后,这些数据将会丢失。 如果需要持久保存,可以自己将数据写入某个目录。
2. 对于简单的页面,我建议您使用[parceljs](https://parceljs.org/)进行打包。它零配置,使用非常方便。不过,如果你是前端高手或者有自己的喜好,那就选择你喜欢的吧!
2. 对于简单的页面,我建议您使用 [parceljs](https://parceljs.org/) 进行打包。它零配置,使用非常方便。不过,如果你是前端高手或者有自己的喜好,那就选择你喜欢的吧!
Loading

0 comments on commit 401b5b8

Please sign in to comment.