• Android 9.0 内核编译实战(以一加6为例)


    前人栽树后人乘凉...

    我们这里用EX内核编译做个示范 https://github.com/flar2/OnePlus6/tree/ElementalX-3.00

    1.同步代码啦

    git clone https://github.com/flar2/OnePlus6.git -b ElementalX-3.00
    

    2.交叉编译工具链下载
    https://android.googlesource.com/platform/prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/
    解压到某个目录.

    3.配置环境,这个可以参考我的上一篇文章,只到搭建环境那一步源码就不用同步啦...编译内核我们用不到那么多...
    https://blog.csdn.net/qq910689331/article/details/83622290

    我这里直接这么干了.最好还是配置临时环境变量

    sudo gedit /etc/profile 
    export ANDROID_AARCH64=~/android/onepluspie/prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/bin
    export ARCH=arm64
    export SUBARCH=arm64
    export PATH=$PATH:$ANDROID_AARCH64
    export CROSS_COMPILE=aarch64-linux-android-
    source /etc/profile && . /etc/profile
    cd ~/android/onepluspie/kernel/oneplus/ElementalX-3.00
    make O=output elementalx_defconfig
    cd output
    make O=output DTC_EXT=dtc -j16
    

    4.开心的告诉你,上面的命令已经把内核编译出来了... 生成的产物在

    ~/android/onepluspie/kernel/oneplus/ElementalX-3.00/output/arch/arm64/boot/
    ~/android/onepluspie/kernel/oneplus/ElementalX-3.00/output/arch/arm64/boot/dts/
    

    下面是将内核刷入手机,
    这里推荐一个开源库anykernel2,具体使用自己去看,灰常详细
    https://github.com/osm0sis/AnyKernel2/blob/master/README.md
    一加6是A/B system...我很懒 直接用现成的脚本啦...
    解压
    EX内核卡刷包
    我们只需要替换dtbs kernel即可

     
    在这里插入图片描述

    dtbs目录底下的sdm845-v2.1.dtb sdm845-v2.dtb sdm845.dtb 对应于我们编译出来的
    ~/android/onepluspie/kernel/oneplus/ElementalX-3.00/output/arch/arm64/boot/dts/qcom
    下的文件...

    kernel/Image.gz 对应于我们编译出来的~/android/onepluspie/kernel/oneplus/ElementalX-3.00/output/arch/arm64/boot/Image.gz

    替换压缩成zip,导入手机用twrp3.2.3(Team Win Recovery Project) 刷入即可...

    刷完了老哥.下面我们看下成果

     
    在这里插入图片描述

    文中用到的卡刷文件
    都在这了
    链接: https://pan.baidu.com/s/1Tnmaa8ZvMK2OsC9iU7DlGA 提取码: 4wnu 复制这段内容后打开百度网盘手机App,操作更方便哦

    这,只是刚刚开始,内核有趣的多了...自个玩去吧

     
    转自:https://www.jianshu.com/p/54deb76e061b 
  • 相关阅读:
    mysql5.6 TIME,DATETIME,TIMESTAMP
    CMake 简单介绍 图
    mysql 源码编绎修改 FLAGS,调试MYSQL
    CHAR 详解
    关于MySQL的各种总结
    Shell编程速查手册
    cmake 手册系列
    编译安装GCC 5.2.0
    宽字符相关的输入输出
    Makefile
  • 原文地址:https://www.cnblogs.com/javalinux/p/14734772.html
Copyright © 2020-2023  润新知