Getting Started Guide for Linux(3)编译DPDK

官方文档查看地址:
http://doc.dpdk.org/guides/linux_gsg/build_dpdk.html
PDF下载地址:
https://www.intel.com/content/www/us/en/embedded/technology/packet-processing/dpdk/dpdk-getting-started-guide.html

本篇难度系数:
翻译:☆☆☆☆☆
理解:★★☆☆☆

3.从源代码编译DPDK目标

请注意
这个过程的某些部分也可以使用本文档的快速启动安装脚本部分中描述的安装脚本(http://doc.dpdk.org/guides/linux_gsg/quick_start.html#linux-setup-script)来完成。

3.1安装DPDK并浏览源代码
首先,解压存档文件,并移动到未压缩的DPDK源目录:

tar xJf dpdk-<version>.tar.xz
cd dpdk-<version>

.zip格式用:

unzip dpdk-<version>.zip

DPDK由以下几个目录组成:

  • lib: DPDK库源代码
  • driver:DPDK轮询模式驱动程序的源代码
  • app: DPDK应用程序源代码(自动测试)
  • examples:DPDK应用程序示例的源代码
  • config、buildtools、mk:与框架相关的makefile、脚本和配置

3.2安装DPDK目标环境

DPDK目标的格式是:

ARCH-MACHINE-EXECENV-TOOLCHAIN

where:

  • ARCH 可以是: i686, x86_64, ppc_64, arm64
  • MACHINE 可以是: native, power8, armv8a
  • EXECENV 可以是: linux, freebsd
  • TOOLCHAIN 可以是: gcc, icc

要安装的目标取决于安装在主机上的32位和/或64位包和编译器。可用的目标可以在DPDK/config目录中找到。不应该使用defconfig_前缀。

请注意
配置文件提供了RTE_MACHINE优化级别集。在配置文件中,RTE_MACHINE配置值被设置为native,这意味着编译后的软件针对构建它的平台进行了调优。有关此设置及其可能值的更多信息,请参阅DPDK程序员指南(DPDK Programmers Guide)。

当使用Intel®c++编译器(icc)时,应分别调用以下命令中的一个,以供64位或32位使用。注意,shell脚本更新了$PATH变量,因此不应该在同一个会话中执行。此外,验证编译器的安装目录,因为路径可能不同:

source /opt/intel/bin/iccvars.sh intel64
source /opt/intel/bin/iccvars.sh ia32

要安装和生成目标,请使用顶级DPDK目录中的make install T=<target>命令。

例如,要使用icc编译64位目标,请运行:

make install T=x86_64-native-linux-icc

要使用gcc编译32位构建,make命令应该是:

make install T=i686-native-linux-gcc

例如,如果在编译之前需要对配置进行更改,可以使用make config T=<target>命令:

make config T=x86_64-native-linux-gcc

警告
任何要使用的内核模块,例如igb_uiokni,都必须使用与目标上运行的内核相同的内核编译。如果DPDK不是在目标机器上构建的,那么应该使用RTE_KERNELDIR环境变量将编译指向目标机器上使用的内核版本的副本。

一旦创建了目标环境,用户就可以移动到目标环境目录,并继续进行代码更改和重新编译。用户还可以通过编辑build目录中的.config文件来修改编译时DPDK配置。(这是从顶级配置目录中生成的defconfig文件的本地副本)。

cd x86_64-native-linux-gcc
vi .config
make

此外,make clean命令可用于删除任何已编译的现有文件,以便随后对代码进行完整、干净的重新构建。

3.3浏览已安装的DPDK环境目标
一旦创建了目标,它就包含所有库,包括poll模式驱动程序和用于DPDK环境的头文件(构建客户应用程序需要这些头文件)。此外,test和testpmd应用程序是在build/app目录下构建的,它可以用于测试。还提供了一个kmod目录,其中包含内核模块,如果需要,可以加载这些模块。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值