我在内核配置文件中启用了CONFIG_DYNAMIC_DEBUG
标志,内置&安装了内核。然后,当我重新启动时,我可以看到/sys/kernel/debug/dynamic_debug/control
。
但是,当我尝试动态启用这样的模块时:
sudo echo 'module xhci_hcd +p' > /sys/kernel/debug/dynamic_debug/control
我得到了:
bash: /sys/kernel/debug/dynamic_debug/control: Permission denied
请注意,我正在使用sudo
。
答案 0 :(得分:2)
启用CONFIG_DYNAMIC_DEBUG
后,只需检查是否已启动到正确的内核版本?接下来检查是否已安装debugfs。
尝试-n
选项(不输出尾随换行符)
echo -n 'module xhci_hcd +p' | sudo tee /sys/kernel/debug/dynamic_debug/control
如果您能够调试ko的特定文件,请尝试:
echo -n 'file filename.c +p' | sudo tee /sys/kernel/debug/dynamic_debug/control
答案 1 :(得分:2)
重定向(使用>
shell运算符)不是以root身份执行的。这就是您获得权限被拒绝错误的原因。我建议你在子shell中运行整个命令,如:
sudo sh -c "echo 'module xhci_hcd +p' > /sys/kernel/debug/dynamic_debug/control"