Skip to content

Commit 2847265

Browse files
alexrallensaiarcot895
authored andcommitted
Mellanox bullseye merge (#1)
Allow mellanox platform to build and successfully switch packets in Debian 11 Upgraded * Mellanox SDK * Mellanox Hardware Management * Mellanox Firmware * Mellanox Kernel Patches Adjusted build system to support host system running bullseye and dockers running buster.
1 parent 1379ca1 commit 2847265

File tree

13 files changed

+28
-21
lines changed

13 files changed

+28
-21
lines changed

files/build_templates/sonic_debian_extension.j2

+1-1
Original file line numberDiff line numberDiff line change
@@ -829,7 +829,7 @@ sudo mkdir -p $FILESYSTEM_ROOT/etc/mlnx/
829829
sudo cp $files_path/$MLNX_SPC_FW_FILE $FILESYSTEM_ROOT/etc/mlnx/fw-SPC.mfa
830830
sudo cp $files_path/$MLNX_SPC2_FW_FILE $FILESYSTEM_ROOT/etc/mlnx/fw-SPC2.mfa
831831
sudo cp $files_path/$MLNX_SPC3_FW_FILE $FILESYSTEM_ROOT/etc/mlnx/fw-SPC3.mfa
832-
#sudo cp $files_path/$ISSU_VERSION_FILE $FILESYSTEM_ROOT/etc/mlnx/issu-version
832+
sudo cp $files_path/$ISSU_VERSION_FILE $FILESYSTEM_ROOT/etc/mlnx/issu-version
833833
sudo cp $files_path/$MLNX_FFB_SCRIPT $FILESYSTEM_ROOT/usr/bin/mlnx-ffb.sh
834834
sudo cp $files_path/$MLNX_ONIE_FW_UPDATE $FILESYSTEM_ROOT/usr/bin/$MLNX_ONIE_FW_UPDATE
835835
sudo cp $files_path/$MLNX_SSD_FW_UPDATE $FILESYSTEM_ROOT/usr/bin/$MLNX_SSD_FW_UPDATE

platform/mellanox/docker-syncd-mlnx.mk

+3
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ include $(PLATFORM_PATH)/../template/docker-syncd-base.mk
2121

2222
$(DOCKER_SYNCD_BASE)_DEPENDS += $(SYNCD) $(PYTHON_SDK_API) $(MFT)
2323

24+
$(DOCKER_SYNCD_BASE)_FILES += $(ISSU_VERSION_FILE)
25+
2426
$(DOCKER_SYNCD_BASE)_DBG_DEPENDS += $(SYNCD_DBG) \
2527
$(LIBSWSSCOMMON_DBG) \
2628
$(LIBSAIMETADATA_DBG) \
@@ -34,3 +36,4 @@ $(DOCKER_SYNCD_BASE)_VERSION = 1.0.0
3436
$(DOCKER_SYNCD_BASE)_PACKAGE_NAME = syncd
3537

3638
$(DOCKER_SYNCD_BASE)_RUN_OPT += -v /host/warmboot:/var/warmboot
39+
SONIC_BUSTER_DOCKERS += $(DOCKER_SYNCD_BASE)

platform/mellanox/fw.mk

+3-3
Original file line numberDiff line numberDiff line change
@@ -27,17 +27,17 @@ else
2727
FW_FROM_URL = n
2828
endif
2929

30-
MLNX_SPC_FW_VERSION = 13.2008.3326
30+
MLNX_SPC_FW_VERSION = 13.2008.3330
3131
MLNX_SPC_FW_FILE = fw-SPC-rel-$(subst .,_,$(MLNX_SPC_FW_VERSION))-EVB.mfa
3232
$(MLNX_SPC_FW_FILE)_PATH = $(MLNX_FW_BASE_PATH)
3333
$(MLNX_SPC_FW_FILE)_URL = $(MLNX_FW_BASE_URL)/$(MLNX_SPC_FW_FILE)
3434

35-
MLNX_SPC2_FW_VERSION = 29.2008.3326
35+
MLNX_SPC2_FW_VERSION = 29.2008.3330
3636
MLNX_SPC2_FW_FILE = fw-SPC2-rel-$(subst .,_,$(MLNX_SPC2_FW_VERSION))-EVB.mfa
3737
$(MLNX_SPC2_FW_FILE)_PATH = $(MLNX_FW_BASE_PATH)
3838
$(MLNX_SPC2_FW_FILE)_URL = $(MLNX_FW_BASE_URL)/$(MLNX_SPC2_FW_FILE)
3939

40-
MLNX_SPC3_FW_VERSION = 30.2008.3326
40+
MLNX_SPC3_FW_VERSION = 30.2008.3330
4141
MLNX_SPC3_FW_FILE = fw-SPC3-rel-$(subst .,_,$(MLNX_SPC3_FW_VERSION))-EVB.mfa
4242
$(MLNX_SPC3_FW_FILE)_PATH = $(MLNX_FW_BASE_PATH)
4343
$(MLNX_SPC3_FW_FILE)_URL = $(MLNX_FW_BASE_URL)/$(MLNX_SPC3_FW_FILE)

platform/mellanox/hw-management.mk

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
#
1717
# Mellanox HW Management
1818

19-
MLNX_HW_MANAGEMENT_VERSION = 7.0010.2344
19+
MLNX_HW_MANAGEMENT_VERSION = 7.0010.3300
2020

2121
export MLNX_HW_MANAGEMENT_VERSION
2222

Submodule hw-mgmt updated 201 files

platform/mellanox/issu-version.mk

-5
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,4 @@ $(ISSU_VERSION_FILE)_SRC_PATH = $(PLATFORM_PATH)/issu-version
2121
$(ISSU_VERSION_FILE)_DEPENDS += $(APPLIBS)
2222
SONIC_MAKE_FILES += $(ISSU_VERSION_FILE)
2323

24-
# TODO: Disable because the base OS version (bullseye) doesn't match what the
25-
# SDK app packages are built for (buster), and this target assumes that they
26-
# are available.
27-
#MLNX_FILES += $(ISSU_VERSION_FILE)
28-
2924
export ISSU_VERSION_FILE

platform/mellanox/issu-version/Makefile

+2
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,12 @@ SHELL = /bin/bash
1919
.SHELLFLAGS += -e
2020

2121
MAIN_TARGET = issu-version
22+
BULLSEYE_FILES_PATH = /sonic/target/files/bullseye
2223

2324
$(addprefix $(DEST)/, $(MAIN_TARGET)): $(DEST)/% :
2425
sx_sdk --version | egrep -o 'ISSU [0-9]+' > $(DEST)/$(MAIN_TARGET) || {
2526
echo "ISSU version is undefined: $(sx_sdk --version)"
2627
rm $(DEST)/$(MAIN_TARGET)
2728
exit 1
2829
}
30+
cp $(DEST)/$(MAIN_TARGET) $(BULLSEYE_FILES_PATH)/$(MAIN_TARGET)

platform/mellanox/mft.mk

+4-5
Original file line numberDiff line numberDiff line change
@@ -23,15 +23,14 @@ export MFT_VERSION MFT_REVISION
2323

2424
MFT = mft_$(MFT_VERSION)-$(MFT_REVISION)_amd64.deb
2525
$(MFT)_SRC_PATH = $(PLATFORM_PATH)/mft
26-
ifeq ($(DISTRO), bullseye)
27-
$(MFT)_DEPENDS += $(LINUX_HEADERS) $(LINUX_HEADERS_COMMON)
28-
endif
2926
SONIC_MAKE_DEBS += $(MFT)
3027

31-
ifeq ($(DISTRO), bullseye)
28+
ifeq ($(BLDENV), bullseye)
29+
$(MFT)_DEPENDS = $(LINUX_HEADERS) $(LINUX_HEADERS_COMMON)
30+
endif
31+
3232
KERNEL_MFT = kernel-mft-dkms-modules-$(KVERSION)_$(MFT_VERSION)_amd64.deb
3333
$(eval $(call add_derived_package,$(MFT),$(KERNEL_MFT)))
34-
endif
3534

3635
MFT_OEM = mft-oem_$(MFT_VERSION)-$(MFT_REVISION)_amd64.deb
3736
$(eval $(call add_derived_package,$(MFT),$(MFT_OEM)))

platform/mellanox/mft/Makefile

+1-3
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@ $(addprefix $(DEST)/, $(MAIN_TARGET)): $(DEST)/% :
3535
wget -O $(MFT_TGZ) http://www.mellanox.com/downloads/MFT/$(MFT_TGZ)
3636
tar xzf $(MFT_TGZ)
3737

38-
ifeq ($(DISTRO), bullseye)
3938
pushd $(MFT_NAME)/SDEBS
4039

4140
# put a lock here because dpkg does not allow installing packages in parallel
@@ -47,7 +46,7 @@ ifeq ($(DISTRO), bullseye)
4746

4847
popd
4948

50-
sudo dkms build kernel-mft-dkms/$(MFT_VERSION) -k $(KVERSION) -a amd64
49+
sudo dkms build kernel-mft-dkms/$(MFT_VERSION) -k $(KVERSION) -a amd64 --kernelsourcedir /usr/src/linux-headers-$(KVERSION)
5150
sudo dkms mkbmdeb kernel-mft-dkms/$(MFT_VERSION) -k $(KVERSION) -a amd64
5251

5352
# w/a: remove dependencies
@@ -63,7 +62,6 @@ ifeq ($(DISTRO), bullseye)
6362
popd
6463

6564
rm -rf $(DKMS_TMP)
66-
endif
6765

6866
# fix timestamp because we do not actually build tools, only kernel
6967
touch $(MFT_NAME)/DEBS/*.deb

platform/mellanox/rules.mk

+6
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,12 @@
1414
# See the License for the specific language governing permissions and
1515
# limitations under the License.
1616
#
17+
18+
# Set KVERSION correctly depending on build environment
19+
ifeq ($(BLDENV), buster)
20+
KVERSION = 5.10.0-0.bpo.9-amd64
21+
endif
22+
1723
include $(PLATFORM_PATH)/sdk.mk
1824
include $(PLATFORM_PATH)/fw.mk
1925
include $(PLATFORM_PATH)/mft.mk

platform/mellanox/sdk.mk

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
#
1717
MLNX_SDK_BASE_PATH = $(PLATFORM_PATH)/sdk-src/sx-kernel/Switch-SDK-drivers/bin/
1818
MLNX_SDK_PKG_BASE_PATH = $(MLNX_SDK_BASE_PATH)/$(BLDENV)/
19-
MLNX_SDK_VERSION = 4.4.3326
19+
MLNX_SDK_VERSION = 4.4.3334
2020
MLNX_SDK_ISSU_VERSION = 101
2121

2222
MLNX_SDK_DEB_VERSION = $(subst -,.,$(subst _,.,$(MLNX_SDK_VERSION)))

sonic-slave-buster/Dockerfile.j2

+4
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,10 @@ RUN apt-get update && apt-get install -y \
153153
# For mellanox sai build
154154
libtool-bin \
155155
libxml2-dev \
156+
# For mellanox MFT build
157+
linux-image-5.10.0-0.bpo.9-amd64 \
158+
linux-headers-5.10.0-0.bpo.9-amd64 \
159+
linux-headers-5.10.0-0.bpo.9-common \
156160
# For BFN sdk build
157161
libusb-1.0-0-dev \
158162
libcurl3-nss-dev \

0 commit comments

Comments
 (0)