bpftool生成vmlinux.h报错

CPU/显卡/打印机/USB设备等硬件问题
回复
AnS
帖子: 1
注册时间: 2024-03-17 16:13
系统: 9.4.0-1ubuntu1~20.04

bpftool生成vmlinux.h报错

#1

帖子 AnS » 2024-03-17 16:22

租了一个HECS(云耀云服务器)。版本如下

Linux hecs-70262 5.4.0-173-generic #191-Ubuntu SMP Fri Feb 2 13:55:07 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux

CONFIG_DEBUG_INFO_BTF=y状态开启。

bpftool的版本能用。bpftool --version指令能运行。

源码src/文件夹里有
linux-headers-5.4.0-153 linux-headers-5.4.0-173 linux-headers-5.4.0-26 linux-source-5.4.0
linux-headers-5.4.0-153-generic linux-headers-5.4.0-173-generic linux-headers-5.4.0-26-generic linux-source-5.4.0.tar.bz2

也运行了源码解压指令。

但是生成vmlinux.h时总会报错。

我发现这个问题是因为我的vmlinux是个data文件,不是elf文件。但是这是为什么啊?不应该linux最初始自动生成就是elf文件吗?

应该怎么转变成elf文件呢?为什么自动生成的都会错啊?
头像
astolia
论坛版主
帖子: 6450
注册时间: 2008-09-18 13:11

Re: bpftool生成vmlinux.h报错

#2

帖子 astolia » 2024-03-17 22:13

AnS 写了: 2024-03-17 16:22 我发现这个问题是因为我的vmlinux是个data文件,不是elf文件
你把内核的vmlinux和/sys/kernel/btf/vmlinux弄混了,后者本来就不是elf文件。据 https://www.kernel.org/doc/Documentatio ... kernel-btf,它是 Read-only binary attribute exposing kernel's own BTF type information with description of all internal kernel types

你用的是

代码: 全选

bpftool btf dump file /sys/kernel/btf/vmlinux format c > vmlinux.h
吗?不是的话把具体命令和报的错误发上来
回复