BPF编程的环境搭建方法

描述

BPF编程环境搭建

本来想写一篇“BPF 深度分析、环境搭建与案例分析”的文章,但是篇幅过长,于是先把BPF编程的环境搭建先放出来。接下来的文章将对BPF深度分析(包括BPF虚拟机、BPF程序指令、BPF目标文件分析、BPF程序类型、BPF加载、翻译】运行分析),并对一些内核中的例子进行分析,最后尝试改写一些程序。

1、安装编译所依赖的工具

BPF

2、下载内核源码

建议下载与当前操作系统运行一致的内核版本,避免后续编译时出现不兼容问题。

BPF

3、构建环境

BPF


4、编译可能遇到的问题

error: ‘test_attr__enabled’ undeclared (first use in this function)

解决:

BPF

error:'asm/mmiowb.h' file not found

解决:

通过查找发现系统中的头文件有对应的文件

在 include 文件中创建 asm 目录,并将该 /usr/src/linux-headers-5.4.0-52-generic/arch/x86/include/generated 目下的全部文件复制到 include/asm 目录下:

BPF

在 include 文件中创建 asm 目录,并将该 /usr/src/linux-headers-4.15.0-72-generic/arch/x86/include/generated 目下的全部文件复制到 include/asm 目录下:

BPF

error:'generated/bounds.h' file not found

解决:

BPF

5、编译成功

测试:

BPF

接下来的文章将对BPF深度分析(包括BPF虚拟机、BPF程序指令、BPF目标文件分析、BPF程序类型、BPF加载、翻译】运行分析),并对一些内核中的例子进行分析,最后尝试改写一些程序。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分