一直以来走入了一些误区...本质上很简单的事情结果浪费了很多时间

所以写下了这篇文章以遗后人,希望不要走我走过的弯路

头图©Copyright:BiliBili@KoraCola"当你终于抬头的时候,宇宙正在慢慢转动"

介绍

Nethunter是一个明星开源项目,但是过于系统、底层的实际要求使得很多酷炫的操作都需要得到内核的支持才能bring it to life,这就很大的限制了“非官方支持机型”的搞机实践。不过为了秉承互联网的开源精神,kali项目组实际上还有一个可以将任何非gki内核编译成nethunter形状的项目。当然,如果您使用的是支持gki的设备,那么直接刷入官方提供的lite模块就好。

项目来源

https://gitlab.com/kalilinux/nethunter/build-scripts/kali-nethunter-kernel

编译要求

一个可以通过编译的开源内核
(需要一个靠谱的defconfig,如果这个内核项目有star的话那么相对可以考虑。如果您的defconfig没有办法直接make,那么后续的操作也是无稽之言)

编译方法

0.一个靠谱的编译器,推荐neutron clang,他们的介绍文档里有很清晰的问题排查方法
1.git clone下来您选择的内核项目
2.cd进入该项目根目录,git clone https://gitlab.com/kalilinux/nethunter/build-scripts/kali-nethunter-kernel
3.根据kali-nethunter-kernel文件夹中的local.config.example进行挑选、修改为local.config,只保留您需要编译的参数,即您真的知道自己在做什么的内容
4.运行./build.sh,选择2进行编译(如果您使用第三方编译器的话,当然您也可以尝试这一方法自带的google clang,但是我个人更喜欢neutron clang)
5.同样在build.sh的功能菜单中制作anykernel模块以便刷入
最后,所有的问题都可以问chatGPT

如果您想找一个模板的话,可以参考我的fork
https://github.com/SherlockChiang/kali-nethunter-kernel
https://github.com/SherlockChiang/kernel_xiaomi_sm8250_nethunter

更新

另外,新手对于一些没有直接给出defconfig的机型可能会有些麻爪,比如k30s的los官方开源内核
解决其实也很简单,我们来看下面的文件目录构成


上图是vendor文件夹中的内容,下图是vendor文件夹中xiaomi路径下的配置,属于厂商/机型特定的配置
对于vendor,我们可以从文件更新时间看出很多东西,但这里其实使用的是kona_defconfig(因为我并不希望使用konaperf进行超频,而是存在省电的实际需要)。之后,我们再将xiaomi厂商配置中的8250小米厂商通用配置sm8250-common.config、k30s特定配置apollo.config加进去就好,如cat apollo.config >> kona_defconfig

最后修改:2024 年 08 月 30 日
请我喝杯可乐?