Android boot state说明

之前遇到了avb提示”device is corrupt”的问题,涉及boot state。我们先看下官方的说明,目前是Android 10: After determining the boot state of a device, you need to communicate that state to the user. If the device...

阅读全文

安卓刷机后出现device is corrupt后进入fastboot问题分析

问题Android 10.0 + QCOM平台 + uefi,刷完机屏幕提示设备损坏然后进入了fastboot,屏幕提示如下: Your device is corrupt. It can't be trusted and will not boot... 一上来会认为刷机有问题?有时候,你的眼睛背叛了你的心。 分析首先,获取串口log,主要部分...

阅读全文

Android 10 metadata 分区说明

参考高通平台Android 10,刷机时发现刷了metadata.img,不刷userdata.img,起不来。 我们来看下这个分区的由来: metadata: The metadata partition is used when device is encrypted and is 16MB or larger. 官方的定义如上,设备加密时使用。设备...

阅读全文

EDK2 Fastboot Flash分析

这段时间都在忙着port custom features from LK to edk2,搭了个框后主要耗时在custom fastboot download。 一般我们在fastboot flash xxx_part xxx_part.img时,会先触发一个download cmd完成后再触发一个flash cmd。我们先看下QCOM原生CmdDownlo...

阅读全文

EDK2 Overview

最近在移BL到UEFI, 来大概看下基础。 UEFI(Unified Extensible Firmware Interface)是Intel提出的一种规范(specification),由PC BIOS而来,如下图(阿桑的wikipedia打不开?画个txt pic),介于OS和FW之间,QCOM Android BL似乎用它来代替LK。UEFI is b...

阅读全文

Linux device_{register | unregister}()代码分析

参考内核5.x, 主要关注下资源释放。 /** * device_register - register a device with the system. * @dev: pointer to the device structure * * This happens in two clean steps - initialize the device *...

阅读全文

devfreq governor代码分析

参考内核5.x,代码路径是在drivers/devfreq/,devfreq的代码定义是:Generic Dynamic Voltage and Frequency Scaling (DVFS) Framework for Non-CPU Devices。而CPU动态调频是drivers/cpufreq,devfreq是基于cp...

阅读全文

如何制作和挂载erofs格式vendor镜像

Android P环境,mkfs.erofs is required firstly. Let’s build vendor.img with erofs format. build process for vendor with ext4看下vendor image with ext4过程: core/main.mk:1111:vendorimage: $...

阅读全文

erofs代码分析:on-disk inode layout

参考staging erofs,on-disk inode layout相关实现是erofs_fs.h + super.c + inode.c。 data mappings先看文档介绍: - Metadata & data could be mixed by design; Different from other read-only file...

阅读全文

How to build mkfs.erofs for ARM64

mkfs.erofs is a user-space tool to create erofs filesystem images. erofs是华为为了增强安卓性能提出的自研文件系统,其内核文档提到用户态工具: The following git tree provides the file system user-spacetools under ...

阅读全文