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
  • 相关阅读:
    计算机组成原理1.1.1 课程简介
    【Mybatis】配置文件加载属性
    【Maven】项目中没有resources目录
    C语言指针(三)指针传递给函数
    C语言指针(二)指向指针的指针
    C语言指针(一)
    cygwin环境c语言开发
    【Centos7】安装nginx
    【Linux】管理在线用户
    【总结】偏序/数点
  • 原文地址:https://www.cnblogs.com/scue/p/2759246.html
Copyright © 2011-2022 走看看