module lnet_selftest lnet/selftest net/lustre
module ksocklnd lnet/klnds/socklnd net/lustre
+# LNet lnd modules
+lnds="socklnd"
+if [ -f /usr/src/kfabric/default/Module.symvers ] ; then
+ module kkfilnd lnet/klnds/kfilnd net/lustre
+fi
+if pkg-config --cflags cray-gni cray-gni-headers cray-krca lsb-cray-hss > /dev/null 2>&1 ; then
+ module kgnilnd lnet/klnds/gnilnd net/lustre
+fi
# Determine which, if any, o2ib to install:
can_o2ib_mofed=no
can_o2ib_in_kernel=no
# $5 : $arch
# $6 : $source_tree
# $7 : $dkms_tree
+# $8 : $kmoddir
#
# This script ensure that ALL Lustre kernel modules that have been built
# during DKMS build step of lustre[-client]-dkms module will be moved in
# $5 : $arch
# $6 : $source_tree
# $7 : $dkms_tree
-#
+# $8 : $kmoddir [lustre-client either 'extra|updates']
case $1 in
lustre-client)
- SERVER="--disable-server"
- KERNEL_STUFF="--with-linux=$4 --with-linux-obj=$4"
+ SERVER="--disable-server --enable-client"
+ ksrc="$(dirname $4)/source"
+ KERNEL_STUFF="--with-linux=$(realpath $ksrc) --with-linux-obj=$(realpath $4)"
+ name=$1
+ kmoddir=$8
+ flavor=$(echo $3 | tr '-' '\n' | tail -1)
+ if [ -f /usr/src/kfabric/${flavor}/Module.symvers ]; then
+ KERNEL_STUFF="${KERNEL_STUFF} --with-kfi=/usr/src/kfabric/${flavor}"
+ elif [ -f /usr/src/kfabric/default/Module.symvers ]; then
+ KERNEL_STUFF="${KERNEL_STUFF} --with-kfi=/usr/src/kfabric/default"
+ fi
+ O2IBPATH=""
+ if [ -d /usr/src/ofa_kernel/${flavor} ]; then
+ O2IBPATH=/usr/src/ofa_kernel/${flavor}
+ elif [ -d /usr/src/ofa_kernel/default ]; then
+ O2IBPATH=/usr/src/ofa_kernel/default
+ fi
+ if [ -n ${O2IBPATH} ]; then
+ KERNEL_STUFF="${KERNEL_STUFF} --with-o2ib=${O2IBPATH}"
+ fi
+ if [ -n ${kmoddir} ]; then
+ KERNEL_STUFF="${KERNEL_STUFF} --with-kmp-moddir=${kmoddir}/${name}"
+ fi
+ sh ./autogen.sh
;;
lustre-zfs|lustre-all)
# re-evaluate/create dkms.conf on-target based on local build-time products/dependencies
# (like krb5-devel presence) and also upon configure results/errors before dkms builds
PRE_BUILD="lustre-dkms_pre-build.sh \$module \$module_version \$kernelver \$kernel_source_dir \
- \$arch \$source_tree \$dkms_tree"
+ \$arch \$source_tree \$dkms_tree \$kmoddir"
# to ensure all just built Lustre kernel modules will be saved for further install
POST_BUILD="lustre-dkms_post-build.sh \$module \$module_version \$kernelver \$kernel_source_dir \
- \$arch \$source_tree \$dkms_tree"
+ \$arch \$source_tree \$dkms_tree \$kmoddir"
EOF
if [ $pkgname = "lustre-zfs" -o $pkgname = "lustre-all" ] ; then
cat >>${filename} <<EOF
module lnet_selftest lnet/selftest lnet
module lnet lnet/lnet lnet
module ksocklnd lnet/klnds/socklnd lnet
+flavor=\$(echo \$kernelver | tr '-' '\n' | tail -1)
+if [ -f /usr/src/kfabric/\${flavor}/Module.symvers -o -f /usr/src/kfabric/default/Module.symvers ] ; then
+ module kkfilnd lnet/klnds/kfilnd lnet
+fi
+# Guessing if gni packages are installed
+pkg-config --cflags cray-gni cray-gni-headers cray-krca lsb-cray-hss > /dev/null 2>&1
+if [ \$? -eq 0 ] ; then
+ module kgnilnd lnet/klnds/gnilnd lnet
+fi
# in-kernel-o2ib or mofed
if [ "x\${ext_mofed}" = "xyes" ] ; then
module ko2iblnd lnet/klnds/o2iblnd lnet