BPF編程環境搭建
本來想寫一篇“BPF 深度分析、環境搭建與案例分析”的文章,但是篇幅過長,于是先把BPF編程的環境搭建先放出來。接下來的文章將對BPF深度分析(包括BPF虛擬機、BPF程序指令、BPF目標文件分析、BPF程序類型、BPF加載、翻譯】運行分析),并對一些內核中的例子進行分析,最后嘗試改寫一些程序。
1、安裝編譯所依賴的工具

2、下載內核源碼
建議下載與當前操作系統運行一致的內核版本,避免后續編譯時出現不兼容問題。

3、構建環境

4、編譯可能遇到的問題
error: ‘test_attr__enabled’ undeclared (first use in this function)
解決:

error:'asm/mmiowb.h' file not found
解決:
通過查找發現系統中的頭文件有對應的文件
在 include 文件中創建 asm 目錄,并將該 /usr/src/linux-headers-5.4.0-52-generic/arch/x86/include/generated 目下的全部文件復制到 include/asm 目錄下:

在 include 文件中創建 asm 目錄,并將該 /usr/src/linux-headers-4.15.0-72-generic/arch/x86/include/generated 目下的全部文件復制到 include/asm 目錄下:

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

5、編譯成功
測試:

接下來的文章將對BPF深度分析(包括BPF虛擬機、BPF程序指令、BPF目標文件分析、BPF程序類型、BPF加載、翻譯】運行分析),并對一些內核中的例子進行分析,最后嘗試改寫一些程序。
-
虛擬機
+關注
關注
1文章
972瀏覽量
30466 -
環境搭建
+關注
關注
0文章
60瀏覽量
9461 -
BPF
+關注
關注
0文章
26瀏覽量
4708
發布評論請先 登錄
SoC驗證環境搭建方法的研究
保證BPF程序安全的BPF驗證器介紹
BPF為內核編程提供了一個新的參考模型
如何搭建Python編程環境
內核觀測技術BPF詳解
php運行環境的搭建方法
TI RF Transceiver EVM自動化環境搭建方法
BPF編程的環境搭建方法
評論