[202012][mellanox]: Add BIOS upgrade infra (#13571)

- Why I did it
Added BIOS upgrade infra

- How I did it
Added new make target

- How to verify it
Copy msn3800_bios.tar.gz to platform/mellanox/bios
make configure PLATFORM=mellanox
make target/files/buster/msn3800_bios.tar.gz

Signed-off-by: Nazarii Hnydyn <nazariig@nvidia.com>
This commit is contained in:
Nazarii Hnydyn 2023-02-02 10:07:03 +02:00 committed by GitHub
parent 1354033f90
commit 83b6518ae2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 30 additions and 0 deletions

View File

@ -796,6 +796,12 @@ sudo cp {{src}} $FILESYSTEM_ROOT/{{dst}}
{% if sonic_asic_platform == "mellanox" %}
sudo mkdir -p $FILESYSTEM_ROOT/etc/mlnx/
if [ -n "$MLNX_BIOS_ARCHIVES" ]; then
sudo mkdir -p $FILESYSTEM_ROOT/etc/mlnx/bios/
for MLNX_BIOS_ARCHIVE in $MLNX_BIOS_ARCHIVES; do
sudo cp $files_path/$MLNX_BIOS_ARCHIVE $FILESYSTEM_ROOT/etc/mlnx/bios/
done
fi
sudo cp $files_path/$MLNX_SPC_FW_FILE $FILESYSTEM_ROOT/etc/mlnx/fw-SPC.mfa
sudo cp $files_path/$MLNX_SPC2_FW_FILE $FILESYSTEM_ROOT/etc/mlnx/fw-SPC2.mfa
sudo cp $files_path/$MLNX_SPC3_FW_FILE $FILESYSTEM_ROOT/etc/mlnx/fw-SPC3.mfa

View File

@ -16,6 +16,9 @@ sdk-src/*/*
*/*.gz
*/*.egg-info
# Exceptions
!bios/*.gz
# Autogenerated Dockerfiles
docker-syncd-mlnx/Dockerfile
docker-syncd-mlnx-rpc/Dockerfile

15
platform/mellanox/bios.mk Normal file
View File

@ -0,0 +1,15 @@
# Mellanox BIOS Firmware
ifeq ($(shell [ -f $(PLATFORM_PATH)/bios/msn3800_bios.tar.gz ] && echo yes),yes)
MLNX_SN3800_BIOS_ARCHIVE = msn3800_bios.tar.gz
$(MLNX_SN3800_BIOS_ARCHIVE)_PATH = $(PLATFORM_PATH)/bios/
SONIC_COPY_FILES += $(MLNX_SN3800_BIOS_ARCHIVE)
MLNX_BIOS_ARCHIVES += $(MLNX_SN3800_BIOS_ARCHIVE)
endif
ifdef MLNX_BIOS_ARCHIVES
MLNX_FILES += $(MLNX_BIOS_ARCHIVES)
export MLNX_BIOS_ARCHIVES
endif

View File

@ -0,0 +1,5 @@
# Mellanox BIOS
## Description
This directory contains BIOS packages.

View File

@ -13,6 +13,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)/bios.mk
SONIC_ALL += $(SONIC_ONE_IMAGE) \
$(DOCKER_FPM)