为一加七Pro(LineageOs17.1 4.14内核版本)编译KernelSu

这篇具有很好参考价值的文章主要介绍了为一加七Pro(LineageOs17.1 4.14内核版本)编译KernelSu。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

编译内核

因为一加七的内核版本是4.14,所以想使用kernelsu,需要自己将kernelsu编译到内核里。

我使用的系统是:LineageOS17.1,对于之后的lineage版本同样适用,只是拉取的源代码不一样。刷机教程请看:wsl2-ubuntu20编译Lineage17(Android10)

教程里是编译LineageOs系统的流程,不过跟aosp不一样的是,lineage编译系统时会同时编译内核。所以可以修改内核文件,直接编译整个系统。(脱离系统我单独编译内核的代码失败了,一堆C语言的报错,我解决不了,有的说gcc这些编译工具需要用lineage源码里的,我就是用的源码,也是一样。可是是内核配置文件的问题,使用make menuconfig生成的配置文件和 原先使用的配置文件多了很多参数,使用make 原先的配置文件也会添加很多参数,不清楚原因)

开始操作

参考教程: 如何为非 GKI 内核集成 KernelSU

以下提到的目录都是以lineage源码根目录为当前目录,假设源码目录是/home/A/Lineage,目录是kernel/oneplus/sm8150,则绝对路径是/home/A/Lineage/kernel/oneplus/sm8150

假设你已经单独编译系统成功,并且编译的刷机包刷入系统也是成功运行的。那就可以进行下一步,将kernelsu的代码加入到内核源码中

一加七Pro的内核代码在kernel/oneplus/sm8150,cd进到这个目录。先下载kernelsu的源码,注意科学,比如用proxychain
curl -LSs "https://raw.githubusercontent.com/tiann/KernelSU/main/kernel/setup.sh" | bash -

下载完成后需要修改内核参数来开启kprobe,一加七Pro的内核参数配置文件可以在device/oneplus/guacamole/BoardConfig.mk这个文件里看到,参数是TARGET_KERNEL_CONFIG
为一加七Pro(LineageOs17.1 4.14内核版本)编译KernelSu
可以看到路径是vendor/sm8150-perf_defconfig,用tree命令看一下全路径是啥。图里的trle是我对alias trle='tree -NCfhl'做的一个别名,参数太多记不住
为一加七Pro(LineageOs17.1 4.14内核版本)编译KernelSu
打开这个文件kernel/oneplus/sm8150/arch/arm64/configs/vendor/sm8150-perf_defconfig,就在最后一行加入三个参数:

CONFIG_KPROBES=y
CONFIG_HAVE_KPROBES=y
CONFIG_KPROBE_EVENTS=y
如何修改内核参数

这一段我说下怎么修改内核参数,在编译kernelsu并不会用到,可以跳过。因为在编译kernelsu时只需要将上面三个参数加到内核配置文件就可以。如果你想修改其他参数时,可能会有帮助。

比如我看到一些文章说,开启内核参数让手机原生支持docker,就需要开启很多的参数。但是我测试了参数是开启了,内核编译通不过了,还是一堆C语言的错误,改了一个又来一个,最后放弃了

以开启kprobe为例,配置参数是CONFIG_KPROBES。在kernel/oneplus/sm8150目录使用make menuconfig,然后按下/,输入CONFIG_KPROBES来查找(可以不加前面的CONFIG_),结果如图所示
为一加七Pro(LineageOs17.1 4.14内核版本)编译KernelSu
搜出来多个结果,一般参数名没错的话,都是第一个结果。

  1. Symbol: 前面是参数名,后面的中括号是值开启的状态,有三种: n(关闭)、y(开启)和m(作为模块开启)
  2. Prompt: 在make menuconfig配置界面叫什么名字,找到这个名字,按空格键让它前面的中括号里变成*就是开启了
  3. Location: 该选项所在位置。-->是表示层级,看下面的解释
  4. Depends on: 所需的依赖。需要先让所有依赖都变成y或m才能在Location指定的位置下找到Prompt
  5. Selects: 附加选项。如果选择这个,会一起选择。这个不用管,会自己加上

下图,如果后面带有-->说明还有下一级,最下面选择Select(默认就是)按回车可以进去,选择Exit按回车则是返回上一级或者退出,只需要按照一级一级找下去,空格开启就行。这里有个点需要注意,最后一层可能不是以这种层级来显示。可能是以缩进来显示。如果你发现有的选项明明还有下一层,确进不去。仔细看看下面的选项是不是缩进了一个tab
为一加七Pro(LineageOs17.1 4.14内核版本)编译KernelSu

因为上面有个MODULES依赖没有勾选,所以你在General setup下是看不到有Kprobes这个选项的。先按下/搜索MODULES找一下在哪个路径下然后勾选,之后在进入General setup下就能看到Kprobes勾选即可。移到Save然后Exit退出就会在当前目录下生成一个.config文件,将该文件覆盖掉原先的配置文件sm8150-perf_defconfig

