Android 开机问题分析流程


极力推荐Android 开发大总结文章:欢迎收藏
Android 开发技术文章大总结
本篇文章主要介绍 Android
开发中的部分知识点,通过阅读本篇文章,您将收获以下内容:
一、 如何抓取开机问题Log
二、开机问题Log 分析流程
三、 kernel Log 搜索关键字fs_mgr 初步分析定位
四、uart log中搜索关键字 SBC,是否存在error/ fail/ assert
五、开始时间长的问题分析方法

一、 如何抓取开机问题Log

如何抓取开机问题Log
二、开机问题Log 分析流程

开机问题Log分析流程
三、 kernel Log 搜索关键字 fs_mgr 初步分析定位
在 kernel Log
中搜索关键字 fs_mgr 初步分析定位问题。
1. fs_mgr: __mount
(source=/dev/block/dm-0,target=/system
,type=ext4)=-1
- System分区mount失败debug方法
a.Kernel log
中有emmc “I/O error”
,需要检查emmc相关供电,替换物料交叉实验
b.Log
中没有I/O error
, 回读system分区
对比正常机器system.img
看文件是否被破坏
2.fs_mgr: __mount
(source=/dev/block/dm-0,target=/data
,type=ext4)=-1
- Data分区mount失败debug方法
a.一般加密的情况/userdata
分区会先出现 mount fail
情况, 然后才解密节点/dev/block/dm-0 or dm-1
, target=/data mount
成功 ,正常
b.如果只有userdata mount 失败, 可能是分区数据毁损, 请先readback img
, 然后手动进recovery mode
做factory reset
看能否恢复
c.Readback
的userdata img
可以对比正常机器看是哪个文件毁损
3. init: fs_mgr_mount_all returned an error
- Dm-verity配置错误引起user版本开不了机(eng版本正常)
同步打开/kernel-3.18/arch/arm/configs/${project}_defconfig
中如下两个定义:
CONFIG_DM_VERITY=y
CONFIG_DM_VERITY_FEC=y
4.fs_mgr: Error loading verity table
(Invalid argument) 跳转至3
四、uart log
中搜索关键字 SBC
,是否存在error/ fail/ assert
五、开始时间长的问题分析方法
-
- MTK 平台开机时间保存的文件
a.手机中(/proc/bootprof
)
b.mobile Log
中的bootprof
文件。
c.Kernel Log
中搜索关键字BOOTPROF
- MTK 平台开机时间保存的文件
-
开机时间耗时分解
a.Preloader耗时(5~8s)
:preloader
b.Lk耗时(4~6s)
:lk
c.Kernel初始化完成(5~10s)
:Kernel_init_done
d.开始播放动画30~35s
:BOOT_Animation:START
e.动画播放完毕:BOOT_Animation:END
<< /proc/bootprof >>:
----------------------------------------
0 BOOT PROF (unit:msec)
----------------------------------------
// preloader LK
1336 : preloader
8331 : lk (Start->Show logo: 1382)
----------------------------------------
... ...
// Kernel 初始化完成
2902.540083 : 1-swapper/0 : Kernel_init_done
... ...
// 开机动画开始
7958.560172 : 705-SurfaceFlinger: : BOOT_Animation:START
... ...
// 开机动画播放完毕
298996.885174 : 2097-Binder:463_5 : BOOT_Animation:END
299055.478251 : 1083-ActivityManager : AP_Init:[service]:[com.android.bluetooth]:[com.android.bluetooth/.btservice.AdapterService]:pid:3854
299079.525174 : OFF
----------------------------------------
================ END of FILE ===============

开机时间分析


长按识别二维码,领福利
至此,本篇已结束,如有不对的地方,欢迎您的建议与指正。同时期待您的关注,感谢您的阅读,谢谢!

如有侵权,请联系小编,小编对此深感抱歉,届时小编会删除文章,立即停止侵权行为,请您多多包涵。

小礼物走一走,来简书关注我
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!