赛派号

手机内核指的是什么 【小白向】Android内核折腾计划(一)

#0 说在前面 本系列文章以非C语言开发者的角度编写,且假设你已经会内核编译的基本流程,后续内容随缘更新。本文当前为第3版,更新于2025-05-10。 #0.5 战斗准备

开始战斗前的物质准备:

硬件:一台多核性能不是太差的电脑 Linux环境:单独安装或WSL均可 Clang编译器:推荐最新Neutron Clang,ZyC Clang 21会导致小米系统无法正常显示内核版本,故建议避雷 AOSP GCC交叉编译器:默认最新(在这里找最新标签,标签格式为“android-xx.x_rxx”) git相关使用方法(多分支管理、rebase、cherry-pick等)

以及3个小提示!

为了方便后期进行cherry pick等操作,强烈建议在条件允许的情况下,以git clone的方式将内核源码复制到本地,而非通过下载内核源码的压缩包。 即使源码只能以压缩包形式获取,也建议通过git init命令将其初始化为一个git仓库。 为了方便我们在工作时敲代码或校对或解决冲突或写出规范commit,推荐使用VSCode。

当然,最重要的,是一颗沉静得下去的耐心。

#1 寻找可编译成功的内核源码

此处“可编译成功”指编译过程中不会因为源码的bug而中止,且编译后的内核可以正常开机。

确定哪些源码能用

首先我们打开手机设置,在“关于本机”中确认内核的大版本号——Linux的版本号(即数字部分)为x.y.z结构,但它并不遵守语义化规则。其中x.y在本系列文章中规定为“大版本号”或“主线版本号”,z规定为“小版本号”或“基线版本号”。

举个栗子,有个手机打开系统设置后查询到内核版本如下:

则可以确定其大版本号为5.15。

大版本号 ≥ 5.10的内核为支持GKI 2.0的内核,以下为方便简称GKI内核;大版本号

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至lsinopec@gmail.com举报,一经查实,本站将立刻删除。

上一篇 没有了

下一篇没有了