我使用dmesg
作为学习android内核的一部分(v3.10.49)。
我编辑了这行
#define KLOG_DEFAULT_LEVEL 3
到
#define KLOG_DEFAULT_LEVEL 7
android/system/core/include/cutils/klog.h
中的
获取所有内核日志消息,包括
我在
中对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 表示
"内核环形缓冲区的大小可以在构建内核时配置"
但我无法在书中或网上找到明确的道路。有人可以解释一下这些步骤吗?