之前遇到了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 doesn't ...阅读全文
问题Android 10.0 + QCOM平台 + uefi,刷完机屏幕提示设备损坏然后进入了fastboot,屏幕提示如下:Your device is corrupt. It can't be trusted and will not boot...一上来会认为刷机有问题?有时候,你的眼睛背叛了你的心。分析首先,获取串口log,主要部分:Active Slot _a ...阅读全文
参考高通平台Android 10,刷机时发现刷了metadata.img,不刷userdata.img,起不来。我们来看下这个分区的由来:metadata: The metadata partition is used when device is encrypted and is 16MB or larger.官方的定义如上,设备加密时使用。设备加密有2种:Androi...阅读全文
这段时间都在忙着port custom features from LK to edk2,搭了个框后主要耗时在custom fastboot download。一般我们在fastboot flash xxx_part xxx_part.img时,会先触发一个download cmd完成后再触发一个flash cmd。我们先看下QCOM原生CmdDownload()。/* ...阅读全文
最近在移BL到UEFI, 来大概看下基础。UEFI(Unified Extensible Firmware Interface)是Intel提出的一种规范(specification),由PC BIOS而来,如下图(阿桑的wikipedia打不开?画个txt pic),介于OS和FW之间,QCOM Android BL似乎用它来代替LK。UEFI is based on ...阅读全文
参考内核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
* an...阅读全文
参考内核5.x,代码路径是在drivers/devfreq/,devfreq的代码定义是:Generic Dynamic Voltage and Frequency Scaling (DVFS) Framework for Non-CPU Devices。而CPU动态调频是drivers/cpufreq,devfreq是基于cpufreq而来。第一次引入这个特性描述: ...阅读全文
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: $(INSTALLE...阅读全文