最近研究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
网友评论