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/control
。
debugfs
安装到 /sys/kernel/debug/
(这是典型的)并且它还有其他文件(所以它不像 debugfs 被意外安装)。替代路径/proc/dynamic_debug/
也不存在。
运行 Linux 内核 5.15。
启用“动态调试”需要设置Linux编译选项
CONFIG_DYNAMIC_DEBUG
。就我而言,我使用的是 Raspbian,并且 该项目决定在 Linux 构建期间不启用 CONFIG_DYNAMIC_DEBUG
。
我可以“自己动手”(使用 CONFIG_DYNAMIC_DEBUG
编译 Raspbian),但这需要大量工作,并且可能会扰乱 apt 包管理。🙁