Fedora 中的 BPF 示例

Fedora 中的 BPF 示例

man bpf指出

在内核源代码树的 samples/bpf 目录中可以找到一些完整的工作代码。

但是我在该位置找不到任何样本:

$ uname -r
5.1.11-200.fc29.x86_64
$ ls /usr/src/kernels/5.1.11-200.fc29.x86_64/samples/bpf
Makefile

sudo make似乎由于其他原因而出错,但是看起来预计( )Makefile中存在样本:samples/bpfBPF_SAMPLES_PATH

$ cd /usr/src/kernels/5.1.11-200.fc29.x86_64/
$ sudo make headers_install
$ sudo make samples/bpf/
  HOSTCC  scripts/selinux/genheaders/genheaders
scripts/selinux/genheaders/genheaders.c:18:10: fatal error: classmap.h: No such file or directory
 #include "classmap.h"
          ^~~~~~~~~~~~
compilation terminated.
make[3]: *** [scripts/Makefile.host:92: scripts/selinux/genheaders/genheaders] Error 1
make[2]: *** [scripts/Makefile.build:486: scripts/selinux/genheaders] Error 2
make[1]: *** [scripts/Makefile.build:486: scripts/selinux] Error 2
make: *** [Makefile:1069: scripts] Error 2

还,远程 Linux 内核仓库包含一个带有示例的 README 文件

Fedora Linux 内核目录中是否有 BPF 示例?如果有,它们位于哪里?

答案1

您需要安装 LLVM 包来将示例程序编译为字节码,该字节码将由内核虚拟机执行。

还应该安装内核头文件。

相关内容