sonic-buildimage/platform/mellanox
Stepan Blyshchak 969166d769 [Mellanox] Place FW binaries under platform directory instead of squashfs (#13837)
Fixes #13568

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 master
master to 201911 downgrade
master -> master reboot
ONIE -> master boot (First FW burn)
Which release branch to backport (provide reason below if selected)
2023-03-08 13:50:18 +08:00
..
docker-saiserver-mlnx [infra] Support syslog rate limit configuration (#12490) (#13535) 2023-01-30 20:11:44 +02:00
docker-syncd-mlnx [Mellanox] [ECMP calculator] Add support for 4600/4600C/2201 platforms with different interface naming method (#13814) (#13931) 2023-02-22 22:14:09 +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] Advance hw-mgmt to v.7.0020.4104 (#13372) 2023-02-20 14:38:53 +08: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 [Mellanox] Enhance MFT make file to download source code from any valid URL (#13801) (#13868) 2023-02-18 02:14:00 +08:00
mlnx-platform-api [Mellanox] Fix issue: cannot find label port for logical port when logical port number is larger than 64 (#13710) (#13962) 2023-03-06 16:47:31 +08:00
mlnx-sai [submodule]Advance sairdis with sai 1.11 and add brcm and mlnx sai sdk (#12471) (#12820) 2022-11-24 23:30:54 +08:00
non-upstream-patches [Mellanox] Non upstream patches for hw-mgmt V.4.0020.4104 (#13792) (#13960) 2023-02-23 20:32:09 +08:00
sdk-src [Mellanox] update sdk/fw build procedure (#14025) (#14059) 2023-03-03 02:43:19 +08: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 Upgrade mellanox platform containers (syncd / saiserver / syncd-rpc) and pmon to bullseye (#10580) 2022-05-10 12:45:28 +03: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 Remove support to Mellanox SPC4 ASIC (#13932) (#13957) 2023-02-23 22:22:35 +08:00
fw.mk [Mellanox] update sdk/fw build procedure (#14025) (#14059) 2023-03-03 02:43:19 +08:00
hw-management.dep [mellanox]: Add DPKG local caching support. (#4441) 2020-04-20 19:02:46 -07:00
hw-management.mk [Mellanox] Advance hw-mgmt to v.7.0020.4104 (#13372) 2023-02-20 14:38:53 +08: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 [Mellanox] Add arm64 architecture support to mellanox platform (#11342) 2022-07-13 16:21:33 +03:00
mft.dep [mellanox]: Add DPKG local caching support. (#4441) 2020-04-20 19:02:46 -07:00
mft.mk [Mellanox] Enhance MFT make file to download source code from any valid URL (#13801) (#13868) 2023-02-18 02:14:00 +08: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 [Mellanox] Place FW binaries under platform directory instead of squashfs (#13837) 2023-03-08 13:50:18 +08: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) (#13959) 2023-02-23 20:32:15 +08:00
mlnx-sai.dep [mellanox]: Add DPKG local caching support. (#4441) 2020-04-20 19:02:46 -07:00
mlnx-sai.mk [submodule]Advance sairdis with sai 1.11 and add brcm and mlnx sai sdk (#12471) (#12820) 2022-11-24 23:30:54 +08: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-06-20 19:12:20 -07: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 Added BUILD flags to provision for building the kernel with non-upstream patches (#12428) 2022-10-31 12:16:05 -07:00
sdk.dep [Mellanox] Add SDK hash calculator debian and update SDK makefile to compile it (#12840) 2022-12-10 10:33:21 +08:00
sdk.mk [Mellanox] update sdk/fw build procedure (#14025) (#14059) 2023-03-03 02:43:19 +08:00
zero_profiles.j2 [Mellanox] Add NVIDIA copyright header for NVIDIA added files (#12130) 2022-10-02 11:34:24 +03:00