From b09e719baf21ec7d2516bec74ab863e09b11fd0a Mon Sep 17 00:00:00 2001 From: Vivek Reddy Date: Thu, 5 Oct 2023 07:21:42 +0000 Subject: [PATCH 1/3] [Nvidia] Seperate KERNEL_MFT into a new target because of kernel header dependency Signed-off-by: Vivek Reddy --- platform/mellanox/mft.mk | 10 +++++----- platform/mellanox/mft/Makefile | 21 +++++++++++++++------ platform/mellanox/rules.mk | 4 ++-- rules/docker-platform-monitor.mk | 2 +- 4 files changed, 23 insertions(+), 14 deletions(-) diff --git a/platform/mellanox/mft.mk b/platform/mellanox/mft.mk index 5ef30af77c55..2fd01811eae5 100644 --- a/platform/mellanox/mft.mk +++ b/platform/mellanox/mft.mk @@ -31,12 +31,12 @@ export MFT_VERSION MFT_REVISION MFT_FROM_INTERNAL MLNX_MFT_INTERNAL_SOURCE_BASE_ MFT = mft_$(MFT_VERSION)-$(MFT_REVISION)_$(CONFIGURED_ARCH).deb $(MFT)_SRC_PATH = $(PLATFORM_PATH)/mft -SONIC_MAKE_DEBS += $(MFT) -$(MFT)_DEPENDS += $(LINUX_HEADERS) $(LINUX_HEADERS_COMMON) +MFT_OEM = mft-oem_$(MFT_VERSION)-$(MFT_REVISION)_$(CONFIGURED_ARCH).deb +$(eval $(call add_derived_package,$(MFT),$(MFT_OEM))) KERNEL_MFT = kernel-mft-dkms-modules-$(KVERSION)_$(MFT_VERSION)_$(CONFIGURED_ARCH).deb -$(eval $(call add_derived_package,$(MFT),$(KERNEL_MFT))) +$(KERNEL_MFT)_SRC_PATH = $(PLATFORM_PATH)/mft +$(KERNEL_MFT)_DEPENDS += $(LINUX_HEADERS) $(LINUX_HEADERS_COMMON) -MFT_OEM = mft-oem_$(MFT_VERSION)-$(MFT_REVISION)_$(CONFIGURED_ARCH).deb -$(eval $(call add_derived_package,$(MFT),$(MFT_OEM))) +SONIC_MAKE_DEBS += $(MFT) $(KERNEL_MFT) diff --git a/platform/mellanox/mft/Makefile b/platform/mellanox/mft/Makefile index 553b3a74ea7e..72eb30815397 100644 --- a/platform/mellanox/mft/Makefile +++ b/platform/mellanox/mft/Makefile @@ -34,10 +34,10 @@ MFT_TGZ_URL = http://www.mellanox.com/downloads/MFT/$(MFT_TGZ) endif SRC_DEB = kernel-mft-dkms_$(MFT_VERSION)-$(MFT_REVISION)_all.deb -MOD_DEB = kernel-mft-dkms-modules-$(KVERSION)_$(MFT_VERSION)_$(CONFIGURED_ARCH).deb +KERNEL_MFT_TARGET = kernel-mft-dkms-modules-$(KVERSION)_$(MFT_VERSION)_$(CONFIGURED_ARCH).deb MAIN_TARGET = mft_$(MFT_VERSION)-$(MFT_REVISION)_$(CONFIGURED_ARCH).deb -DERIVED_TARGETS = $(MOD_DEB) mft-oem_$(MFT_VERSION)-$(MFT_REVISION)_$(CONFIGURED_ARCH).deb +DERIVED_TARGETS = mft-oem_$(MFT_VERSION)-$(MFT_REVISION)_$(CONFIGURED_ARCH).deb DKMS_CTRL = /var/lib/dkms/kernel-mft-dkms/ DKMS_TMP := $(shell mktemp -u -d -t dkms.XXXXXXXXXX) @@ -47,6 +47,17 @@ $(addprefix $(DEST)/, $(MAIN_TARGET)): $(DEST)/% : wget -O $(MFT_TGZ) $(MFT_TGZ_URL) tar xzf $(MFT_TGZ) + # fix timestamp because we do not actually build tools, only kernel + touch $(MFT_NAME)/DEBS/*.deb + mv $(MFT_NAME)/DEBS/*.deb $(DEST) + +$(addprefix $(DEST)/, $(DERIVED_TARGETS)): $(DEST)/% : $(DEST)/$(MAIN_TARGET) + +$(addprefix $(DEST)/, $(KERNEL_MFT_TARGET)): $(DEST)/% : + rm -rf $(MFT_NAME) + wget -O $(MFT_TGZ) $(MFT_TGZ_URL) + tar xzf $(MFT_TGZ) + # Prepare the directory to build kernel-mft-dkms-modules debian package mkdir -p $(DKMS_TMP)/DEBIAN mkdir -p $(DKMS_TMP)/lib/modules/$(KVERSION)/updates/dkms/ @@ -81,8 +92,6 @@ $(addprefix $(DEST)/, $(MAIN_TARGET)): $(DEST)/% : rm -rf $(DKMS_TMP) - # fix timestamp because we do not actually build tools, only kernel - touch $(MFT_NAME)/DEBS/*.deb - mv $(MFT_NAME)/DEBS/*.deb $(DEST) + mv $(MFT_NAME)/DEBS/$(KERNEL_MFT_TARGET) $(DEST) + -$(addprefix $(DEST)/, $(DERIVED_TARGETS)): $(DEST)/% : $(DEST)/$(MAIN_TARGET) diff --git a/platform/mellanox/rules.mk b/platform/mellanox/rules.mk index 70caa5aeaaae..9f4d291ddb55 100644 --- a/platform/mellanox/rules.mk +++ b/platform/mellanox/rules.mk @@ -17,7 +17,7 @@ # TODO: update for Bookworm: mft, iproute2, sx_kernel & issu-version include $(PLATFORM_PATH)/sdk.mk include $(PLATFORM_PATH)/fw.mk -#include $(PLATFORM_PATH)/mft.mk +include $(PLATFORM_PATH)/mft.mk include $(PLATFORM_PATH)/mft-fwtrace-cfg.mk include $(PLATFORM_PATH)/mlnx-sai.mk include $(PLATFORM_PATH)/hw-management.mk @@ -31,7 +31,7 @@ include $(PLATFORM_PATH)/mlnx-ffb.mk #include $(PLATFORM_PATH)/issu-version.mk include $(PLATFORM_PATH)/mlnx-onie-fw-update.mk include $(PLATFORM_PATH)/mlnx-ssd-fw-update.mk -#include $(PLATFORM_PATH)/iproute2.mk +include $(PLATFORM_PATH)/iproute2.mk include $(PLATFORM_PATH)/install-pending-fw.mk include $(PLATFORM_PATH)/integration-scripts.mk diff --git a/rules/docker-platform-monitor.mk b/rules/docker-platform-monitor.mk index 6652dfe18a05..55923416845a 100644 --- a/rules/docker-platform-monitor.mk +++ b/rules/docker-platform-monitor.mk @@ -6,7 +6,7 @@ DOCKER_PLATFORM_MONITOR_DBG = $(DOCKER_PLATFORM_MONITOR_STEM)-$(DBG_IMAGE_MARK). $(DOCKER_PLATFORM_MONITOR)_PATH = $(DOCKERS_PATH)/$(DOCKER_PLATFORM_MONITOR_STEM) -$(DOCKER_PLATFORM_MONITOR)_DEPENDS += $(LIBSENSORS) $(LM_SENSORS) $(FANCONTROL) $(SENSORD) $(LIBSWSSCOMMON) $(PYTHON3_SWSSCOMMON) $(MFT) +$(DOCKER_PLATFORM_MONITOR)_DEPENDS += $(LIBSENSORS) $(LM_SENSORS) $(FANCONTROL) $(SENSORD) $(LIBSWSSCOMMON) $(PYTHON3_SWSSCOMMON) $(DOCKER_PLATFORM_MONITOR)_PYTHON_WHEELS += $(SONIC_PLATFORM_COMMON_PY3) From bb78ef4fa284d33e850faf0fd9d06dec8aa3b68d Mon Sep 17 00:00:00 2001 From: Vivek Reddy Date: Thu, 5 Oct 2023 21:45:22 +0000 Subject: [PATCH 2/3] Update linux-kernel submodule Signed-off-by: Vivek Reddy --- src/sonic-linux-kernel | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/sonic-linux-kernel b/src/sonic-linux-kernel index ed361d1ac48d..8d65f4d1be55 160000 --- a/src/sonic-linux-kernel +++ b/src/sonic-linux-kernel @@ -1 +1 @@ -Subproject commit ed361d1ac48d2841e7253a5c6e623192fff77b43 +Subproject commit 8d65f4d1be55bb5e22190a4362af37f7183fe0ea From 62cdba216e49e2d92c7ff355c7f70d7296ddc936 Mon Sep 17 00:00:00 2001 From: Vivek Reddy Date: Thu, 5 Oct 2023 22:38:13 +0000 Subject: [PATCH 3/3] Fix paralell build problem Signed-off-by: Vivek Reddy --- platform/mellanox/mft/Makefile | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/platform/mellanox/mft/Makefile b/platform/mellanox/mft/Makefile index 72eb30815397..2f331ea879ce 100644 --- a/platform/mellanox/mft/Makefile +++ b/platform/mellanox/mft/Makefile @@ -42,14 +42,19 @@ DERIVED_TARGETS = mft-oem_$(MFT_VERSION)-$(MFT_REVISION)_$(CONFIGURED_ARCH).deb DKMS_CTRL = /var/lib/dkms/kernel-mft-dkms/ DKMS_TMP := $(shell mktemp -u -d -t dkms.XXXXXXXXXX) +MFT_TMP = /tmp/mft_build/ + $(addprefix $(DEST)/, $(MAIN_TARGET)): $(DEST)/% : - rm -rf $(MFT_NAME) + mkdir -p $(MFT_TMP) + pushd $(MFT_TMP) wget -O $(MFT_TGZ) $(MFT_TGZ_URL) tar xzf $(MFT_TGZ) - # fix timestamp because we do not actually build tools, only kernel + # fix timestamp touch $(MFT_NAME)/DEBS/*.deb mv $(MFT_NAME)/DEBS/*.deb $(DEST) + popd + rm -rf $(MFT_TMP) $(addprefix $(DEST)/, $(DERIVED_TARGETS)): $(DEST)/% : $(DEST)/$(MAIN_TARGET)