我在我的设备上使用了一个 Android 自定义 ROM,还有一个自定义 boot.img(自定义内核 + cmdline + ramdisk)。我现在希望能够在内核崩溃后立即查看内核日志,但不幸的是我不能使用串行控制台。
好消息:Android 的 Linux 内核中似乎有一些源代码/模块正是为此目的而编写的。例如,以下行在我的内核的 .config 文件中被激活:
CONFIG_ANDROID_RAM_CONSOLE=y
CONFIG_ANDROID_RAM_CONSOLE_ENABLE_VERBOSE=y
CONFIG_APANIC=y
CONFIG_APANIC_PLABEL="oem_log"
我的问题是:在我强制内核恐慌以测试这一点之后,即通过加载一个简单的恐慌内核模块insmod panic.ko
,似乎没有日志写入名为oem_log的 MTD (存在于我的设备上)。其次,RAM 在重新启动后也不包含日志,因为它似乎已被清除 - 或者日志也没有写入。
那么在恐慌之后如何获取内核日志呢?如果有一种方法可以在正在运行的系统上测试 APANIC,那也会很有帮助。也许通过使用内核调试系统?到目前为止,我对此很陌生。
提前感谢您的帮助!