CentOS7编译dpdk

最近研究dpdk,官方提供了一个Tutorial来指导编译,但实际操作还是有一些坑的,在此总结一下。

  • 下载并解压dpdk源码,以16.07.2版本为例:
wget http://fast.dpdk.org/rel/dpdk-16.07.2.tar.xz
tar xf dpdk-16.07.2.tar.xz 
cd dpdk-stable-16.07.2/
  • 安装依赖的软件包:
yum install make gcc libpcap libpcap-devel -y
  • 下载内核头文件
    注意,一定要下载和自己内核版本相同的内核头文件。首先用uname -r查看内核版本,再用yum info kernel-devel查看是否和自己的内核版本一致,如果一致,则可以通过yum install kernel-devel直接安装,否则可以通过下载特定的rpm包来安装。
    例如我需要下载3.10.0-327.el7.x86_64版本的内核头文件,可以到这里查找对应版本的rpm包并进行下载(关键词:kernel-devel):
wget ftp://195.220.108.108/linux/centos/7.2.1511/os/x86_64/Packages/kernel-devel-3.10.0-327.el7.x86_64.rpm
  • 安装内核头文件
    通过如下命令直接安装:
 rpm -ivh kernel-devel-3.10.0-327.el7.x86_64.rpm

如果系统已经安装了较高版本的内核头文件,则需要通过如下命令实现降级:

rpm -Uvh --oldpackage kernel-devel-3.10.0-327.el7.x86_64.rpm
  • 编译
    首先需要将内核头文件软链接到内核模块
ln -fs /usr/src/kernels/3.10.0-327.el7.x86_64/ /lib/modules/3.10.0-327.el7.x86_64/build

最后设置编译参数进行编译:

# 这里编译的是x86-64的版本
make config T=x86_64-native-linuxapp-gcc
sed -ri 's,(PMD_PCAP=).*,\1y,' build/.config
make

你可能感兴趣的:(操作系统,dpdk,CentOS,Linux)