一加7Pro为PixelExperience13系统编译kernelsu

前言

之前写了一篇文章为一加七Pro(LineageOs17.1 4.14内核版本)编译KernelSu,最近想换个系统玩玩,因为我发现我自己编译的系统总是被某些APP风控了,比如淘宝有些活动就参与不了。

正好可以试试PixelExperience,顺便为PixelExperience编译一个配套的kernelsu,没有root的安卓系统是没有灵魂的。

环境准备

我发现编译PixelExperience的文档和Lineageos的文档不能说是一模一样,也是师出同门。那么所需的环境估计也是一样的,就用之前编译Lineageos的WSL Ubuntu20系统。

环境安装请看:wsl2-ubuntu20编译Lineage17(Android10),如果你不想在安装一遍环境,可以使用我备份的WSL包,在WIndows导入就可以使用了。

这个WSL的远程连接也配置好了,使用VNC连接的软件地址是localhost:5900,密码是kanade,VNC软件我用的是Realvnc。

另外,WSL导入命令是:wsl --import Ubuntu20.04 D:WSL Ubuntu-20.04.tar ,其中Ubuntu20.04是wsl的名称,D:WSL是导入的安装路径。后台回复wsl获取WSL备份的tar包下载地址

创建虚拟磁盘

先创建一个vhd虚拟磁盘来存放源码,虽然wsl可以直接访问Windows上的文件,但如果把源码放WIndows上,会出现一些奇怪的问题,比如权限问题。

而且编译完,源码一般也不会使用,就放在Vhd磁盘里存着就行。

一加7Pro为PixelExperience13系统编译kernelsu

这里我用Hyper-v管理器来创建,格式选VHDX,类型选固定大小,磁盘空间至少是300G。

创建完成后附加到wsl里,附加命令:wsl --mount --bare --vhd D:pixelp.vhdx,然后给这个磁盘分区格式化在挂载就可以用了。

分区和格式化我懒得记命令,一般都用图形化软件GParted,界面上按提示点几下就可以了。挂载的话:mount /dev/sde1 ~/pixelp,后面的目录要先创建一下

一加7Pro为PixelExperience13系统编译kernelsu

下载源码

PixelExperience我没找到国内源,所以需要配置git的科学代理,IP为宿主机的ip,因为我代理是运行在Windows上的

git config --global http.proxy 'socks5://172.23.96.1:10808'

git config --global https.proxy 'socks5://172.23.96.1:10808'

先使用脚本下载下所需的环境:

cd ~/
git clone https://github.com/akhilnarang/scripts
cd scripts
./setup/android_build_env.sh

配置一下proxychains,也加上代理

vim /etc/proxychains4.conf

开始创建仓库同步源码

mkdir pe

cd pe

proxychains4 repo init -u https://github.com/PixelExperience/manifest -b thirteen-plus

因为我官网下载的安装包是13plus的版本,所以这里下载的分支选thirteen-plus一加7Pro为PixelExperience13系统编译kernelsu

开始同步源码,这个过程很长。我下载速度30M/s也用了挺久的

proxychains4 repo sync -c -j$(nproc --all) --force-sync --no-clone-bundle --no-tags

下载完成后,就要开始下载内核的源码。如果是其他的手机,只需要这一步下载内核的步骤改一下,将guacamole的代号改成你手机对应的代号

source build/envsetup.sh

lunch aosp_guacamole-eng

开始编译

croot

mka bacon -j$(nproc --all)

我是先编译一遍系统看看有没有什么错误,编译通过之后在添加kernelsu,编译boot.img

内核加入kernelsu

先进入内核源码的目录

cd kernel/oneplus/sm8150

执行脚本自动添加文件补丁到内核

proxychains4 curl -LSs "https://raw.githubusercontent.com/tiann/KernelSU/main/kernel/setup.sh" | bash -

修改内核参数

看了下PixelExperience的内核配置文件和Lineageos是同一个。都在kernel/oneplus/sm8150/arch/arm64/configs/vendor/sm8150-perf_defconfig,在这个文件最后加上

CONFIG_KPROBES=y
CONFIG_HAVE_KPROBES=y
CONFIG_KPROBE_EVENTS=y

编译内核

make bootimage

一加7Pro为PixelExperience13系统编译kernelsu

刷入手机

进入fastboot模式,然后将boot.img输入手机即可

fastboot flash boot .boot.img

如果你怕刷了boot无法开机,可以先fastboot boot .boot.img临时输入,如果开机正常,再永久刷入

安装管理器

一加7Pro为PixelExperience13系统编译kernelsu

编译的boot文件

如果你也是一加7Pro手机,并且用的PixelExperience13plus的系统,可以直接刷我的这个boot.img。

下载地址:https://www.123pan.com/s/ihEKVv-UJWx.html 提取码:9oSv

如果是其他PixelExperience或Lineageos支持的手机,需要我编译boot.img的,请留言或私聊我,我有时间就一起编译一下。

我只能帮忙编译最新的系统(Lineageos20和PixelExperience13),不然磁盘受不了,一个系统得300G的磁盘大小。

参考

  • Build for guacamole – PixelExperience Wiki
  • 如何为非 GKI 内核集成 KernelSU | KernelSU


原文始发于微信公众号(Python成长路):一加7Pro为PixelExperience13系统编译kernelsu

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

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/196075.html

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!