天天看點

Linux安裝DPDK并編譯運作helloworld

Linux安裝DPDK并編譯運作helloworld

1.下載下傳安裝rhel8.1

  • 采用linux版本是rhel8.1,系統自帶的python是3.6.8,會提示可以采用更高版本的python,但實際不影響,有需要自行百度
  • https://developers.redhat.com/products/rhel/download

2.下載下傳dpdk-21.11.2.tar.xz

  • https://core.dpdk.org/download/

3.更換yum

  • 主要是因為後續需要下載下傳其他工具,但yum好像是要收費的;若系統中已有pip可跳過
  • 參考部落格:https://blog.csdn.net/weixin_56483756/article/details/124185212
  • 依次執行以下指令:
cd /etc/yum.repos.d  
rm -rf ./*    //擔心出問題可以先備份
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-8.repo //確定聯網
yum -y clean all  //這一步好像有些輸出,忘記截圖了,但不影響
yum -y makecache
           

4.安裝相關工具

  • DPDK 較新版本已經支援 meson+ninja 的編譯方式,版本要求
meson 0.47.1+
ninja 1.7+
           
  • 用pip3下載下傳,用系統自帶工具下載下傳可能會出現下載下傳的版本過低
  • 參考部落格:https://blog.csdn.net/linggang_123/article/details/114137361
  1. 用yum安裝python3-pip
  2. 用pip3安裝meson,najia,pyelftools

5.建立共享檔案夾

  • 用于将下載下傳好的dpdk-21.11.2.tar.xz移動到虛拟機上,也可以通過其他方式,或者直接在虛拟機上下載下傳;(自行百度)
  • 參考部落格:https://blog.csdn.net/gl2538171963/article/details/124428552
  1. 将dpdk-21.11.2.tar放入共享檔案夾後,可在虛拟機的/mnt/hgfs/共享檔案名稱 找到,再移到home目錄(我想安裝在home目錄下,看個人喜好)

6.安裝dpdk

  • 參考部落格:https://blog.csdn.net/chouuik/article/details/122566953
  • 依次執行以下指令
meson build
ninja -C build
sudo ninja -C build install
sudo ldconfig
           

7.手動連結dpdk的lib目錄連結到ldconfig下

  • 這一步是為了解決dpdk運作樣例時找不到.so檔案,參考部落格給出兩種方法,感興趣可自己看
  • 參考部落格:https://blog.csdn.net/linggang_123/article/details/114137361
  1. 在目錄/etc/ld.so.conf.d/下建立檔案:dpdk-ling.conf
  2. 檔案内容:/home/dpdk/build/lib (檔案内容要根據自己dpdk的安裝目錄,dpdk解壓後的檔案夾帶版本名,我給重命名成dpdk了)

8.設定庫查找路徑

  • 依次執行以下指令
export PKG_CONFIG_PATH=/usr/local/lib64/pkgconfig
ldconfig
//可用以下指令檢測:一切順利的話,會顯示DPDK版本号
pkg-config --modversion libdpdk 
           

9.編譯運作helloworld樣例

cd /home/dpdk/examples/helloworld   //根據自己的安裝目錄
make
./build/helloworld --no-huge  //因為還沒配置大頁 需加參數--no-huge
           
  • 一切順利的話就可以啦,不順利就自己慢慢百度吧
  • Linux安裝DPDK并編譯運作helloworld

10.題外話:更換鏡像源

  • 示例:
pip3 install pyelftools -i http://pypi.doubanio.com/simple/ --trusted-host pypi.doubanio.com 
           
  1. http://mirrors.aliyun.com/pypi/simple/ 阿裡雲
  2. https://pypi.mirrors.ustc.edu.cn/simple/ 中國科技大學
  3. http://pypi.mirrors.ustc.edu.cn/simple/ 中國科學技術大學
  4. https://pypi.tuna.tsinghua.edu.cn/simple/清華大學
  5. http://pypi.douban.com/simple/ 豆瓣
  • 失敗的時候試試能不能ping通,我自己虛拟機不知道為啥有時候突然就識别不了域名了,重新開機一下就好了。是以建議不能下載下傳的時候,建議ping一下www.baidu.com,可以ping通的話就不是網絡問題。

繼續閱讀