libbpf-bootstrap 开发指南:概念与如何安装

目录

概念

如何安装& 使用

git 地址

使用git clone 下载代码

安装依赖环境

安装libbpf

编译example


概念

libbpf-bootstrap 是一个项目,旨在帮助开发者快速启动和开发使用 eBPF (Extended Berkeley Packet Filter) 和 libbpf 的程序。eBPF 是一种可以在 Linux 内核中运行的程序,提供了强大的网络过滤、系统调用监控和性能分析等功能。libbpf 是一个库,用于加载和管理 eBPF 程序和 map。

libbpf-bootstrap 提供了一些样例程序和模板,帮助开发者理解如何使用 libbpf 创建、加载、管理 eBPF 程序,并与这些程序进行交互。

以下是 libbpf-bootstrap 的一些主要特性:

  1. 样例程序:libbpf-bootstrap 提供了一些样例程序,用于演示如何使用 libbpf 和 eBPF。这些样例程序包括网络监控、性能分析等不同类型的 eBPF 程序。
  2. 构建系统集成:libbpf-bootstrap 提供了集成到构建系统的模板,可以方便地编译和链接 eBPF 程序。
  3. BPF CO-RE (Compile Once - Run Everywhere) 支持:BPF CO-RE 是一种让 eBPF 程序能在不同版本的 Linux 内核上运行的技术。libbpf-bootstrap 支持 CO-RE,使得开发的 eBPF 程序可以在不同版本的 Linux 内核上运行,无需重新编译。
  4. 用户空间和内核空间程序的交互:libbpf-bootstrap 展示了如何从用户空间程序发送数据到 eBPF 程序,以及从 eBPF 程序返回数据到用户空间。
  5. 详细的文档:libbpf-bootstrap 提供了详细的文档,包括如何安装、如何使用样例程序,以及如何创建自己的 eBPF 程序等。

如何安装& 使用

git 地址

https://github.com/libbpf/libbpf-bootstraphttps://github.com/libbpf/libbpf-bootstrap

使用git clone 下载代码

git clone --recursive  https://github.com/libbpf/libbpf-bootstrapgit clone --recursive  https://github.com/libbpf/libbpf-bootstrap

--recursive 的含义是包括子仓库一起下载

安装依赖环境

sudo apt install clang libelf1 libelf-dev zlib1g-devsudo apt install clang libelf1 libelf-dev zlib1g-dev

安装libbpf

cd libbpf/src/
make
sudo make installcd libbpf/src/
make
sudo make install

编译example

cd examples/c/
make
sudo ./minimalcd examples/c/
make
sudo ./minimal

如果出现了

Successfully started! Please run `sudo cat /sys/kernel/debug/tracing/trace_pipe` to see output of the BPF programs.Successfully started! Please run `sudo cat /sys/kernel/debug/tracing/trace_pipe` to see output of the BPF programs.

就算是完成了初期的准备工作

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ym影子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值