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 をテストできそうです。
ci.yml
- workflow file、ただし実際にはmake
を呼ぶだけMakefile
- 依存関係のインストールやビルドなど
これで BPF CO-RE を使ったツールも開発し放題ですね!