如何使用 yocto 项目在内核中生成 /sys/kernel/debug/tracing 文件夹?

如何使用 yocto 项目在内核中生成 /sys/kernel/debug/tracing 文件夹?

我想perf在 Renesas 目标上使用,并且配置了 yocto“local.conf”,如下所示这个链接

#avoid stripping binaries 
INHIBIT_PACKAGE_STRIP = "1"

#add the debug information
EXTRA_IMAGE_FEATURES= "debug-tweaks tools-debug dbg-pkgs tools-profile"

#format the debug info into a readable format for PERF
PACKAGE_DEBUG_SPLIT_STYLE = 'debug-file-directory'

perf正在工作,但我需要监视需要使用的上下文切换perf timechart和依赖于 perf-events 的其他命令,但命令找不到此路径 "/sys/kernel/debug/tracing/events" 。

我应该怎么做才能让这个文件夹及其文件与我的内核一起编译?

答案1

您可能需要安装 debugfs 文件系统:

mount -t debugfs none /sys/kernel/debug

如果您已经有自己的启动脚本,/etc/init.d/应该可以将其添加到那里,或者您可以将其添加/etc/fstab

debugfs /sys/kernel/debug debugfs defaults

答案2

我找到了与我遇到的完全相同的问题的答案这里

在 Linux 内核上完全“激活”ftrace 的步骤是:

  • bitbake -c menuconfig linux-imx(每个板的目标都会不同,所以你必须查找它)
  • 然后从菜单中选择“内核黑客”-> 跟踪器。输入“Y”即可激活。
  • 进入 Tracers 子目录并启用“Function Tracers”(这也会启用“Function Graph Tracers”)。
  • 保存配置文件,覆盖当前配置文件,然后重建。

答案3

就我而言,使用 yocto 和 5.10 内核,启用了正确的内核配置选项。但是,仅安装了,并且由于选项而缺少/sys/kernel/tracing路径(根据文档安装 debugfs 时应安装该路径以实现向后兼容性) 。/sys/kernel/debug/tracingCONFIG_TRACEFS_DISABLE_AUTOMOUNT=y

相关内容