美文网首页
在手机kali环境安装wifi相关软件:编译内核

在手机kali环境安装wifi相关软件:编译内核

作者: SHUTUP | 来源:发表于2015-08-11 19:46 被阅读248次

    前言

    根据前几篇文章,我们发现最通用的解决方式就是自己编译内核,然后在编译时添加我们需要的外接网卡驱动。当然编译为内核模块也是可以的,但总的来说,是一样的,我们这里先以驱动编译进内核为例进行说明。

    设备

    • 红米1s

    内核镜像

    我从github上找了一份,虽然小米官方也开放了内核源码,但根据说明还需要和高通的wlan代码进行合并才不能变成完整的代码,考虑到网速等问题,官方的代码我以后找时间试试。
    armani-dev/android_kernel_xiaomi_armani

    流程

    • 交叉编译工具链,我一开始使用了NDK中的,结果语法规则检查太严厉,一堆问题,后来转为使用
    gcc-linaro-4.8-2015.06-x86_64_arm-linux-gnueabi.tar.xz
    
    • 内核配置文件使用了(此时还没有添加网卡驱动,先编译试试)
    cp arch/arm/configs/cyanogenmod_armani_defconfig    .config
    
    • 修改MakeFile文件的
    ARCH=arm 
    CROSS_COMPILE=arm-linux-gnueabi- (此时已配好了交叉编译工具的PATH环境变量)
    
    • 接下来可以尝试make
    make
    
    • 在编译的过程中会遇到很多问题。大致记录如下(遇到再改):
    #include <smd_private.h> 改为#include "smd_private.h"
    #include <ImmVibeSPI.c>改为#include "ImmVibeSPI.c"
    #include <tspdrvOutputDataHandler.c>
    #ifdef CONFIG_HIGH_RES_TIMERS    
    #include <VibeOSKernelLinuxHRTime.c>
    #else    
    #include <VibeOSKernelLinuxTime.c>
    #endif
    改为
    #include "tspdrvOutputDataHandler.c"
    #ifdef CONFIG_HIGH_RES_TIMERS    
    #include "VibeOSKernelLinuxHRTime.c"
    #else    
    #include "VibeOSKernelLinuxTime.c"
    #endif
    文件drivers/video/msm/mdss/mdss_mdp_trace.h
    #define TRACE_INCLUDE_PATH . 改为 #define TRACE_INCLUDE_PATH ../../drivers/video/msm/mdss/
    
    • 不停的改,不停的编译,最后会得到我们需要的zImage
    • 到这一步还不算完,似乎还有一个设备树的问题,具体还需要学习。

    相关文章

      网友评论

          本文标题:在手机kali环境安装wifi相关软件:编译内核

          本文链接:https://www.haomeiwen.com/subject/lvpiqttx.html