本文主要是介绍kernel restart_level,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1,打开内核中log相关的配置
一,kenel与modem启动关系的设定,有一下两种途径
①busybox find ./ -name restart_level
./sys/devices/soc.0/4080000.qcom,mss/subsys2/restart_level
./sys/devices/soc.0/a21b000.qcom,pronto/subsys1/restart_level./sys/devices/soc.0/1de0000.qcom,venus/subsys0/restart_level
将./sys/devices/soc.0/4080000.qcom,mss/subsys2/restart_level 的值设置为SYSTEM/RELATED 表明modem死掉时ap 同时重启/不重启
②android的属性系统文件为*.prop,可以通过getprop和setprop来查看和设定 //busybox find ./ -name *.prop
setprop persist.sys.ssr.restart_level 1 //若系统死机,则ap也重启进入download模式
setprop persist.sys.ssr.restart_level 3 //若系统死机,则ap会重启modem
persist.sys.ssr.restart_level属性的工作过程可以查看 http://blog.csdn.net/visionliao/article/details/24037489
二,设置内核panic后进入download模式
kernel\drivers\power\reset\msm-poweroff.c
static void msm_restart_prepare(const char *cmd)函数中有下边一句
set_dload_mode(download_mode &&(in_panic || restart_mode == RESTART_DLOAD));
panic:如果有panic则表示 kernel panic时进入download模式
发布版本时一般会不设置panic,用户使用时如果panic的话如果进入download模式时用户就蒙了 ~是不
进入download后打开QPST,会显示sahara或者进度条的样子,表明手机处在下载模式
2,得到log
内核配置好后,如果手机进入panic后,内核log会自动存在ram中,我们可以用QPST将其取出
右键点击QPST的小地球,选择open data directory,如下图
先查看你的串口是哪个,打开的文件夹中,有相应串口的文件夹,进入后找到两个最大的文件就是ram中保存的log
至此,log文件已经取出
3,解析log
下边两个高通的工具用来解析你打印出来的log
ramparse ramdump工具
git clone git://codeaurora.org/quic/la/platform/vendor/qcom-opensource/tools
这篇关于kernel restart_level的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!