背景
由于dpdk的官方21.11.1的LTS版本暂时还未支持RISC-V的支持,所以之前的版本并不支持riscv的编译核的。但是最新版的22.07版本已经支持了riscv的交叉编译,所以本文暂时使用github上的代码进行测试,看是否能够编译成功。
环境需求
使用git下载dpdk源码地址:
https://github.com/DPDK/dpdk
另外本文使用qemu进行虚拟测试,关于qemu的安装及使用可以参考其他技术文章。
编译流程
首先更改编译器配置文件。先查看./config/riscv/riscv64_linux_gcc文档如下:
[binaries]
c = ['ccache', 'riscv64-linux-gnu-gcc']
cpp = ['ccache', 'riscv64-linux-gnu-g++']
ar = 'riscv64-linux-gnu-ar'
strip = 'riscv64-linux-gnu-strip'
pcap-config = ''
[host_machine]
system = 'linux'
cpu_family = 'riscv64'
cpu = 'rv64gc'
endian = 'little'
[properties]
vendor_id = 'generic'
arch_id = 'generic'
pkg_config_libdir = '/usr/lib/riscv64-linux-gnu/pkgconfig'
但是,我的编译器并不叫这个名字,我的riscv64编译器叫做riscv64-unknown-linux-gnu-gcc,更改以上文件的前4行,以便能够使用自己的编译