Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[201911][Mellanox] Place FW binaries under platform directory instead of squashfs #14270

Merged
merged 4 commits into from
Apr 11, 2023

Conversation

stepanblyschak
Copy link
Collaborator

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

Signed-off-by: Stepan Blyschak [email protected]

Why I did it

202211 and above uses different squashfs compression type that 201911 kernel can not handle. Therefore, we avoid mounting squashfs altogather 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 neccessary 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)

  • 201811
  • 201911
  • 202006
  • 202012
  • 202106
  • 202111
  • 202205
  • 202211

Description for the changelog

Ensure to add label/tag for the feature raised. example - PR#2174 under sonic-utilities repo. where, Generic Config and Update feature has been labelled as GCU.

Link to config_db schema for YANG module changes

A picture of a cute animal (not mandatory but encouraged)

@liat-grozovik liat-grozovik changed the title [201911][nvidia] Place FW binaries under platform directory instead of squashfs [201911][Mellanox] Place FW binaries under platform directory instead of squashfs Mar 21, 2023
@liat-grozovik
Copy link
Collaborator

This is to allow upgrade from 201911 to 202211 and above.
@abdosi can you please help to merge?

@keboliu keboliu requested a review from abdosi March 29, 2023 07:18
@liat-grozovik
Copy link
Collaborator

@abdosi kindly reminder, can you please help to merge?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants