我正在Ubuntu机器上开发eBPF程序:
$ uname -a
Linux ubuntu-bionic 4.18.0-16-generic #17~18.04.1-Ubuntu SMP Tue Feb 12 13:35:51 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
为此,我需要bpf.h
多个定义以及bpf_helpers.h
辅助函数定义。我安装了带有标题的新内核:
apt-get update -y
apt-get install -y linux-image-4.18.0-16-generic linux-headers-4.18.0-16-generic
标头包括bpf.h
:
$ find /usr/src/linux-headers-4.18.0-16 -name bpf.h
/usr/src/linux-headers-4.18.0-16/include/uapi/linux/bpf.h
/usr/src/linux-headers-4.18.0-16/include/linux/bpf.h
但不是bpf_helpers.h
:
$ find /usr/src/linux-headers-4.18.0-16 -name bpf_helpers.h
我如何为我的内核获取此文件,为什么它不包含在分发标题中?
我可以签出特定版本的Linux内核,也可以从master那里获取文件,但是发行版可能会对上游进行了更改,这让我感到不舒服。
bpf_helpers.h
是不是与内核头文件分发。正如agg3l在评论中建议的那样,您可以从Ubuntu的linux-source package中复制它。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句