Islands in the byte stream

Technical notes by a software engineer

BPF CO-RE は GitHub Actions の Ubuntu 20.04 インスタンスでテストできそう

BPF CO-RE (CO-RE: Compile Once , Run Everywhere) を実行するにはLinux kernelがBTF (BPF Type Format) つきでビルドされている必要があります。

Ubunt 20.04 の最初のリリースではBTFは有効になっていませんでしたが、アップデートで配信されているカーネル 5.13.0-39-generic ではBTFが有効なのでカーネルのアップデートをするだけでBPF CO-REが使えます。

GitHub Actionsの場合、デフォルトのカーネルではなくAzureのためのカスタムカーネルですが、こちらも最近のインスタンスBTFが有効になっているので、特別なことをしなくても BPF CO-RE をテストできそうです。

github.com

  • ci.yml - workflow file、ただし実際には make を呼ぶだけ
  • Makefile - 依存関係のインストールやビルドなど

これで BPF CO-RE を使ったツールも開発し放題ですね!