从零开始:构建骁龙SDM845平台的Kali Nethunter Pro内核编译指南

从零开始:构建骁龙SDM845平台的Kali Nethunter Pro内核编译指南

免责声明:

刷机有风险,这将擦除你的手机数据。

前言

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/),

2. kali linux 官方下载的kali-nethunterpro-2025.2-sdm845.tar.xz 用的是6.6.58-sdm845-nh内核无须编译内核也能用usb wifi网卡,前提是要打开otg相关功能(https://www.kali.org/docs/nethunter-pro/enable-otg-sdm845/)

QQ_1752115188936

刷写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

QQ_1752117877186

刷写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”;

QQ_1752145984920

5.开始编译

make -j$(nproc) O=out ARCH=arm64 SUBARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu-

QQ_1752143655586

                                                            编译完成

6.制作linux-image和linux-headers deb包

编译完成后,在内核源代码根目录中执行

make -j$(nproc) O=out ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- KERNELRELEASE=6.12-qcom bindeb-pkg

QQ_1752144670141

命令执行完后,在内核源代码根目录中会出现linux-image和linux-headers deb包

image

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补丁,以保持系统安全和功能完整。

附录

有用的资源

免责声明

修改设备内核可能会导致保修失效或设备损坏。请确保了解风险并在进行任何修改前备份重要数据。

© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享
xiaohan的头像-X黑手网超级会员
评论 共2条

请登录后发表评论