Renesasターゲットで使用したいと思い、perf
以下のように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
(ボードごとに対象が異なりますので、ぜひ探してみてください)- 次に、メニューから「Kernel Hacking」 - > Tracerを選択します。有効にするには、「Y」と入力してください。
- Tracersサブディレクトリに移動して「Function Tracers」を有効にします(これにより、「Function Graph Tracers」も有効になります)。
- 構成ファイルを保存し、現在の構成ファイルを上書きして再構築します。
答え3
私の場合、yoctoと5.10カーネルを使用して正しいカーネル設定オプションが有効になりました。ただし、インストールのみがあり、/sys/kernel/tracing
オプションによりパスがありません(文書によると、debugfsをインストールするときは、以前のバージョンとの互換性のためにインストールする必要があります)。/sys/kernel/debug/tracing
CONFIG_TRACEFS_DISABLE_AUTOMOUNT=y