不开机问题快速分析
一、不开机问题首先需要抓串口log(要带kernel的log),根据需要也可能要抓logcat 1、抓份不能开机的串口log 2、抓份正常开机的串口log用来对比 二、检查关键字或者关键log 1、" Preparing for EL3 exit to normal world, LK " 如果串口log里面没有走到这里,说明在PL就卡住了,这句表示进入LK 2、" lk finished --> jump to linux kernel " 如果串口log里面没有走到这里,但是上面走到了,说明在lk卡住了,这句表示进入kernel 3、"Kernel_init_done" 这句表示kernel初始化完成了,正准备启动init进程,如果这就没有走到:请搜索关键字initcall, initcall是顺序执行例如module_init注册的init函数,看看卡在哪个call back上 4、"BOOTPROF" 这是开机过程中,每走过一个重要阶段都会打印的标志,例如上面Kernel_init_done这一句就会打上这个标志 5、"init: init first stage started" 这句表示init进程正常起来执行 6、"fs_mgr" 和"e2fsck" 这里标志是在检查和mount 文件系统,如果失败会有如下log:fs_mgr_mount_all returned an error fs_mgr_mount_all returned unexpected error 255 7、"zygote" Starting service 'zygote':这里表示要启动zygote,如果没有这一句表示zygote还没启动,则要检查之前的initrc 执行情况,文件系统mount情况 8、"SysServerInit_START" 启动system_server 9、"system_server" 这里表示system_server有起来 10、"BOOT_Animation:END" 表示开机动画正常结束,进入安卓 三、抓logcat的情况:Starting service 'zygote'------zygote起来后,开不了机,此时必须要抓logcat