/kirin970-kernel-based-on-emui9.1

Kirin 970 kernel source code with KernelSU integration

Primary LanguageCOtherNOASSERTION

华为麒麟 970 内核源代码

源代码来源:华为开源中心
gcc 10.3 编译器下载:下载页面

修改说明

  1. 根据 官方教程 集成了 KernelSU。
  2. 根据 Coconutat 前辈的教程 以及个人经验修改了内核配置文件, 作用包括:去除华为内核 Root 检测模块、去除 dm-verify、允许打包过程中修改 SELinux 状态、更换和加入其他调度器等。
  3. 换用 arm 提供的 gcc 10.3 工具链作为默认编译器,但是需要在 Makefile 中加入编译选项 -w 忽略编译器警告。
  4. kindle4jerry 大佬公开的源码的其他修改,如加入 WireGuard 等。
  5. maimaiguanfan 大佬的一些补丁。
  6. AOSP 仓库、其它 Linux 内核仓库的一些提交。
  7. 使用 Github Action 在固定时间自动化编译内核(修改自 Coconutat 仓库的文件)。

分支说明

  • main 分支 默认的分支,代码经过了实际的编译、实机测试,基本上比较稳定。
  • pure 分支 尽可能保持少量更改,不含 KernelSU,不影响正常编译。
  • common 分支 是与上游 AOSP 标准内核仓库源代码进行同步的一个分支,稳定性比较差,仅供开发测试使用。
  • experiment 分支 加入其他开发者的补丁的一个分支,以及其它的个人修改,当然也可能在 common 分支上进行改动。

常见问题

  • KernelSU 怎么用?
    这一点请参见 KernelSU 网站上的介绍,主要流程就是:刷入内核 -> 安装管理器。 现 KernelSU 已支持更低的安卓版本,可以在官方系统上使用。
  • 内核适用于哪个系统版本?
    请降级到 9.1.0.312,版本不对应时由于与 HAL 层的兼容问题手机无法连接加密的 Wi-Fi。 如果您不想降级,请考虑使用 Magisk 或尝试在扩容分区后刷入旧版本 vendor 镜像。
  • 编译好的内核成品在哪下载?
    此页面上有最新的发行版可供使用,你可以下载你所需要的版本。
    如果你可以登录 Github,并且热爱尝鲜,那么你可以在 Github 的 Actions 选项卡找到最近一次编译工作流然后下载压缩包。
    当然,如果你嫌麻烦,也可以在 蓝奏云网盘 (密码:7yir)下载,但是上传可能会不够及时。
  • 怎样区分 permissive 和 enforcing 这两个版本呢?
    请自行搜索。简单来说 SELinux 的 permissive(宽容模式)对系统的限制更少,enforcing(强制执行)更适合注重安全性的用户。