2020年

分析erofs-utils canned fs_config查找失败问题

H的erofs已经支持Android,QC/droid 10下生成镜像有如下错误:failed to find [app] in canned fs_configcode在system/core/libcutils/canned_fs_config.cpp:void canned_fs_config(const char* path, int dir, const cha...阅读全文

超慢速电影播放相框

How cool would this be playing your favourite film onto a plain wall somewhere you can see it throughout the day?库布里克的2001是真慢放动画美美滴背面btw: 没必要pi 4,pi zero就够了,cpu会高一点,稍微改改脚本参考https://make.q...阅读全文

Kernel Panic实例分析三 : Unable to handle kernel paging request

QC armv7平台kernel 4.x出现的死机问题,一开始很随机以为是DDR硬件问题,直到后面死机越來越多,还出现过pc一样的现场,让人不得不怀疑是SW issue,同步提给QC看,看QC的答复就是用tracer32来定位的,下来温习了下armv7,完全可以用red hat的crash工具结合反汇编和源码分析定位,对小厂算是节约license成本了?我们先看死机现场:...阅读全文

How to get kaslr offset on ARM64

Red Hat的crash工具有个option是--kaslr,一般解析ramdump会用,工具定义:--kaslr offset | auto If x86, x86_64 or s390x kernel was configured with CONFIG_RANDOMIZE_BASE, the offset value is equal to the dif...阅读全文

Kernel Panic实例分析二 : Null pointer

QCOM安卓armv7 smp平台, kernel 4.x。死机时dmesg:[ 4.790798] Unable to handle kernel NULL pointer dereference at virtual address 000001e0 [ 4.790803] pgd = edfd65c2 [ 4.790807] [000001e0] ...阅读全文

了解Android 10 DSU

DSU(Dynamic System Updates)是Android 10引入的一个feature。先了解下GSI。GSIGSI(Generic System Image)看字面就是通用的系统镜像了,就是Google官方Android,没有设备制造商(如某米)的自定义修改。Android 9开始就能用了,是for app开发。官方给的说明是:The GSI projec...阅读全文

UFS FFU 实践

前文提到ufs-utils这个工具可以做UFS FFU,我们先看这个工具的使用。ufs-utilAndroid自带的aarch64貌似编译有问题,换个工具编译ok,ffu怎么用了?./ufs-utils ffu --help FFU command usage: ufs-utils ffu [-t] <ffu cmd idn> [-p] ...阅读全文