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文章
919瀏覽量
28342 -
環境搭建
+關注
關注
0文章
54瀏覽量
9070 -
BPF
+關注
關注
0文章
25瀏覽量
4027
發布評論請先 登錄
相關推薦
評論