开始编译

跟编译系统一样,修改内核后,最好是在源码根目录执行make clean清理一下,不然会出现一些奇怪的错误

export LC_ALL=C
source build/envsetup.sh
breakfast guacamole
brunch guacamole

之后就可以看到舒适的一幕
为一加七Pro(LineageOs17.1 4.14内核版本)编译KernelSu
接着输入手机,安装kernelsu管理器 (最下面有个apk文件)

为一加七Pro(LineageOs17.1 4.14内核版本)编译KernelSu
如果不想编译整个系统,可以使用make bootimage或者make kernel文章来源地址https://www.toymoban.com/news/detail-433239.html

到了这里,关于为一加七Pro(LineageOs17.1 4.14内核版本)编译KernelSu的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 一加 Ace 2 Pro发布:重构性能想象

    一加 Ace 2 Pro亮点一览 第二代骁龙8移动平台 精密表盘灵感美学 仿生振感马达 旗舰影像算法引擎 今日,一加举办了以“重构性能想象”为主题的新品发布会,正式发布了一加 Ace 2 Pro。这款性能新机搭载 第二代骁龙8移动平台 ,并且在影像、快充、连接等方面大幅提升,为用

    2024年02月11日
    浏览(41)
  • 17.1 隐藏执行CMD命令

    本章内容涉及使用 Socket API 和 CMD 命令行工具实现本地 CMD 命令执行、无管道正向 CMD 和无管道反向 CMD 三种功能。执行本地 CMD 实现使用 CreateProcess 函数创建一个新的 CMD 进程,并将标准输入、输出和错误输出重定向到当前进程的标准输入、输出和错误输出。无管道正向 CMD 和

    2024年02月08日
    浏览(41)
  • XCode15与iOS17/17.1 真机测试问题处理

    XCode15与iOS17/17.1 真机测试问题处理,网上相关博客很多,摘录了如下实践后能起作用的地址如下: Xcode 15 报错处理 - 简书 iOS17版本适配-CSDN博客 Xcode15适配-六虎 主要介绍下:Assertion failure in void _UIGraphicsBeginImageContextWithOptions(CGSize, BOOL, CGFloat, BOOL)(), UIGraphics.m:410 问题处理, 由

    2024年02月07日
    浏览(55)
  • 4.14日网络编程学习

    IP地址:指互联网协议地址(Internet Protocol Address),俗称IP。 要想使网络中的计算机能够进行通信,必须为每台计算机指定一个标识号,通过这个标识号来指定接受数据的计算机或者发送数据的计算机。 在TCP/IP协议中,这个标识号就是IP地址,它可以唯一标识一台计算机,目

    2024年04月15日
    浏览(36)
  • iOS 17.1 新版发布,修复辐射超标问题

    苹果向开发者推送了 iOS 17.1 Beta 3 测试版更新,同时推送的还有 iPadOS 17.1、macOS 14.1、watchOS 10.1 的第三个测试版,距离上次更新过了七天。 iOS 17.1 Beta 3 版本号为 21B5066a ,从 iOS 17.1 Beta 2 进行 OTA 升级大约需要 988 MB。(测试机型 iPhone 13) 另外,苹果还发布了 iOS 16.7.1 正式版,

    2024年02月07日
    浏览(65)
  • 《C++大学教程》4.14信用额度问题

    题目:

    2024年02月01日
    浏览(35)
  • Quartus17.1调用IP核生成inst.v文件调用

    使用Quartus17.1时,难免会需要调用ip核,目前我会使用的有2种方法,一是通过platform生成qsys文件调用,二是IP Catalog生成inst.v文件调用,第一种方法的使用请(戳我【后续会写】),下面详细记录第二种方法的使用(以PLL为例,这是一个分频、倍频的ip核)。 打开IP Catalog面板

    2024年02月16日
    浏览(56)
  • 一加11/Ace2/10Pro手机如何实现全局120HZ高刷-游戏超级流畅效果

    已经成功root啦。安卓13目前也一样支持LSPosed框架,如果你对LSP框架有需求,也可以使 自测120HZ刷新率诞生以后,很多小伙伴用上了就很难回来啦,一加11/Ace2/10Pro/9pro手 机厂商也对新机做了很多的适配,让我们日常使用起来更棒。虽然屏幕的确支持了120HZ高刷 但很多APP还是自

    2024年02月09日
    浏览(168)
  • Python 编写 Flink 应用程序经验记录(Flink1.17.1)

    目录 官方API文档 提交作业到集群运行 官方示例 环境 编写一个 Flink Python Table API 程序 执行一个 Flink Python Table API 程序 实例处理Kafka后入库到Mysql 下载依赖 flink-kafka jar 读取kafka数据 写入mysql数据 flink-mysql jar https://nightlies.apache.org/flink/flink-docs-release-1.17/zh/docs/dev/python/overview/

    2024年02月08日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包