BPF編程環(huán)境搭建
本來想寫一篇“BPF 深度分析、環(huán)境搭建與案例分析”的文章,但是篇幅過長,于是先把BPF編程的環(huán)境搭建先放出來。接下來的文章將對BPF深度分析(包括BPF虛擬機(jī)、BPF程序指令、BPF目標(biāo)文件分析、BPF程序類型、BPF加載、翻譯】運(yùn)行分析),并對一些內(nèi)核中的例子進(jìn)行分析,最后嘗試改寫一些程序。
1、安裝編譯所依賴的工具
2、下載內(nèi)核源碼
建議下載與當(dāng)前操作系統(tǒng)運(yùn)行一致的內(nèi)核版本,避免后續(xù)編譯時(shí)出現(xiàn)不兼容問題。
3、構(gòu)建環(huán)境
4、編譯可能遇到的問題
error: ‘test_attr__enabled’ undeclared (first use in this function)
解決:
error:'asm/mmiowb.h' file not found
解決:
通過查找發(fā)現(xiàn)系統(tǒng)中的頭文件有對應(yīng)的文件
在 include 文件中創(chuàng)建 asm 目錄,并將該 /usr/src/linux-headers-5.4.0-52-generic/arch/x86/include/generated 目下的全部文件復(fù)制到 include/asm 目錄下:
在 include 文件中創(chuàng)建 asm 目錄,并將該 /usr/src/linux-headers-4.15.0-72-generic/arch/x86/include/generated 目下的全部文件復(fù)制到 include/asm 目錄下:
error:'generated/bounds.h' file not found
解決:
5、編譯成功
測試:
接下來的文章將對BPF深度分析(包括BPF虛擬機(jī)、BPF程序指令、BPF目標(biāo)文件分析、BPF程序類型、BPF加載、翻譯】運(yùn)行分析),并對一些內(nèi)核中的例子進(jìn)行分析,最后嘗試改寫一些程序。
-
虛擬機(jī)
+關(guān)注
關(guān)注
1文章
940瀏覽量
28427 -
環(huán)境搭建
+關(guān)注
關(guān)注
0文章
54瀏覽量
9081 -
BPF
+關(guān)注
關(guān)注
0文章
25瀏覽量
4055
發(fā)布評論請先 登錄
相關(guān)推薦
評論