sonic-buildimage/platform/mellanox
Stepan Blyshchak 70e2ea1e87
[202205][Mellanox] Place FW binaries under platform directory instead of squashfs (#13838)
Fixes #13568
Backport of #13837

Upgrade from old image always requires squashfs mount to get the next image FW binary. This can be avoided if we put FW binary under platform directory which is easily accessible after installation:

admin@r-spider-05:~$ ls /host/image-fw-new-loc.0-dirty-20230208.193534/platform/fw-SPC.mfa
/host/image-fw-new-loc.0-dirty-20230208.193534/platform/fw-SPC.mfa
admin@r-spider-05:~$ ls -al /tmp/image-fw-new-loc.0-dirty-20230208.193534-fs/etc/mlnx/fw-SPC.mfa
lrwxrwxrwx 1 root root 66 Feb  8 17:57 /tmp/image-fw-new-loc.0-dirty-20230208.193534-fs/etc/mlnx/fw-SPC.mfa -> /host/image-fw-new-loc.0-dirty-20230208.193534/platform/fw-SPC.mfa

- Why I did it
202211 and above uses different squashfs compression type that 201911 kernel can not handle. Therefore, we avoid mounting squashfs altogether with this change.

- How I did it
Place FW binary under /host/image-/platform/mlnx/, soft links in /etc/mlnx are created to avoid breaking existing scripts/automation.
/etc/mlnx/fw-SPCX.mfa is a soft link always pointing to the FW that should be used in current image
mlnx-fw-upgrade.sh is updated to prefer /host/image-/platform/mlnx location and fallback to /etc/mlnx in squashfs in case new location does not exist. This is necessary to do image downgrade.

- How to verify it
Upgrade from 201911 to 202205
202205 to 201911 downgrade
202205 -> 202205 reboot
ONIE -> 202205 boot (First FW burn)

Signed-off-by: Stepan Blyschak <stepanb@nvidia.com>
2023-02-22 17:40:50 +02:00
..
docker-saiserver-mlnx [SAI-PTF][mlnx]Enable saiserver test container on mlnx platforms (#13311) 2023-02-16 15:42:12 -08:00
docker-syncd-mlnx [Mellanox][sai_failure_dump]Added platform specific script to be invoked during SAI failure dump (#13533) (#13749) 2023-02-10 09:23:10 -08:00
docker-syncd-mlnx-rpc Upgrade mellanox platform containers (syncd / saiserver / syncd-rpc) and pmon to bullseye (#10580) 2022-05-10 12:45:28 +03:00
hw-management [Mellanox] Update hw-mgmt package to V.7.0020.3006 (#11538) 2022-08-11 16:17:30 +00:00
issu-version Upgrade mellanox platform containers (syncd / saiserver / syncd-rpc) and pmon to bullseye (#10580) 2022-05-10 12:45:28 +03:00
mft Upgrade mellanox platform containers (syncd / saiserver / syncd-rpc) and pmon to bullseye (#10580) 2022-05-10 12:45:28 +03:00
mlnx-platform-api [Mellanox] Check system eeprom existence in a retry manner (#13884) (#13915) 2023-02-22 13:43:03 +08:00
mlnx-sai [202205] [Mellanox] Update SAI to 2205.23.1.0 and SDK/FW to 4.5.4150/v2010.4150 (#13397) 2023-01-18 09:19:21 +02:00
sdk-src [202205] [Mellanox] Update SAI to 2205.23.1.0 and SDK/FW to 4.5.4150/v2010.4150 (#13397) 2023-01-18 09:19:21 +02:00
.gitignore [mellanox] build SDK driver from open source (#3580) 2019-10-08 07:57:12 -07:00
asic_table.j2 [Mellanox] Update NVIDIA License header for files changed since 1.1.2022 (#10289) 2022-03-23 13:19:25 +02:00
docker-saiserver-mlnx.dep [mellanox]: Add DPKG local caching support. (#4441) 2020-04-20 19:02:46 -07:00
docker-saiserver-mlnx.mk [SAI-PTF][mlnx]Enable saiserver test container on mlnx platforms (#13311) 2023-02-16 15:42:12 -08:00
docker-syncd-mlnx-rpc.dep [mellanox]: Add DPKG local caching support. (#4441) 2020-04-20 19:02:46 -07:00
docker-syncd-mlnx-rpc.mk Upgrade mellanox platform containers (syncd / saiserver / syncd-rpc) and pmon to bullseye (#10580) 2022-05-10 12:45:28 +03:00
docker-syncd-mlnx.dep [build][asan] make dpkg cache asan-aware (#10750) 2022-05-31 11:15:44 +03:00
docker-syncd-mlnx.mk [asan] add debug package for asan-enabled containers (#10953) 2022-05-31 09:24:18 +03:00
fw.dep [mellanox]: Add DPKG local caching support. (#4441) 2020-04-20 19:02:46 -07:00
fw.mk [202205] [Mellanox] Add ASIC simulation version tag to fw.mk (#13472) 2023-01-23 13:29:08 +02:00
hw-management.dep [mellanox]: Add DPKG local caching support. (#4441) 2020-04-20 19:02:46 -07:00
hw-management.mk [Mellanox] Update hw-mgmt package to V.7.0020.3006 (#11538) 2022-08-11 16:17:30 +00:00
install-pending-fw.dep [Mellanox] Modified Platform API to support all firmware updates in single boot (#9608) 2022-01-24 00:56:38 -08:00
install-pending-fw.mk [Mellanox] Update NVIDIA License header for files changed since 1.1.2022 (#10289) 2022-03-23 13:19:25 +02:00
install-pending-fw.py [Mellanox] Update NVIDIA License header for files changed since 1.1.2022 (#10289) 2022-03-23 13:19:25 +02:00
issu-version.dep Fix cache related mellanox bullseye build failures (#9234) 2021-11-16 14:49:47 -08:00
issu-version.mk Upgrade mellanox platform containers (syncd / saiserver / syncd-rpc) and pmon to bullseye (#10580) 2022-05-10 12:45:28 +03:00
libsaithrift-dev.dep [mellanox]: Add DPKG local caching support. (#4441) 2020-04-20 19:02:46 -07:00
libsaithrift-dev.mk [SAI-PTF][mlnx]Enable saiserver test container on mlnx platforms (#13311) 2023-02-16 15:42:12 -08:00
mft.dep [mellanox]: Add DPKG local caching support. (#4441) 2020-04-20 19:02:46 -07:00
mft.mk [202205] [Mellanox] Update MFT to v4.21.0-100 (#11759) 2022-08-24 11:48:43 +03:00
mlnx-ffb.dep [mellanox]: Add DPKG local caching support. (#4441) 2020-04-20 19:02:46 -07:00
mlnx-ffb.mk [Mellanox] Add NVIDIA Copyright header to "mellanox" files (#8799) 2021-10-17 19:03:02 +03:00
mlnx-ffb.sh [Mellanox] Add NVIDIA Copyright header to "mellanox" files (#8799) 2021-10-17 19:03:02 +03:00
mlnx-fw-upgrade.j2 [202205][Mellanox] Place FW binaries under platform directory instead of squashfs (#13838) 2023-02-22 17:40:50 +02:00
mlnx-onie-fw-update.dep [mellanox]: Add DPKG local caching support. (#4441) 2020-04-20 19:02:46 -07:00
mlnx-onie-fw-update.mk [Mellanox] Add NVIDIA Copyright header to "mellanox" files (#8799) 2021-10-17 19:03:02 +03:00
mlnx-onie-fw-update.sh [Mellanox] Update NVIDIA License header for files changed since 1.1.2022 (#10289) 2022-03-23 13:19:25 +02:00
mlnx-platform-api.dep [Bug][Build]: Fix the mlnx-platform-api dpkg cache config error (#9705) 2022-01-09 09:21:59 +08:00
mlnx-platform-api.mk Add PYTHON3_SWSSCOMMON as build time dependency to Mellanox platform API (#13847) (#13905) 2023-02-22 02:34:55 +08:00
mlnx-sai.dep [mellanox]: Add DPKG local caching support. (#4441) 2020-04-20 19:02:46 -07:00
mlnx-sai.mk [202205] [Mellanox] Update SAI to 2205.23.1.0 and SDK/FW to 4.5.4150/v2010.4150 (#13397) 2023-01-18 09:19:21 +02:00
mlnx-ssd-fw-update.dep [mellanox]: Add DPKG local caching support. (#4441) 2020-04-20 19:02:46 -07:00
mlnx-ssd-fw-update.mk [Mellanox] Add NVIDIA Copyright header to "mellanox" files (#8799) 2021-10-17 19:03:02 +03:00
mlnx-ssd-fw-update.sh [Mellanox] Enhance Platform API to support SN2201 - RJ45 ports and new components mgmt. (#10377) 2022-07-28 20:24:49 +00:00
one-image.dep [mellanox]: Add DPKG local caching support. (#4441) 2020-04-20 19:02:46 -07:00
one-image.mk [Mellanox] Add NVIDIA Copyright header to "mellanox" files (#8799) 2021-10-17 19:03:02 +03:00
peripheral_table.j2 [Mellanox] Add NVIDIA Copyright header to "mellanox" files (#8799) 2021-10-17 19:03:02 +03:00
platform.conf one image implementation (#215) 2017-01-29 11:33:33 -08:00
rules.dep [Mellanox] Modified Platform API to support all firmware updates in single boot (#9608) 2022-01-24 00:56:38 -08:00
rules.mk [Mellanox] Update NVIDIA License header for files changed since 1.1.2022 (#10289) 2022-03-23 13:19:25 +02:00
sdk.dep [nvidia/mellanox] add MLNX_SDK_DEB_VERSION to SDK packages flags list. (#7747) 2021-06-08 09:38:00 -07:00
sdk.mk [202205] [Mellanox] Update SAI to 2205.23.1.0 and SDK/FW to 4.5.4150/v2010.4150 (#13397) 2023-01-18 09:19:21 +02:00
zero_profiles.j2 [202205] [Mellanox] update NVIDIA copyright header for added files (#12126) 2022-09-22 19:08:08 +03:00