官档翻译-从源码编译DPDK注意事项

注意:
下篇中描述的有些步骤可以在Quick Start Setup Script章节中提到
http://doc.dpdk.org/guides/linux_gsg/quick_start.html#linux-setup-script

浏览源码安装DPDK

首先解压下载下来源码压缩包,然后进入到解压之后DPDK源码目录中。
tar xJf dpdk-.tar.xz
cd dpdk-

DPDK的文件目录由以下几个子目录组成:

lib:DPDK库的源代码
drivers:poll-mode驱动的源码
app:DPDK应用的源码(自动测试)
examples:DPDK应用中例子的源码
config,buildtools,mk:有关编译文件,脚本和配置的框架

安装DPDK到目标环境

DPDK目标的格式是:
ARCH-MACHINE-EXECENV-TOOLCHAIN

• ARCH can be: i686, x86_64, ppc_64, arm64
• MACHINE can be: native, power8, armv8a
• EXECENV can be: linuxapp, bsdapp
• TOOLCHAIN can be: gcc, icc
DPDK安装的版本取决于下载下来的安装包是32位还是64位和编译机器的CPU是32还是64位。可编译的target可以在DPDK/config目录中找到。此时defconfig_prefix不应该再被使用。

注意
配置文件中已经提供了RTE_MACHINE优化级别设置。在配置文件中,RTE_MACHINE参数的值由编译时实时的写入进去。这意味着编译软件是针对本地的平台来决定的。更多有关配置的详细信息可以详见DPDK Programmers Guide。

当使用Intel C++编译器,以下的命令应该针对64位或者32位来选择使用。注意shell脚本会根据你执行的命令来更新$PATH环境变量。因此在同一个session中不要重复执行。确认你本机编译器安装路径可能与示例的编译器路径不同。
source /opt/intel/bin/iccvars.sh intel64
source /opt/intel/bin/iccvars.sh ia32

为了安装和编译DPDKtargets,在DPDK目录中使用make install T=。例如使用icc来编译64位的DPDK:
make install T=x86_64-native-linuxapp-icc

使用gcc来编译32位的,则需要使用下列的命令:
make install T=i686-native-linuxapp-gcc

如果不想build这个target而只是想单纯的对target先进行配置(例如在编译前还想修改一些配置,则可以考虑只先陪配置准备而不做build)可使用类似命令: make config T=
make config T=x86_64-native-linuxapp-gcc

警告:任何被使用的内核模块,例如igb_uio,kni必须使用相同的内核编译一个运行的target。如果DPDK没有在目标机器上被编译,则RTE_KERNELDIR环境变量需要再目标机器上指向内核版本的副本。

一但target环境被创建,用户可能需要移动到target环境目录下,然后继续开始代码编译。在编译路径文件夹中,用户也可以通过修改.config的配置文件来修改在编译时DPDK的配置。(顶级配置文件目录下拷贝一份默认配置文件)。
cd x86_64-native-linuxapp-gcc
vi .config
make

另外可以使用make clean命令来清除所有现有编译的状态,为后续的完整干净的代码编译做准备。

浏览安装DPDK环境target

一旦编译包含了所有的库来创建target,里面包含了在客户应用程序中使用DPDK所包含的poll-mode驱动和所有头文件。另外,所有的测试和testpmd应用都会被便宜在build/app目录下,这些可用于测试。kmod文件夹仍然会被保存下来,里面包含了需要使用加载的对应内核模块。
http://doc.dpdk.org/guides/linux_gsg/build_dpdk.html

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值