Skip to content

Commit ab51158

Browse files
authored
[202012][Mellanox] update sdk/fw build procedure (#14025) (#14220)
- Why I did it To optimize Mellanox platform build - How I did it sdk debs are now downloaded as Spectrum-SDK-Drivers-SONiC-Bins release sx kernel is downloaded as zip from Spectrum-SDK-Drivers
1 parent e2e3625 commit ab51158

File tree

5 files changed

+25
-19
lines changed

5 files changed

+25
-19
lines changed

.gitmodules

-3
Original file line numberDiff line numberDiff line change
@@ -73,9 +73,6 @@
7373
[submodule "src/sonic-telemetry"]
7474
path = src/sonic-telemetry
7575
url = https://github.com/sonic-net/sonic-gnmi
76-
[submodule "Switch-SDK-drivers"]
77-
path = platform/mellanox/sdk-src/sx-kernel/Switch-SDK-drivers
78-
url = https://github.com/Mellanox/Switch-SDK-drivers
7976
[submodule "src/sonic-ztp"]
8077
path = src/sonic-ztp
8178
url = https://github.com/sonic-net/sonic-ztp

platform/mellanox/fw.mk

+6-3
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,13 @@ MLNX_FW_BASE_PATH = $(MLNX_SDK_BASE_PATH)
55
# Place an URL here to FW if you want to download FW instead
66
MLNX_FW_BASE_URL =
77

8-
ifneq ($(MLNX_FW_BASE_URL), )
98
FW_FROM_URL = y
10-
else
11-
FW_FROM_URL = n
9+
10+
MLNX_FW_ASSETS_RELEASE_TAG = fw-2010.3196
11+
MLNX_FW_ASSETS_URL = $(MLNX_ASSETS_GITHUB_URL)/releases/download/$(MLNX_FW_ASSETS_RELEASE_TAG)
12+
13+
ifeq ($(MLNX_FW_BASE_URL), )
14+
MLNX_FW_BASE_URL = $(MLNX_FW_ASSETS_URL)
1215
endif
1316

1417
MLNX_SPC_FW_VERSION = 13.2010.3196

platform/mellanox/sdk-src/sx-kernel/Makefile

+11-3
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ MAIN_TARGET = sx-kernel_1.mlnx.$(MLNX_SDK_DEB_VERSION)_amd64.deb
55
DERIVED_TARGETS = sx-kernel-dev_1.mlnx.$(MLNX_SDK_DEB_VERSION)_amd64.deb
66
PACKAGE_NAME = sx_kernel
77

8+
MLNX_SX_KERNEL_GITHUB_URL_BASE = https://github.com/Mellanox/Spectrum-SDK-Drivers/archive/refs/heads
9+
810
$(addprefix $(DEST)/, $(MAIN_TARGET)): $(DEST)/% :
911
# get sources
1012

@@ -13,9 +15,15 @@ $(addprefix $(DEST)/, $(MAIN_TARGET)): $(DEST)/% :
1315
wget -c $(MLNX_SDK_SOURCE_BASE_URL)/$(PACKAGE_NAME)-$(MLNX_SDK_VERSION)-$(MLNX_SDK_ISSU_VERSION).tar.gz -O - | tar -xz
1416
pushd sx_kernel-$(MLNX_SDK_VERSION)-$(MLNX_SDK_ISSU_VERSION)
1517
else
16-
pushd Switch-SDK-drivers
17-
git reset --hard
18-
git clean -xfd
18+
rm -rf Spectrum-SDK-Drivers-$(MLNX_SDK_VERSION)
19+
wget -c $(MLNX_SX_KERNEL_GITHUB_URL_BASE)/$(MLNX_SDK_VERSION).zip
20+
unzip $(MLNX_SDK_VERSION).zip
21+
rm -rf $(MLNX_SDK_VERSION).zip
22+
23+
pushd Spectrum-SDK-Drivers-$(MLNX_SDK_VERSION)
24+
ln -s ./sx_scripts/Makefile ./Makefile
25+
ln -s ./sx_scripts/makefile ./makefile
26+
ln -s ./sx_scripts/configure ./configure
1927
fi
2028

2129
# build
This file was deleted.

platform/mellanox/sdk.mk

+8-9
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
1-
MLNX_SDK_BASE_PATH = $(PLATFORM_PATH)/sdk-src/sx-kernel/Switch-SDK-drivers/bin/
2-
MLNX_SDK_PKG_BASE_PATH = $(MLNX_SDK_BASE_PATH)/$(BLDENV)/$(CONFIGURED_ARCH)/
31
MLNX_SDK_VERSION = 4.5.3196
42
MLNX_SDK_ISSU_VERSION = 101
53

4+
MLNX_ASSETS_GITHUB_URL = https://github.com/Mellanox/Spectrum-SDK-Drivers-SONiC-Bins
5+
MLNX_SDK_ASSETS_RELEASE_TAG = sdk-$(MLNX_SDK_VERSION)-$(BLDENV)-$(CONFIGURED_ARCH)
6+
MLNX_SDK_ASSETS_URL = $(MLNX_ASSETS_GITHUB_URL)/releases/download/$(MLNX_SDK_ASSETS_RELEASE_TAG)
67
MLNX_SDK_DEB_VERSION = $(subst -,.,$(subst _,.,$(MLNX_SDK_VERSION)))
78

89
# Place here URL where SDK sources exist
@@ -14,7 +15,7 @@ else
1415
SDK_FROM_SRC = n
1516
endif
1617

17-
export MLNX_SDK_SOURCE_BASE_URL MLNX_SDK_VERSION MLNX_SDK_ISSU_VERSION MLNX_SDK_DEB_VERSION
18+
export MLNX_SDK_SOURCE_BASE_URL MLNX_SDK_VERSION MLNX_SDK_ISSU_VERSION MLNX_SDK_DEB_VERSION MLNX_ASSETS_GITHUB_URL
1819

1920
MLNX_SDK_RDEBS += $(APPLIBS) $(IPROUTE2_MLNX) $(SX_COMPLIB) $(SX_EXAMPLES) \
2021
$(SX_GEN_UTILS) $(SX_SCEW) $(SXD_LIBS) $(WJH_LIBS) $(SX_ACL_HELPER)
@@ -136,21 +137,19 @@ $(SX_KERNEL)_SRC_PATH = $(PLATFORM_PATH)/sdk-src/sx-kernel
136137
SX_KERNEL_DEV = sx-kernel-dev_1.mlnx.$(MLNX_SDK_DEB_VERSION)_amd64.deb
137138
$(eval $(call add_derived_package,$(SX_KERNEL),$(SX_KERNEL_DEV)))
138139

139-
define make_path
140-
$(1)_PATH = $(MLNX_SDK_PKG_BASE_PATH)
140+
define make_url
141+
$(1)_URL = $(MLNX_SDK_ASSETS_URL)/$(1)
141142

142143
endef
143144

144-
$(eval $(foreach deb,$(MLNX_SDK_DEBS),$(call make_path,$(deb))))
145-
$(eval $(foreach deb,$(MLNX_SDK_RDEBS),$(call make_path,$(deb))))
146-
$(eval $(foreach deb,$(PYTHON_SDK_API) $(SX_KERNEL) $(SX_KERNEL_DEV),$(call make_path,$(deb))))
145+
$(eval $(foreach deb,$(MLNX_SDK_DEBS) $(MLNX_SDK_RDEBS) $(PYTHON_SDK_API),$(call make_url,$(deb))))
147146

148147
SONIC_MAKE_DEBS += $(SX_KERNEL)
149148

150149
ifeq ($(SDK_FROM_SRC), y)
151150
SONIC_MAKE_DEBS += $(MLNX_SDK_RDEBS) $(PYTHON_SDK_API)
152151
else
153-
SONIC_COPY_DEBS += $(MLNX_SDK_RDEBS) $(PYTHON_SDK_API)
152+
SONIC_ONLINE_DEBS += $(MLNX_SDK_RDEBS) $(PYTHON_SDK_API)
154153
endif
155154

156155
mlnx-sdk-packages: $(addprefix $(DEBS_PATH)/, $(MLNX_SDK_RDEBS) $(PYTHON_SDK_API) $(SX_KERNEL))

0 commit comments

Comments
 (0)