构建内核时如何配置内核环缓冲区的大小?

时间:2017-09-04 08:44:38

标签: android debugging logging linux-kernel circular-buffer

我使用dmesg作为学习android内核的一部分(v3.10.49)。

我编辑了这行

#define KLOG_DEFAULT_LEVEL 3

#define KLOG_DEFAULT_LEVEL 7

源代码android/system/core/include/cutils/klog.h

中的

获取所有内核日志消息,包括

  • ERROR_LEVEL
  • WARNING_LEVEL
  • NOTICE_LEVEL
  • INFO_LEVEL
  • DEBUG_LEVEL

我在

中对void klog_set_level(int level)函数进行了硬编码

android/system/core/libcutils/klog.c确保任何人都无法从值 7 中更改klog_level

但问题是因为内核使用了一个环形缓冲区,当我获得在设备上运行dmesg所需的root shell时,它总是会部分覆盖。

这本书我指的是 Android Internals A Confectioner's Cookbook(第一卷:高级用户的视图)随着Android M的更新,预览版本1(6/2015)作者:Jonathan Levin 表示

  

"内核环形缓冲区的大小可以在构建内核时配置"

但我无法在书中或网上找到明确的道路。有人可以解释一下这些步骤吗?

以下是我编辑过的文件的链接:klog.hklog.c

0 个答案:

没有答案