天天看点

高通平台启动log概述(PBL log、sbl1 log、kernel log)【转】

高通平台启动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=ttyHSL0

2,defconfig

需要在kernel的配置中添加

CONFIG_SERIAL_MSM_HSL=y

CONFIG_SERIAL_MSM_HSL_CONSOLE=y

串口console在开机后可能会降低打印级别,可以通过如下命令显示所有log

echo "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进程启动android

Format: Log Type - Time(microsec) - Message - Optional Info

Log Type: B - Since Boot(Power On Reset),  D - Delta,  S - Statistic

S - QC_IMAGE_VERSION_STRING=BOOT.BF.3.3-00221

S - IMAGE_VARIANT_STRING=FAASANAZA

S - OEM_IMAGE_VERSION_STRING=ubuntu

S - Boot Config, 0x000000e1

B -       246 - PBL, Start

B -      2946 - bootable_media_detect_entry, Start

B -     69427 - bootable_media_detect_success, Start

B -     69432 - elf_loader_entry, Start

B -     71073 - auth_hash_seg_entry, Start

B -     71322 - auth_hash_seg_exit, Start

B -     99643 - elf_segs_hash_verify_entry, Start

B -    200021 - PBL, End

B -    209901 - SBL1, Start