The*_*ker 2 android kernel device-driver linux-device-driver linux-kernel
在内核恐慌(OOPS)的情况下,我正在研究Linux上的不同日志记录机制.到目前为止,我在网上搜索,我已经能够得到以下信息:
有人可以在这方面给我启发以下内容吗?
我只是在寻找指针和高级答案,从某种意义上说,我可以采取进一步研究机制的方向.我将不胜感激这方面的任何相关信息.
谢谢
在下面找到您的一系列问题的答案.
什么是旧的apanic机制,从高层来看这是如何工作的?
它是Android用于消息记录的机制.它将日志消息写入NAND的mtd分区中的某个特定偏移量.内核模块将名为"apanic"的文件导出到"debugfs".可以使用以下命令将debugfs挂载到某个目录中."mount -t debugfs none/sys/kernel/debug",它要求在linux内核上启用debugfs配置.有关这方面的更多信息,请参阅下面链接中的源代码.
https://android.googlesource.com/kernel/msm.git/+/android-msm-2.6.35/drivers/misc/apanic.c
为什么弃用apanic机制,支持ram_console/persistent_ram机制?
这个apanic驱动程序不是linux内核的一部分.它特定于android.它在最新版本的androids中已弃用.当内核opps发生时,原因可能是写入nand分区可能不是一个好主意.由于nand_write很慢并且写周期有限.这只是我的看法.但我不确定实际的原因.
新的ram_console/persistent_ram mechinsm给桌子带来了什么好处?
它也是android用于记录控制台消息的日志记录机制.这里记录消息进入RAM区域.在persistent_ram的情况下,日志消息进入RAM的持久存储区域(将被保留).此驱动程序模块在proc目录中创建名为"last_kmsg"的文件.如果内核跳过并停止引导,则可以在下次引导时读取此消息.有关更多信息,请查看以下链接中给出的源代码.
ram_console/persistent_ram以什么方式在功能上与旧的apanic方法不同?
前者是以ram为基础的,后者是基于mtd的.
在最新的实验性android源码中,我找不到两者的来源.不知道原因.
希望我澄清你的疑问.
问候,
Yuvaraj.A
| 归档时间: |
|
| 查看次数: |
1742 次 |
| 最近记录: |