编译内核

因为一加七的内核版本是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

可以看到路径是vendor/sm8150-perf_defconfig,用tree命令看一下全路径是啥。图里的trle是我对alias trle='tree -NCfhl'做的一个别名,参数太多记不住

打开这个文件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_),结果如图所示

搜出来多个结果,一般参数名没错的话,都是第一个结果。

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

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

因为上面有个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

之后就可以看到舒适的一幕

接着输入手机,安装kernelsu管理器 (最下面有个apk文件)


如果不想编译整个系统,可以使用make bootimage或者make kernel

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

  1. 在2022年,如何为一加3T刷入Kali Nethunter的最新版本

    文章首发于我的个人博客92的博客-过渡站2站 之前看到b站的一个bad usb演示视频,其中,up主使用的是刷入了kali的智能手机 我当即觉得这个想法简直惊为天人 进官网,查型号,二手冲op3t一气 ...

  2. 一加7 Pro 5G版也来了:入网工信部 售价将破5000元

    今年以来,5G手机无疑是手机圈最受关注的热点,而随着以华为Mate 20 X 5G版和中兴Axon 10Pro 5G版为代表的5G手机的正式亮相,我国的手机市场也正式迈入5G时代.随后将有一大波国产5 ...

  3. 疑似一加7 Pro 5G版通过3C认证:配备30W快充头

    2019年是5G技术的元年,随着5G技术推广的逐步深入,在基础的5G网络外,众多终端设备尤其5G手机对用户的吸引力也不断增强.而其中,一加作为最早布局5G手机的厂商之一,其进展也备受用户的关注.现在有 ...

  4. MDT 评测 — 一加 7 Pro 屏幕素质报告

    每个旗舰都需要一个人无我有的特别卖点,要不然就太过平庸,这次一加 7 Pro 最大特点也就在于这一块来自三星的定制屏幕了,在发布会之前和之后,刘作虎都无数次强调过这一点,那么在量产机上这一块「独一无二 ...

  5. 氢os 7android 5次 n,一加7 Pro推送氢OS 9.5.7.GM21更新:新增侧滑返回手势

    IT之家7月9日消息 今日,一加7 Pro推送了氢OS 9.5.7.GM21更新,除修复问题与提升系统稳定性外,本次更新还新增屏幕侧滑返回手势,新增人脸解锁屏幕补光功能,更新至2019年6月安卓补丁. ...

  6. 一加7pro会支持鸿蒙系统吗,华为Mate 30 lite或首发鸿蒙操作系统 一加7T Pro真机提前上手...

    华为Mate 30 lite或首发鸿蒙操作系统 一加7T Pro真机提前上手 2019-08-09 13:57:51 0点赞 0收藏 0评论 据消息人士透露,华为准备在9月中旬推出两款Mate 30 ...

  7. 一加8/一加8 Pro外形配置全曝光:就差个价格了

    根据官方此前公布的消息,全新的一加8系列旗舰将于4月14日和4月16日分别在国外和国内正式亮相.随着发布时间的日益临近,目前关于该机外观和配置细节日渐清晰起来.现在有最新消息,近日德媒曝光了据称是一加 ...

  8. 4月15日见?疑似一加8 Pro真机谍照曝光:开孔双曲面屏加持

    [TechWeb]据此前多方爆料的消息,全新的一加8系列旗舰将于4月中旬与大家见面,共将提供一加8.一加8 Pro和一款新加入的一加8 Lite三个版本,而前两者会先期与大家见面.随着发布时间的日益临 ...

  9. 一加7T Pro渲染图曝光:后置相机出乎意料

    自官方公布全新一加7T系列发布时间之后,关于一加7T系列的消息就多了起来.继昨日刘作虎亲自晒出了一加7 T的渲染图后,现在有最新消息,另外一款机型一加7T Pro的渲染图也正式公布. 据一加官方近日晒 ...

最新文章

  1. 苹果8参数_八年磨两苹果,日本精致农业“秘密” 打造不一样的智慧农业园区...
  2. 常见的html行级元素及语义,HTML入门之——结构,常用标签及其属性,再加上语义化...
  3. ITK:在没有写访问权的情况下迭代图像中的区域
  4. onMeasure onLayout用法,区别
  5. Oracle 之 管理
  6. 有趣!机器学习预测《守望先锋》里的赢家
  7. python数据结构中文版_Python官方入门教程_中文版_5.数据结构
  8. Win32 设备管理(2)
  9. Jayrock: JSON and JSON-RPC for .NET
  10. 更改项目文件夹图标(程序图标)
  11. Paip.声明式编程以及DSL 总结
  12. c#oracle数组超出,急问:System.IndexOutOfRangeException: 索引超出了数组界限解决方案
  13. fpga开发教程 labview_LabVIEW入门
  14. linux自带五笔输入法,在Linux操作系统的环境下使用五笔输入法
  15. acwing-2240. 餐饮(最大流+拆点)
  16. while循环的用法
  17. 构建系统发育树(进化树)的相关知识,以及各种进化树适用的情况。
  18. TCR宝藏级隐藏项目National Writing Board
  19. Jquery实现超酷的时间轴特效
  20. 最适合企业的手机操作系统

热门文章

  1. C++不重起Windows直接更改IP地址
  2. Linux crash调试(一)
  3. 北航计算机控制系统实验报告,北航计算机控制系统实验报告资料.doc
  4. 校园招聘可以报考哪些岗位?
  5. Android仿学习强国填空题考试界面
  6. 2019宁夏计算机考试报名时间,2019年上半年宁夏计算机二级考试报名时间
  7. Rpm、Yum(程序包管理)
  8. 手机怎么共享已经连接到的wifi给电脑让电脑上网
  9. 通过枚举法暴力破解6位数以内zip密码压缩包,使用pyzipper包:内嵌生成1-6位数字加密码所有组合函数
  10. 服务器系统raid设置,服务器RAID配置详解