android内核编译
type
status
date
slug
tags
summary
category
icon
password
pixel 6是一个比较特殊的手机,因为刷入GKI内核需要额外需要从出厂镜像提取供应商镜像。(pixe 7不需要)。
选择根据官网介绍 pixel6 支持GKI内核版本。
本文使用
android14-gs-pixel-6.1
作为内核版本(刚好这个手机本来就android 14免得降级)下载出厂镜像
我们根据文档需要先下载
AP1A.240505.004 (11583682)
这个版本出厂完整镜像。https://developers.google.com/android/images下载后解压后如下文件树。你可以注意到里面有一个
flash-all.sh
。这个脚本用于刷一个完整出厂镜像到手机上。手机重启bootloader后执行
./flash-all.sh
,把底包刷一下下载分支源码
- 解压缩
vendor_boot.img
: - 下述命令以 Pixel 6 Pro AP1A.240505.004 为例。将 zip 文件名替换为所下载出厂映像的文件名。
- 解压缩
vendor_boot.img
以获取供应商 ramdisk(前面git拉的源码里面有tools)
- 将解压缩的
vendor-ramdisk-by-name/ramdisk_
文件复制到 Pixel 内核仓库。
设备 | DEVICE_RAMDISK_PATH |
Pixel 6 (oriole)Pixel 6 Pro (raven) | prebuilts/boot-artifacts/ramdisks/vendor_ramdisk-oriole.img |
Pixel 6a (bluejay) | private/devices/google/bluejay/vendor_ramdisk-bluejay.img |
修改源码,找到exit_group的syscall实现给他拿下:
对于搭载
android14
及更高版本内核的 Pixel 6 和 Pixel 6 Pro,请运行 Kleaf 构建命令:正准备大干一场,bl版本又太高,只能刷回来
使用 flash.android.com 刷写设备
注意:您需要先解锁引导加载程序,然后才能刷写设备。请参阅锁定和解锁引导加载程序部分。
- 根据支持的 Android 平台和内核组合选择 Android build。
- 选择以下选项:
- 擦除设备
- 强制刷写所有分区
- 停用验证
- 按 Install build(安装 build)按钮刷写设备。
刷入内核
观察前面printk的内容:
上一篇
ida环境配置总集篇
下一篇
pixel环境记录
Loading...