zoukankan      html  css  js  c++  java
  • 「Android」Huawei U8825d(G330d)内核编译过程实录

    1. 下载内核源代码,放到任意地方(建议放在Ext4格式的盘符上)

    https://github.com/derekhe/huawei-g330d-u8825d-kernel

    2. 下载后解压,打开里边HOW-TO-BUILD,查看如何进行编译

    第一步:去Google查看相关编译过程,对于我们比较直接有用的就是把prebuilt通过git弄回来,其他不需要了,如果已经同步过ICS源代码,可直接略过这一步

    第二步:git回来的prebuilt,export相关编译需要的工具到系统

    vim ~/.bashrc
    # 在最后一行加入,prebuilt的位置根据git回来位置而定
    export PATH=/home/scue/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/:$PATH
    source ~/.bashrc

    第三步:Setup compiler toolchain

    export ARCH=arm
    export SUBARCH=arm
    export CROSS_COMPILE=arm-eabi-
    export ENABLE_BTLA_VER30=true

    第四步:开始编译,整个编译过程大约十分钟就可以了

    make hw_g330d_defconfig
    make -j4
    # 编译得到的内核位置 arch/arm/boot/zImage

    第五步:打包内核,并刷入手机系统

    # 下载解打包工具 https://github.com/derekhe/u8825d-bootimg-scripts
    # 解压到任意地方后,从手机上获取得你现在正使用的boot.img放到解压出来的目录
    # 1. 解压现有的boot.img
    ./unpack-bootimg.pl boot.img
    # 2. 拷贝编译的zImage文件到此目录,路径自己确定
    cp ../kernel-github/arch/arm/boot/zImage ./
    # 3. 打包zImage和ramdisk目录
    mv boot.img boot.img.bak
    ./repack-bootimg.pl zImage boot.img-ramdisk boot.img
    # 4. 刷入boot.img,手机重启的瞬间要记得按音量减键
    ./adb shell reboot
    ./fastboot devices
    ./fastboot erase boot
    ./fastboot flash boot boot.img
    ./fastboot reboot
    # 一切OK!!

    最后,发挥你的想像,去定制属于一个自己所需要的强大的内核吧~


    PS:后续的话……

    1. 经常解、打包的话,可以这么操作(解打包脚本根据自己放置而定),让解打包命令可以任意目录下使用:

    cd ~/bin
    ln -s /media/scue/Source/bootimg-scripts/unpack-bootimg.pl ./unpack-bootimg
    ln -s /media/scue/Source/bootimg-scripts/repack-bootimg.pl ./repack_bootimg
    ln -s /media/scue/Source/bootimg-scripts/mkbootimg ./mkbootimg
    ln -s /media/scue/Source/bootimg-scripts/bootimg.py ./bootimg

    2. 如果只单纯想修改Android内核版本号中“android@localhost”(编译者及PC名)的话,修改

    scue@Link:/media/scue/Source/kernel-github$ vim scripts/mkcompile_h 
    # 找到里边两句话,把android和localhost修改类似如下信息
    echo \#define LINUX_COMPILE_BY \"scue\"
    echo \#define LINUX_COMPILE_HOST \"Link\"
    ------------
    微博:http://weibo.com/scue
    Github:http://github.com/scue
  • 相关阅读:
    信号signal的监听与处理
    oracle 12cR1&12cR2核心高实用性新特性
    Tomcat 7服务器线程模型
    抓取awr、语句级awr、ashrpt
    从percona server 5.7换到mariadb 10.2
    关于typeid和typeof
    mysql查询INFORMATION_SCHEMA表很慢的性能优化
    使用ccache大幅度加速gcc编译速度至少1倍以上(不需要修改任何编译选项)
    c++ linux下输出中文
    visual studio 2015下使用gcc调试linux c++开发环境搭建完整详解
  • 原文地址:https://www.cnblogs.com/scue/p/2759246.html
Copyright © 2011-2022 走看看