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、编译内核,在内核源码跟目录下执行

①配置环境变量

export ANDROID_AARCH64=/home/chenls/aarch64-linux-android-4.9/bin/
export ARCH=arm64
export SUBARCH=arm64
export PATH=$PATH:$ANDROID_AARCH64
export CROSS_COMPILE=aarch64-linux-android-

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

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

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

mkdir out
make O=out ql1650-perf_defconfig

③开始编译

cd out           # 进入out目录
make -j4 O=out   # 开始编译,-j4表示并行编译数,即4个进程并行编译
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

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

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

③刷入boot.img文件

adb reboot bootloader
fastboot flash boot image-new.img
fastboot reboot

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

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值