缺少Linux /sys/kernel/debug/dynamic_debug,如何启用?

s8vozzvw  于 2022-11-02  发布在  Linux
关注(0)|答案(1)|浏览(479)

tl;dr我想使用Linux“动态调试”,但找不到路径/sys/kernel/debug/dynamic_debug/

我想使用Linux的“动态调试”功能来启用特定内核模块(wireguard)的调试消息。要启用内核模块的内核调试消息,需要将指令写入文件/sys/kernel/debug/dynamic_debug/control

echo module wireguard +p > /sys/kernel/debug/dynamic_debug/control

但是没有目录/sys/kernel/debug/dynamic_debug/,因此也没有文件/sys/kernel/debug/dynamic_debug/controldebugfs被挂载到/sys/kernel/debug/(这是典型的),并且它有其他文件(所以这不像是debugfs被意外挂载)。也不存在替代路径/proc/dynamic_debug/
运行Linux内核5.15。

mf98qq94

mf98qq941#

启用“动态调试”需要设置Linux编译选项CONFIG_DYNAMIC_DEBUG。在我的例子中,我使用的是Raspbian和that project decided not to enable CONFIG_DYNAMIC_DEBUG during Linux builds
我可以“滚动我自己的”(用CONFIG_DYNAMIC_DEBUG编译Raspbian),但这是一个很大的工作,可能会打乱apt包管理。
🙁

相关问题