前置环境搭建

系统

ArchLinux

我使用的是 ArchLinux,工具链什么的搭建起来比较简单,我这里使用的是 gcc,clang 的话可以自己找一下教程

yay -S aarch64-linux-gnu-gcc aarch64-linux-gnu-binutils aarch64-linux-gnu-glibc aarch64-linux-gnu-linux-api-headers

可能还需要安装一些别的工具,比如 makebc等,如果发现缺失了,自己装上就好了。

<aside> 💡 其他发行版需要自行找一下相应的编译工具链进行安装

</aside>

手机

手机需要 root,需要能解 BL 锁,因为我们需要修改内核,需要自行编译内核

我使用的是 2017 年发布的 OnePlus 5T,高通骁龙835,一代神U,这不比树莓派强多了(

内核

这个简单,我们随便上 xda 或者国内手机社区论坛什么的找一下 rom,甚至是 lineage 的支持设备列表中寻找(不全),一般会给出内核的 git 仓库,就算没有,用官方的仓库也是 ok 的。

我这里选用了这个 rom

[ROM][OSS][13][September] ONEPLUS 5T [dumpling] Project Elixir...

Untitled

点进红框的地方,clone 下来就 ok 了

但是这个 rom 给的内核源码有点问题(换了个内核),坑了我一天,这个后面再说

AnyKernel3

我们编译内核得到的产物是 Image.gz-dtb ,无法直接通过 recovery 刷入到手机中,所以需要一个工具转一下格式,这里选择的是 Anykernel3

https://github.com/osm0sis/AnyKernel3