autobuild: Put DPDK's kernel drivers at proper location

This is the location freebsd_update_contigmem_mod() looks up to copy
the modules into right /boot directories.

Signed-off-by: Michal Berger <michallinuxstuff@gmail.com>
Change-Id: Ic5919cc6382433c641c4c7a8b1100a50abfc246a
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12925
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
This commit is contained in:
Michal Berger 2022-06-07 14:17:58 +02:00 committed by Ben Walker
parent 92141ccf21
commit 86ad46db55

View File

@ -191,6 +191,15 @@ _build_native_dpdk() {
ninja -C "$external_dpdk_base_dir/build-tmp" $MAKEFLAGS
ninja -C "$external_dpdk_base_dir/build-tmp" $MAKEFLAGS install
if [[ $(uname -s) == "FreeBSD" ]]; then
# Make sure kernel modules are available for freebsd_update_contigmem_mod() to fetch
mapfile -t drivers < <(find "$external_dpdk_base_dir/build-tmp" -name '*.ko')
if ((${#drivers[@]} > 0)); then
mkdir -p "$external_dpdk_dir/kmod"
cp -f "${drivers[@]}" "$external_dpdk_dir/kmod/"
fi
fi
# Save this path. In tests are run using autorun.sh then autotest.sh
# script will be unaware of LD_LIBRARY_PATH and will fail tests.
echo "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH" > /tmp/spdk-ld-path