当前位置:   article > 正文

Android编译内核并刷入_内核刷入工具

内核刷入工具

1、下载对应开源内核代码

使用git clone

git clone --depth=1 https://github.com/ASUS-X00TD/android_kernel_asus_sdm660 -b S240

或者直接在github上下载:https://github.com/ASUS-X00TD/android_kernel_asus_sdm660/tree/S240

2、下载编译链工具

此路径提供的版本可能不对,git clone --depth=1 https://android.googlesource.com/platform/prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9,请使用:https://download.csdn.net/download/u011057800/11327980

3、安装开发环境相关包

sudo apt install -y 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 unzip openjdk-8-jdk language-pack-zh-hans

4、编译内核,在内核源码跟目录下执行

①配置环境变量

  1. export ANDROID_AARCH64=/home/chenls/aarch64-linux-android-4.9/bin/
  2. export ARCH=arm64
  3. export SUBARCH=arm64
  4. export PATH=$PATH:$ANDROID_AARCH64
  5. export CROSS_COMPILE=aarch64-linux-android-

注意:ANDROID_AARCH64为编译链工具所在路径。

②第一次编译时,生成配置选项

在arch/arm64/configs/目录下有不同配置文件,我们选择ql1650-perf_defconfig

  1. mkdir out
  2. make O=out ql1650-perf_defconfig

③开始编译

  1. cd out           # 进入out目录
  2. make -j4 O=out   # 开始编译,-j4表示并行编译数,即4个进程并行编译
  3. cd ..            # 回到跟目录

④编译完成

编译完成后,会在out/arch/arm64/boot目录生成Image.gz-dtb文件,此为编译出来的内核文件。

5、刷入内核

①使用AIK-Linux打包boot.img文件

将刷机包中的boot.img拷贝到AIK-Linux目录下,执行./unpackimg.sh解包,把./split_img/boot.img-zImage文件删掉,然后将Image.gz-dtb文件拷贝到./split_img目录下,并重命名为boot.img-zImage。

执行./repackimg.sh,生成image-new.img文件,即我们可以刷入的boot.img文件。

AIK-Linux下载:https://download.csdn.net/download/u011057800/10955558

工程机原boot.img下载:https://download.csdn.net/download/u011057800/10955542

②第一次刷入时,需解锁手机

  1. adb reboot bootloader
  2. secret_key=`fastboot getvar secret-key-opt 2>&1 | grep secret-key-opt | awk '{print $NF}'`
  3. secret_partition=`fastboot oem get_random_partition 2>&1 | grep bootloader | awk '{print $NF}'`
  4. echo $secret_key > default_key.bin
  5. fastboot flash $secret_partition default_key.bin
  6. fastboot flashing unlock
  7. fastboot flashing unlock_critical
  8. fastboot reboot

③刷入boot.img文件

  1. adb reboot bootloader
  2. fastboot flash boot image-new.img
  3. fastboot reboot

注意:由于WIFI模块在Qualcomm中管理,刷入后WIFI 不能正常工作。可参考此链接查看详情:https://github.com/MiCode/Xiaomi_Kernel_OpenSource/wiki/FAQ

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/573161
推荐阅读
相关标签
  

闽ICP备14008679号