Oneplus 10 pro刷kernel android12-5.10-2022-09

Oneplus 10 pro刷GKI过程:

  1. build kernel,生成boot.img(以下shell指令都是在源码根目录下执行)

    download common-android12-5.10-2022-09 branch

    repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/kernel/manifest/ -b common-android12-5.10-2022-09
    repo sync -j8
    

    修改配置文件:

    root@zcos-System-Product-Name:/mnt/android/download# repo diff
    
    project common/
    diff --git a/Makefile b/Makefile
    index 590527068664..b74d69884c29 100644
    --- a/Makefile
    +++ b/Makefile
    @@ -2,7 +2,7 @@
     VERSION = 5
     PATCHLEVEL = 10
     SUBLEVEL = 117
    -EXTRAVERSION =
    +EXTRAVERSION = YYY  #此处是添加内核版本名称信息,方便区分修改内核的不同版本
     NAME = Dare mighty things
    
     # *DOCUMENTATION*
    diff --git a/build.config.gki.aarch64 b/build.config.gki.aarch64
    index 9e70748400a1..9be4d1c118d6 100644
    --- a/build.config.gki.aarch64
    +++ b/build.config.gki.aarch64
    @@ -35,6 +35,12 @@ android/abi_gki_aarch64_transsion
     FILES="${FILES}
     arch/arm64/boot/Image.lz4
     "
    +BOOT_IMAGE_HEADER_VERSION=4
    +
    +AVB_SIGN_BOOT_IMG=1
    +AVB_BOOT_PARTITION_SIZE=0xc000000   #此处为boot parrtition大小,也是生成boot.img的大小,查询后知道一加10pro boot partition 大小为192Mb 
    +AVB_BOOT_KEY=/mnt/android/download/tools/mkbootimg/tests/data/testkey_rsa2048.pem #此处路径我写的绝对路径,需要根据你自身电脑环境进行修改 /mnt/android/download 是我kernel源码所在根目录
    +AVB_BOOT_ALGORITHM=SHA256_RSA2048
    
     TRIM_NONLISTED_KMI=${TRIM_NONLISTED_KMI:-1}
     KMI_SYMBOL_LIST_STRICT_MODE=${KMI_SYMBOL_LIST_STRICT_MODE:-1}
    

    添加ramdisk文件:

    # 从Android官网处下载boot.img,解包后的到ramdisk
    wget https://dl.google.com/android/gki/gki-certified-boot-android12-5.10-2022-09_r1.zip
    unzip gki-certified-boot-android12-5.10-2022-09_r1.zip
    tools/mkbootimg/unpack_bootimg.py --boot_img boot-5.10.img
    ###执行结果
    boot magic: ANDROID!
    kernel_size: 46698804
    ramdisk size: 1380082
    os version: 12.0.0
    os patch level: 2022-11
    boot image header version: 4
    command line args:
    boot.img signature size: 4096
    
    
    ls out
    ###执行结果
    boot_signature  kernel  ramdisk #解包后就是这三个文件
    
    mv out/ramdisk gki-ramdisk.lz4
    

    building kernel

    BUILD_BOOT_IMG=1 SKIP_VENDOR_BOOT=1 KERNEL_BINARY=Image GKI_RAMDISK_PREBUILT_BINARY=gki-ramdisk.lz4 BUILD_CONFIG=common/build.config.gki.aarch64 build/build.sh
    
    #编译成功后,生成的boot.img在out/android12-5.10/dist 目录下
    file out/android12-5.10/dist/boot.img
    #到此已经生成boot.img 可以用于刷机,下面内容是一些验证信息,可看可不看。
    
    ###查看boot.img文件信息,执行结果
    boot.img: Android bootimg, kernel (0x150ef2)
    #解包boot.img 查看内部信息
    tools/mkbootimg/unpack_bootimg.py --boot_img out/android12-5.10/dist/boot.img
    ###执行结果
    boot magic: ANDROID!
    kernel_size: 46698804
    ramdisk size: 1380082
    os version: 0.0.0
    os patch level: 2000-00
    boot image header version: 4
    command line args:
    boot.img signature size: 4096
    
    ll out
    #看日期清楚这三个文件是刚刚解包boot.img得到的,覆盖了第一次解包官方boot.img的文件
    -rw-r--r--  1 root root     4096 1012 20:14 boot_signature
    -rw-r--r--  1 root root 46698804 1012 20:14 kernel
    -rw-r--r--  1 root root  1380082 1012 20:14 ramdisk
    
  2. 将生成的boot.img 刷入手机boot分区内

    #确保电脑有adb和fastboot环境,且手机处于unlock状态(解锁bl---bootloader)。切记解锁bl之前,进入手机开发者模式打开OEM解锁处于打开状态,一旦解锁bl,该功能按钮将不能再操作,除非重新锁上bl。
    #手机进入开发者模式,且USB调试打开
    adb reboot bootloader
    fatsboot reboot fastboot
    fastboot flash boot boot.img路径
    fastboot reboot
    
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值