以 arm64
为例。下面的内容大部份摘自 DPDK
官方文档:
http://doc.dpdk.org/guides/linux_gsg/cross_build_dpdk_for_arm64.html
DPDK
交叉编译基本流程如下:
- 下载交叉编译工具链
$ wget https://developer.arm.com/-/media/Files/downloads/gnu-a/9.2-2019.12/binrel/gcc-arm-9.2-2019.12-x86_64-aarch64-none-linux-gnu.tar.xz
- 将交叉编译工具的路径加入
PATH
环境变量中
$ export PATH=$PATH:/home/zhoumin/gcc-arm-9.2-2019.12-x86_64-aarch64-none-linux-gnu/bin
- 使用
meson
进行交叉编译配置
$ meson build --cross-file config/arm/arm64_armv8_linux_gcc
- 使用
ninja
进行交叉编译
$ ninja -C build
备注:如果缺少 numa
相关的库,请参考上面原文中介绍的方法对其进行交叉编译,并将生成的 numa*.h
, libnuma.a
, libnuma.so
文件拷贝至交叉编译工具的相应目录中。