Ftraceとデバッグ情報をサポートするカーネル(4.15)を構築しようとすると、次のエラーが発生します。
FAILED: load BTF from vmlinux: No such file or directory
Makefile:1160: recipe for target 'vmlinux' failed
これが私が試していることです:
$ ./scripts/config -e CONFIG_FTRACE
$ ./scripts/config -e CONFIG_DEBUG_INFO
$ ./scripts/config -e CONFIG_DEBUG_INFO_DWARF5
$ ./scripts/config -e CONFIG_BPF_SYSCALL
$ ./scripts/config -e CONFIG_DEBUG_INFO_BTF
$ ./scripts/config -d CONFIG_DEBUG_INFO_REDUCED
$ yes "" | make oldconfig
$ make -j$(nproc) Image dtbs modules
この質問は次の質問とは異なるようです。
kernel-5.9.1 をコンパイルすると、「失敗: vmlinux から BTF を読み込む: 不明なエラー -2make: ***[Makefile:1162:vmlinux] エラー 255」
答え1
2022年にカーネル4.15をインストールする理由はわかりませんが、それ以外は実行しないでくださいyes "" | make oldconfig
。これにより、新しい質問に対して「はい」が選択されます。おそらく必要なのは、make olddefconfig
新しい質問のデフォルト値を選択することです(「はい」である必要はありません)。これは問題の一部である可能性があります。
ドワーフがインストールされていることも確認する必要があります。
答え2
実際のエラーの原因は、エラーの上の12行ほどになるようですload BTF from vmlinux: No such file or directory
。
私が知る限り、それは警告です。(はい、これはビルドを中断しないので警告です。):
[…]
BTF .btf.vmlinux.bin.o
btf_encoder__encode: btf__dedup failed!
Failed to encode BTF
[…]
...この問題は、を無効にして無効にした開発の初期段階の回帰ですCONFIG_X86_KERNEL_IBT
。