启用CONFIG_DEBUG_INFO_BTF时出现内核编译错误


FAILED: load BTF from vmlinux: No such file or directory
make: *** [Makefile:1164: vmlinux] Error 255
make: *** Deleting file 'vmlinux'
root@akb:/home/akb/SRC/net/net-next# 

我必须启用BTF,我的BPF xdp程序才能工作。

环境:在ubuntu 22.04虚拟机上,net next(5.19(最新版本编译并安装在VM上。重新编译会产生错误。有什么指针。。。?提前谢谢。

我解决了同样的问题。

首先你需要确保CONFIG_DEBUG_INFO_BTF=y已设置并从安装paholehttps://github.com/acmel/dwarves.我启用了CONFIG_DEBUG_INFO_SWARF4=y

你必须把pahole-libs联系起来(这让我停了很长时间。(:导出LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH

我以前的失败是:

  1. 我没有禁用CONFIG_DEBUG_INFO_NONE。此配置用于禁用所有调试配置信息
  2. 一些模块发生故障,如SSSE3和chacha20模块。我只是禁用了他们的工具。这些是加密模块,不确定它们失败的原因

我希望这也能对你有所帮助。

在内核源中,当在.CONFIG文件中启用CONFIG_DEBUG_INFO_BTF时,将vmlinux从/sys/kernel/BTF/vmlinux复制到/usr/lib/modules/uname -r/build/

cp/sys/kernel/btf/vmlinux/usr/lib/modules/uname -r/build/

sudo/sys/kernel/btf/vmlinux/usr/lib/modules/uname -r/build/

相关内容

  • 没有找到相关文章

最新更新