本文转自:
高通平台启动log概述(PBL log、sbl1 log、kernel log)
在嵌入式linux的调试过程中log有着至关重要的地位,等同于医生的CT报告。能够熟悉启动各个阶段的log,如PBL阶段,sbl1阶段,kernel阶段,android阶段,对于分析定位问题有着重要的作用。本文以高通msm8937平台android启动的串口log为例简要介绍一下log相关的技巧和对log的概要介绍。关于各个启动阶段的分析,可以参考:linux驱动由浅入深系列:PBL-SBL1-(bootloader)LK-Android启动过程详解之一(高通MSM8953启动实例)user版本不同于userdebug版本,可能会关闭串口log,在调试user版时就需要开启。开启的方法如下1,cmdline需要保证cmdline中有androidboot.console=ttyHSL02,defconfig需要在kernel的配置中添加CONFIG_SERIAL_MSM_HSL=yCONFIG_SERIAL_MSM_HSL_CONSOLE=y串口console在开机后可能会降低打印级别,可以通过如下命令显示所有logecho "8 6 1 7" > /proc/sys/kernel/printk关闭所有log显示echo "0 6 1 7" > /proc/sys/kernel/printk启动log概述下面是msm8937平台上完整的开机串口log,红色部分是PBL log,绿色部分是sbl1 log,紫色为lk部分log,蓝色部分是kernel log,深蓝色部分kernel启动12s左右内核启动完毕,可以看到之后启了第一个用户进程init,由init进程启动androidFormat: Log Type - Time(microsec) - Message - Optional InfoLog Type: B - Since Boot(Power On Reset), D - Delta, S - StatisticS - QC_IMAGE_VERSION_STRING=BOOT.BF.3.3-00221S - IMAGE_VARIANT_STRING=FAASANAZAS - OEM_IMAGE_VERSION_STRING=ubuntuS - Boot Config, 0x000000e1B - 246 - PBL, StartB - 2946 - bootable_media_detect_entry, StartB - 69427 - bootable_media_detect_success, StartB - 69432 - elf_loader_entry, StartB - 71073 - auth_hash_seg_entry, StartB - 71322 - auth_hash_seg_exit, StartB - 99643 - elf_segs_hash_verify_entry, StartB - 200021 - PBL, EndB - 209901 - SBL1, Start