type
status
slug
summary
tags
category
icon
password
new update day
Property
Oct 22, 2023 01:31 PM
created days
Last edited time
Oct 22, 2023 01:31 PM
此系列的学习是跟随下面的这个学习手册进行的,同时相关的实验开发环境也是下面的项目提供的,想了解相关信息的话请参阅下面的链接:

1 实验环境搭建(使用推荐的 Vagrant 模式)

1.1 安装 Vagrant

Vagrant 的安装,可以参考下方给出的官方安装指导手册。

1.2 克隆实验项目到本地

Vagrant 安装完成后,需要克隆实验项目到本地,然后根据项目中 Vagrantfile 文件中的定义完成实验环境的自动化配置。

1.3 下载虚拟机镜像

💡
注意!因为项目所使用的虚拟机镜像是 2019 年发布的,因时间过于久远,官方将相关的下载链接从 Vagrant 中移除了,将其进行了归档处理,所以大家在直接启动实验环境的时候会出现无法找到镜像的报错。
在这里给出一个实验项目中使用到的虚拟机镜像的下载链接:

1.4 重新编写 Vagrantfile 文件

  • 定义 fedora.vm.box_url 可以是 file:// 也可以是 http://
  • 注释掉 fedora.vm.box_version

1.5 启动实验环境

这个 Vagrant 命令,将在 Virtualbox 中启动一个 Fedora 30 虚拟机,你可以使用 SSH 进入机器(在当前终端中登陆 SSH):
当然也可以使用其它的 SSH 工具进行远程连接,运行下面的命令查看虚拟机的 SSH 配置,默认虚拟机是使用公私钥进行身份认证的。
下面显示出了 SSH 的连接地址与监听端口信息(HostNamePort),同时也给出了用户名与身份认证文件所在的详细位置(UserIdentityFile)。

1.6 下载实验环境使用的内核源码

在继续之前,请确保您下载了此存储库中所使用的内核源代码树。某些示例需要使用它作为依赖项。我们将下载内核 5.0.9 的代码——我们在这里避免使用 git 克隆,因为内核的 Git 历史非常长。
在虚拟机中执行以下命令:
此时,我们需要编译libbpf库:

1.7 在虚拟机中创建项目副本

在正式开始进行实验之前,在环境中拥有此存储库的副本会很有用。
💡
重要说明:项目中的例子都假设你已经在主文件夹 ~/linux-observability-with-bpf 中克隆了 repo,如果您没有这样做,请记住你所做的更改!
是的,在这时你已经拥有了一切并且可以按照示例代码进行操作了。
 
Ubuntu apt 包管理器代理设置BPF 学习系列之 - Hello,BPF World!