内核配置修改及内核编译视频
已打补丁的内核重新修改其配置并再次编译
#1.安装依赖:
sudo apt install -y bc build-essential ncurses* ncurses-dev libncurses5-dev bzip2 device-tree-compiler
sudo apt-get install bison build-essential curl flex git gnupg gperf liblz4-tool libncurses5-dev libsdl1.2-dev libxml2 libxml2-utils lzop pngcrush schedtool squashfs-tools xsltproc zip zlib1g-dev
sudo apt-get install g++-multilib gcc-multilib lib32ncurses5-dev lib32z1-dev
sudo apt-get install bc bison build-essential ccache curl flex g++-multilib gcc-multilib git gnupg gperf imagemagick lib32ncurses5-dev lib32readline-dev lib32z1-dev liblz4-tool libncurses5-dev libsdl1.2-dev libssl-dev libwxgtk3.0-dev libxml2 libxml2-utils lzop pngcrush rsync schedtool squashfs-tools xsltproc zip zlib1g-dev libesd-java lib32readline-dev lib32readline6
#lib32readline5为ubuntu14,lib32readline6为ubuntu16,lib32readline7为ubuntu18
#2.下载gcc编译工具链:
#aarch64地址:https://android.googlesource.com … /linux-x86/aarch64/
#arm地址:https://android.googlesource.com … /gcc/linux-x86/arm/
#设置环境:
export ARCH=arm64
export SUBARCH=arm64
export CROSS_COMPILE=’pwd’/aarch64-linux-android-
export CROSS_COMPILE_ARM32=’pwd’/arm-linux-androideabi-
#4.打上内核内核补丁l:
patch -p1 < mac80211.compat08082009.w_frag+ack_v1.patch
-p1 < generic_kernel_3.18.patch
#无线网内核卡内核补丁:http ://patches.aircrack-org/#
修改HID内核资源地址:https://github.com/pelya/android-keyboard-gadget
#3.内核:
make <_defconfig>
make menuconfig
#更改内容:
> General setup
((kali)) 默认主机名System V IPC
> 启用可加载模块支持 强制模块加载 模块卸载 强制模块卸载
> 网络支持 > 无线 cfg80211 无线扩展兼容性
<*> 通用 IEEE 802.11 网络堆栈 (mac80211) 吟游诗人(新) Minstrel 802.11n 支持(新) 启用 LED 触发器
> 设备驱动程序 > 网络设备支持 > USB 网络适配器
<*> 基于 USB RTL8150 的以太网设备支持
<*> 基于 Realtek RTL8152/RTL8153 的 USB 以太网适配器
<*> 基于 ASIX AX88xxx 的 USB 2.0 以太网适配器
<*> CDC NCM 支持
> 设备驱动程序 > 网络设备支持 > 无线 LAN
<*> Atmel at76c503/at76c505/at76c505a USB 卡
<*> 基于 USB ZD1201 的无线设备支持
<*> 无线 RNDIS USB 支持
<*> Realtek 8187 和 8187B USB 支持
<*> Atheros无线网卡 —>
<*> Ralink 驱动支持 —>
<*> Realtek rtlwifi 系列设备(新) —>
> 设备驱动程序 > 网络设备支持 > 无线 LAN > Atheros 无线网卡 Atheros 蓝牙共存支持(新)
<*> Atheros 802.11n 无线网卡支持 Atheros ath9k PCI/PCIe 总线支持(新) Atheros ath9k AHB 总线支持 Atheros ath9k rfkill 支持(新)
<*>基于 Atheros HTC 的无线网卡支持
<*> Linux 社区 AR9170 802.11n USB 支持 SoftLED 支持 (新)
<*> Atheros 移动芯片组支持
<*> Atheros ath6kl USB 支持
<M> Wilocity 60g WiFi 卡 wil6210 支持
> 设备驱动程序 > 网络设备支持 > 无线 LAN > Ralink 驱动程序支持
<*> Ralink rt2500 (USB)支持
<*> Ralink rt2501/rt73 (USB) 支持
<*> Ralink rt27xx/rt28xx/rt30xx (USB) 支持 rt2800usb – 包括对 rt33xx 设备的支持(新) rt2800usb – 包括对 rt35xx 设备的支持(实验 rt2800usb – 包括对 rt3573 设备的支持(实验 rt2800usb – 包括对 rt53xx 设备的支持(实验 rt2800usb – 包括对 rt55xx 设备的支持(实验 rt2800usb – 包括对未知 (USB) 设备的
支持 > 设备驱动程序 > 网络设备支持 > 无线 LAN > Realtek rtlwifi 系列设备
<*> Realtek RTL8192CE/RTL8188CE 无线网络适配器
<*> Realtek RTL8188EE 无线网络适配器
<*> Realtek RTL8192EE 无线网络适配器
<*> Realtek RTL8821AE/RTL8812AE 无线网络适配器
<*> Realtek RTL8192CU/RTL8188CU USB 无线网络适配器
> 设备驱动程序 > HID 支持 > 特殊 HID 驱动程序
<*> 罗技设备
<*> 罗技 Unifying 接收器全面支持
<*> 罗技HID++ 设备支持
<*> HID 传感器框架支持
> 设备驱动程序 >HID 支持 > USB HID 支持 PID device support /dev/hiddev raw HID device support
> Device Drivers > USB support OTG support
<*> USB Wireless Device Management support
> Device Drivers > USB support > USB Serial Converter support USB Serial Console device support USB Generic Serial Driver
<*> USB Winchiphead CH341 Single Port Serial Driver
<*> USB CP210x family of UART Bridge Controllers
#保存配置:
cp .config arch/arm64/configs/kali_defconfig
#清理编译文件准备编译:
make clean && make mrproper
#4.编译内核:
#I.gcc编译方法(适用内核2.X,3.X):
创建编译目录并载入编译配置:
rm -r ../out
mkdir ../out
make O=../out kali_defconfig
编译内核:
make O=../out -j16
#II.clang编译内核方法(适用小米系列手机以及内核4.X):
安装依赖:
sudo apt install gcc clang openssl make gcc-aarch64-linux-gnu gcc-arm-linux-gnueabi language-pack-zh-han* python libssh-dev unzip git wget build-essential zip bc
设置环境:
export ARCH=arm64
export SUBARCH=arm64
export HEADER_ARCH=arm64
创建编译目录并载入编译配置:
rm -r ../out
mkdir ../out
make O=../out ARCH=arm64 SUBARCH=64 CC=/usr/bin/clang CLANG_TRIPLE=aarch64- linux-gnu- CROSS_COMPILE=/usr/bin/aarch64-linux-gnu- CROSS_COMPILE_ARM32=/usr/bin/arm-linux-gnueabi- kali_defconfig
开始编译内核:
make -j16 O=../out ARCH=arm64 SUBARCH=arm32 CC=/usr/bin/clang CLANG_TRIPLE=aarch64-linux-gnu- CROSS_COMPILE=/usr/bin/aarch64-linux-gnu- CROSS_COMPILE_ARM32=/usr/bin/arm-linux-gnueabi-
#5.内核刷入方法:
#I.boot.img解包工具打包方法支持:
#工具地址1(仅amd64及x86):https://github.com/xiaolu/mkbootimg_s
#工具地址2(支持arm平台):https://github .com/work4blue/unpack-mkbootimg
#II.zip刷入法:
#工具地址:https://github.com/EAS-Project/AnyKernel2
一键脚本下载地址:
内核刷入教程
将编译好的内核文件Image.gz-dtb添加至压缩包anykernel2内,然后通过recovery刷入便可更改内核。
压缩包下载
没有回复内容