1. 程式人生 > >高通平臺啟動log概述(PBL log、sbl1 log、kernel log)【轉】

高通平臺啟動log概述(PBL log、sbl1 log、kernel log)【轉】

本文轉自:https://blog.csdn.net/RadianceBlau/article/details/78416776?utm_source=blogxgwz9

高通平臺啟動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