免责声明:
刷机有风险,这将擦除你的手机数据。
前言
Kali Nethunter Pro是安全研究人员和渗透测试人员在移动设备上的强大工具。本文将详细介绍如何为骁龙SDM845平台(如OnePlus 6/6T、小米Mix 2S等设备)从零开始编译定制内核,以支持完整的Nethunter功能。
准备工作
硬件要求
一台基于骁龙SDM845的设备(已解锁bootloader)
一台性能良好的Linux编译主机(推荐Ubuntu 20.04 LTS或更高版本)
至少100GB可用磁盘空间
稳定的互联网连接
软件要求
基本的Linux命令行知识
Android开发工具(ADB和Fastboot)
Git版本控制系统
必要的编译工具链
开始
1.目前 nethunter pro for sdm845的作者已随mobian linux 更新内核为qcom-linux(https://github.com/Shubhamvis98/kali-pinephone)(mobian合并的高通cpu通用linux主线内核,具体情况看如下链接:https://blog.mobian.org/posts/2025/02/early-2025-news/),
刷写nethunter pro for sdm845作者最新版本的rootfs 与 boot,刷写方法及下载地址:
https://github.com/Shubhamvis98/kali-pinephone/releases/tag/SDM845-20250705
编译环境:
kali linux (amd64 2025.2版本)
内核源代码地址:
https://salsa.debian.org/Mobian-team/devices/kernels/qcom-linux.git (使用的是内核源作者提供的rootfs–kali_phosh_sdm845_20250705.img.xz,用这个源代码)
https://salsa.debian.org/Mobian-team/devices/kernels/sdm845-linux.git (用的是kali官方的rootfs的,截止2025.2版本–kali-nethunterpro-2025.2-sdm845.tar.xz,用这个源代码编译)
2.安装编译依赖(这里以qcom-linux内核为例,编译sdm845-linux和下面差不多(标绿的地方需要更改,请自行决断)):
apt-get update
apt-get dist-upgrade
apt-get install gcc-aarch64-linux-gnu build-essential git debootstrap u-boot-tools device-tree-compiler libncurses-dev flex bison libssl-dev rsync kmod fakeroot git-buildpackage debhelper
下载内核源代码:
git clone https://salsa.debian.org/Mobian-team/devices/kernels/qcom-linux.git --depth 1
刷写nethuntr pro后从/boot/ 中提取config文件:config-6.12-qcom
cd qcom-linux
mkdir out
cp config-6.12-qcom ./out/.config
make -j$(nproc) O=out ARCH=arm64 SUBARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- menuconfig #图形界面配置
3.添加usb wifi网卡驱动(如果自己也可以开启其它功能)
进入 General setup
在”Local version – append to kernel release” 中设置为空
取消 “Automatically append version information to the version string “
返回主界面,进入”Device Drivers > Network device support > Wireless LAN “
做如下选择
<M> Atheros HTC based wireless cards support
<M> Linux Community AR9170 802.11n USB support
[*] SoftLED Support (NEW)
[*] Random number generator
<M> Atheros mobile chipsets support
<M> Atheros ath6kl USB support
<M> Atheros ath10k USB support (EXPERIMENTAL)
[*] MediaTek devices
<M> MediaTek MT7601U (USB) support
<M> MediaTek MT76x0U (USB) support
<M> MediaTek MT76x2U (USB) support
<M> MediaTek MT7663U (USB) support
<M> MediaTek MT7921U (USB) support
<M> MediaTek MT7925U (USB) support
<M> Ralink driver support —> <M> Ralink rt2500 (USB) support
<M> Ralink rt2501/rt73 (USB) support
<M> Ralink rt27xx/rt28xx/rt30xx (USB) support
[*] rt2800usb – Include support for rt33xx devices (NEW)
[*] rt2800usb – Include support for rt35xx devices (EXPERIMENTAL) (NEW)
[*] rt2800usb – Include support for rt3573 devices (EXPERIMENTAL)
[*] rt2800usb – Include support for rt53xx devices (EXPERIMENTAL)
[*] rt2800usb – Include support for rt55xx devices (EXPERIMENTAL)
[*] rt2800usb – Include support for unknown (USB) devices
[*] Realtek devices
<M> Realtek 8187 and 8187B USB support
<M> Realtek rtlwifi family of devices —> <M> Realtek RTL8192CU/RTL8188CU USB Wireless Network Adapter
<M> Realtek RTL8192DU USB Wireless Network Adapter
<M> Realtek 802.11n USB wireless chips support
[*] Include support for untested Realtek 8xxx USB devices (EXPERIMENTAL)
<M> Realtek 802.11ac wireless chips support —> <M> Realtek 8822BU USB wireless network adapter
<M> Realtek 8822CU USB wireless network adapter
<M> Realtek 8723DU USB wireless network adapter
<M> Realtek 8821CU USB wireless network adapter
保存配置并返回终端
4.开启otg支持(可以直接跳过,改用kali官方的方法启用:https://www.kali.org/docs/nethunter-pro/enable-otg-sdm845/)(这里以oneplus6/6t为例,小米poco f1、shif6mq、小米mix2s不适用)
在内核源代码根目录下:
vim arch/arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi
将 dr_mode = “peripheral”; 改为 dr_mode = “host”;
5.开始编译
make -j$(nproc) O=out ARCH=arm64 SUBARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu-
编译完成
6.制作linux-image和linux-headers deb包
编译完成后,在内核源代码根目录中执行
make -j$(nproc) O=out ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- KERNELRELEASE=6.12-qcom bindeb-pkg
命令执行完后,在内核源代码根目录中会出现linux-image和linux-headers deb包
7.安装新内核
将linux-image和linux-headers包上传到nethunter pro中
先卸载旧的linux-image-6.12-qcom包:
dpkg -P linux-image-6.12-qcom qcom-support
dpkg -i linux-image-6.12-qcom_6.12.36-gfecdd3044e26-3_arm64.deb
apt install qcom-support
dpkg -i linux-headers-6.12-qcom_6.12.36-gfecdd3044e26-3_arm64.deb
安装完成后,使用带pd供电口的otg转接器,就可以合用usb wifi网卡(还要安装相关驱动文件,这里以mediatek的mt7601u网卡为例: apt install firmware-mediatek)。
故障排除
1. Wi-Fi不工作
-
确保正确包含了设备特定的Wi-Fi驱动
-
检查内核日志中的Wi-Fi相关错误
2. USB OTG功能异常
-
验证USB Gadget配置
-
检查设备树中的USB配置
3. SELinux问题
-
检查内核日志中的SELinux拒绝消息
-
考虑在开发阶段设置为宽容模式
结论
通过本指南,您已经成功为骁龙SDM845设备编译并安装了支持Kali Nethunter Pro的自定义内核。这个过程虽然复杂,但为您提供了完全控制设备安全功能的能力。记得定期检查上游内核更新和Nethunter补丁,以保持系统安全和功能完整。
附录
有用的资源
免责声明
修改设备内核可能会导致保修失效或设备损坏。请确保了解风险并在进行任何修改前备份重要数据。
2、本站永久网址:https://www.xheishou.com
3、本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行删除处理。
4、本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
5、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
6、本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。
- 最新
- 最热
只看作者