pstore ramoops读写分析

pstore读写接口分别是ramoops_pstore_read()和ramoops_pstore_write_buf(),参考代码kernel4.9: static struct ramoops_context oops_cxt = { .pstore = { .owner = THIS_MODULE, .name = "...

阅读全文

Android P下SD卡用作Phone Storage失败分析与解决

我觉得Android SD卡就是个坑啊! 为啥这样说,因为Google自家的Pixel就没有SD卡槽。之前就有过使用sdcardfs(Google版)的SD卡删除文件后未释放的问题,查过小米一加手机都有这个问题,华为手机没有这个问题因为华为有自研sdcardfs,Google直到9.0框架层才修复。现在9.0对SD卡安装除了用作portable storag...

阅读全文

pstore ramoops overview

pstore就是persistent store,是一种内存文件系统,提供了一种机制用来存储一些有用的信息,最初是给带non-volatile storage的设备使用,用来debug system crash,存储的是kernel panic/oops日志,后面引入了ramoops作为backend,加入了存储kernel console log...

阅读全文

Android平台OEM解锁分析

一般安卓fastboot刷机需要unlock device,也叫unlock bootloader,我想多半和lock/unlock在bootloader中实现有关,ok,下面就来看下相关代码,参考高通平台P LK。 device_info中记录了是否解锁,有两个:is_unlocked, is_unlock_critical: static de...

阅读全文

高通平台AB系统刷机说明

A/B系统是Google推的一种OTA升级方法,就是为了方便,简单说就是多了个备份区,升级时写备份区然后尝试从备份区启动,如果启动ok,就把备份区作为主区,遥想当年ROS平台bootloader就有这么个东东。 这里不关心OTA流程,我们关心的是A/B系统分区选择相关,A/B下刷机要不要带_a, _b。 ok,先让我们看下官方对...

阅读全文

分析解决安卓启动一直卡在加密界面的问题

Android P刷机后第一次启动停在了加密界面,提示如下: Wait while your phone is being encrypted. 这里是data分区在加密,system/vold/cryptsfs.cpp负责,先看看logcat过滤Cryptfs: 01-28 04:50:11.003 D/Cryptfs ( 497)...

阅读全文

Android AB系统recovery镜像构建分析

A/B系统是Google推的一种方便OTA升级版本的特性,好像是N就开始了。之前有好几个问题都是异常进recovery的,不过A/B系统里已经去掉recovery分区了,不再编译recovery.img,那系统是怎么进的recovery?带着这个问题来看下。 先看看Google对recovery的介绍: recovery: The re...

阅读全文

Android启动时在加密界面后进恢复模式分析

异常进recovery前面已经分析过主要是persist进程crash too many,所以导致进恢复模式,显示”Can’t load Android system”。 现在又出现这个恢复界面,是在刷完版本第一次开机加密时进入,看离线logcat,竟然没有”FACTORY_RESET”记录,难道和加密有关? 上OpenGrok搜下prompt_and_wi...

阅读全文

Analyze an issue about "Can't load Android system"

Android 9.0启动中异常进入recovery界面,提示”Can’t load Android system”, 只有两个菜单选项try again + factory reset。 framework同事没看,那我来吧,还是先跟下代码。 bootable/recovery: static bool prompt_and_wipe_data(...

阅读全文

Android P LMKD分析二

关于mp_event_common接受的内存压力事件,是从内核而来,简单说下。 先来看下官方的介绍: Historically, Android used in-kernel lowmemorykiller driver to handle memory pressure situations by killing non-essential proces...

阅读全文