From a8280402537b83748e9011edff3a7ce188c1f656 Mon Sep 17 00:00:00 2001 From: Minh Diep Date: Thu, 19 Jul 2018 07:27:55 -0700 Subject: [PATCH] LU-11149 build: enable KMP for Mellanox build * We need to build Mellanox KMP to avoid error in symbol dependency when installing lustre * Remove all Mellanox config parameters and use default * We won't build with rhel6 Test-Parameters: trivial Change-Id: I4676d01bd5f788581e1be6df98d2d787a5419c07 Signed-off-by: Minh Diep Reviewed-on: https://review.whamcloud.com/32833 Reviewed-by: Nathaniel Clark Reviewed-by: Jian Yu Tested-by: Jenkins Tested-by: Maloo Reviewed-by: Oleg Drokin Signed-off-by: Minh Diep Reviewed-on: https://review.whamcloud.com/32913 Reviewed-by: John L. Hammond --- contrib/lbuild/lbuild | 29 +++++++---------------------- contrib/lbuild/lbuild-rhel6 | 1 + contrib/lbuild/lbuild-rhel7 | 7 ++++++- contrib/lbuild/lbuild-sles12 | 1 + 4 files changed, 15 insertions(+), 23 deletions(-) diff --git a/contrib/lbuild/lbuild b/contrib/lbuild/lbuild index db3795f..1d09b03 100755 --- a/contrib/lbuild/lbuild +++ b/contrib/lbuild/lbuild @@ -1233,20 +1233,13 @@ build_kernel_ib() { # build kernel-ib{,-devel}/compat-rdma{,-devel} local K_SRC="K_SRC" + local KMP=${MOFED_KMP:-"1"} local OFED_CORE="--with-core-mod --with-ipoib-mod --with-user_mad-mod \ - --with-user_access-mod --with-addr_trans-mod --with-madeye-mod" - local OFED_HARDWARE="--with-mthca-mod --with-mlx4-mod \ - --with-mlx4_en-mod --with-cxgb3-mod --with-mlx4_en-mod \ - --with-cxgb3-mod --with-nes-mod --with-mlx5-mod --with-cxgb4-mod \ - --with-qib-mod" - - # Removing the check for older version support - #if compare_version $OFED_VERSION 3.0; then - #OFED_CORE="$OFED_CORE --with-madeye-mod --with-rds-mod" - #else - #OFED_HARDWARE="$OFED_HARDWARE --with-mlx5-mod --with-cxgb4-mod --with-ocrdma-mod --with-qib-mod" - #fi + --with-user_access-mod --with-addr_trans-mod --with-innova-flex " + local OFED_HARDWARE="--with-mlx4-mod --with-mlx4_en-mod \ + --with-srp-mod --with-iser-mod --with-isert-mod --with-mlx5-mod \ + --with-mlxfw-mod " # some I/B drivers are architecture dependent and kernel-ib's configure # does not figure it out for us ~sigh~ @@ -1255,14 +1248,6 @@ build_kernel_ib() { OFED_HARDWARE="$OFED_HARDWARE --with-ehca-mod" ;; esac - # we're no longer shipping the OFED iSCSI target - #OFED_ISCSI="--with-srp-mod --with-srp-target-mod" - OFED_ISCSI="--with-srp-mod" - ## ISER module has no backport support as of OFED 1.5 (i.e. only builds on - ##kernels >= 2.6.30) - #if [[ $OFED_VERSION = 1.[0-4]* ]]; then - # OFED_ISCSI="$OFED_ISCSI --with-iser-mod" - #fi # assume we are just rebuilding the SRPM local BUILD_TYPE=${BUILD_TYPE:-"--rebuild"} @@ -1334,15 +1319,15 @@ EOF ${FIND_REQUIRES:+--define "__find_requires $FIND_REQUIRES"} \ --define "_topdir ${TOPDIR}" --target ${TARGET_ARCH} \ --define "KVERSION ${linuxrelease}" \ + --define "KMP ${KMP}" \ --define "$K_SRC ${linux}" \ ${OFA_KERNEL_RELEASE:+--define "_release $OFA_KERNEL_RELEASE"} \ - --define "configure_options --without-quilt $OFED_CORE $OFED_HARDWARE $OFED_ISCSI" \ ${SOURCE} 2>&1; then fatal 1 "Error building ${kib_rpm}" fi # now that we have the kernel rpms, we need to lib rpms too # we don't have to rebuild since MOFED include the binaries - cp -f OFED_RPMS/{libibmad-*,libibverbs-*,libibumad-*,librdmacm*,ibutils-*,opensm-libs*}.${TARGET_ARCH}.rpm \ + cp -f OFED_RPMS/{libibmad-*,libibverbs-*,libibumad-*,librdmacm*,ibutils-*,opensm-*}.${TARGET_ARCH}.rpm \ ${TOPDIR}/RPMS/${TARGET_ARCH} || \ fatal 1 "Failed to copy MOFED rpms" ;; diff --git a/contrib/lbuild/lbuild-rhel6 b/contrib/lbuild/lbuild-rhel6 index ea5f025..a6fb95b 100644 --- a/contrib/lbuild/lbuild-rhel6 +++ b/contrib/lbuild/lbuild-rhel6 @@ -15,6 +15,7 @@ source ${LBUILD_DIR}/lbuild-rhel SPEC_NAME="kernel.spec" DEVEL_PATH_ARCH_DELIMETER="." USE_KABI=true +MOFED_KMP="0" patch_spec() { local buildid="$1" diff --git a/contrib/lbuild/lbuild-rhel7 b/contrib/lbuild/lbuild-rhel7 index 9aed529..bf254e3 100644 --- a/contrib/lbuild/lbuild-rhel7 +++ b/contrib/lbuild/lbuild-rhel7 @@ -9,6 +9,7 @@ BUILD_GEN+=".0" SPEC_NAME="kernel.spec" DEVEL_PATH_ARCH_DELIMETER="." USE_KABI=false +MOFED_KMP="1" # force local definition of %dist into ~/.rpmmacros # to avoid verbose extended strings like ".el7.centos" @@ -25,13 +26,17 @@ LBUILD_KMODTOOL="${LBUILD_DIR}/rhel7/kmodtool" cp $RHEL_KMODTOOL $LBUILD_KMODTOOL pushd ${LBUILD_DIR}/rhel7 patch -p1 < kmodtool.patch +# Replace the hardcoded /usr/src/kernels with our build path +tmp="${TOPDIR}/reused/usr/src/kernels" +tmp="${tmp//\//\\/}" +sed -i "s/\/usr\/src\/kernels/${tmp}/g" ${LBUILD_DIR}/rhel7/kmodtool chmod 755 kmodtool popd # Next we replace %kernel_module_package with one that is nearly # identical, but calls lbuild's modified kmodtool script. # We need to cleanout the previous entry sed -i "/^%kernel_module_package/,/^)}$/d" $RMAC -sed -e "s|REPLACE_ME|$LBUILD_KMODTOOL|" \ +sed -e "s|REPLACE_ME|$LBUILD_KMODTOOL|" -e "s/\/usr\/src\/kernels/${tmp}/g" \ ${LBUILD_DIR}/rhel7/rpmmacros.template > ${LBUILD_DIR}/rhel7/rpmmacros cat ${LBUILD_DIR}/rhel7/rpmmacros >> $RMAC diff --git a/contrib/lbuild/lbuild-sles12 b/contrib/lbuild/lbuild-sles12 index 8bc8b73..34c4695 100644 --- a/contrib/lbuild/lbuild-sles12 +++ b/contrib/lbuild/lbuild-sles12 @@ -8,6 +8,7 @@ BUILD_GEN+=".0" # This distro does not support zfs, so define WITH_ZFS # use words that make the bash log readable. WITH_ZFS="Zfs Not Supported" +MOFED_KMP="1" source ${LBUILD_DIR}/lbuild-sles -- 1.8.3.1