sonic-buildimage/files/build_templates
Stepan Blyshchak 73c7ced753
[202012][Mellanox] Place FW binaries under platform directory instead of squashfs (#13890)
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 202012
202012 to 201911 downgrade
202012 -> 202012 reboot
ONIE -> 202012 boot (First FW burn)

Signed-off-by: Stepan Blyschak <stepanb@nvidia.com>
2023-02-22 17:38:54 +02:00
..
per_namespace [mux] skip mux operations during warm shutdown (#11937) 2022-10-03 22:30:55 +00:00
share_image [ChassisDB]: bring up ChassisDB service (#5283) 2020-10-14 15:15:24 -07:00
arp_update_vars.j2 [swss][arp_update] Send ipv6 pings over vlan sub interfaces (#8363) 2021-08-07 12:43:51 +00:00
backend_acl.j2 Add backend acl template (#11220) 2022-07-08 21:39:39 +00:00
buffers_config.j2 [202012]Support different DSCP_TO_TC_MAP for T1 in dualtor deployment (#11580) 2022-08-01 08:59:45 -07:00
config-chassisdb.service.j2 [ChassisDB]: bring up ChassisDB service (#5283) 2020-10-14 15:15:24 -07:00
config-setup.service.j2 [config-setup]: create a SONiC configuration management service (#3227) 2019-12-04 07:15:58 -08:00
database.service.j2 Multi-ASIC implementation (#3888) 2020-03-31 10:06:19 -07:00
dhcp_relay.service.j2 [services] introduce sonic.target (#5705) 2021-03-04 21:23:05 +00:00
docker_image_ctl.j2 [services] kill container on stop in warm/fast mode (#10511) 2022-04-18 14:27:48 -07:00
gbsyncd.service.j2 [services] introduce sonic.target (#5705) 2021-03-04 21:23:05 +00:00
iccpd.service.j2 [services] introduce sonic.target (#5705) 2021-03-04 21:23:05 +00:00
init_cfg.json.j2 [202012] [Fastboot] Delay PMON service for better fastboot performance (#10745) 2022-05-15 23:31:32 -07:00
kube_cni.10-flannel.conflist First cut image update for kubernetes support. (#5421) 2020-12-22 08:01:33 -08:00
lldp.service.j2 Changes for LLDP docker to support multi-npu platforms (#4530) 2020-05-11 11:05:44 -07:00
lldp.timer.j2 [202012] [Fastboot] Delay LLDP service for better fastboot performance (#10568) (#10744) 2022-05-15 15:05:29 +03:00
mgmt-framework.service.j2 [services] kill container on stop in warm/fast mode (#10511) 2022-04-18 14:27:48 -07:00
mgmt-framework.timer Grouping delayed services under a target for config reload checks (#7846) 2021-08-16 07:50:56 +00:00
mux.service.j2 [mux] Exit to write standby state to active-active ports (#11821) 2022-10-03 19:52:51 +00:00
nat.service.j2 [services] introduce sonic.target (#5705) 2021-03-04 21:23:05 +00:00
organization_extensions.sh Framework to plugin Organization specific scripts during ONIE Image build (#951) 2017-09-19 16:23:31 -07:00
pmon.service.j2 [202012] [Fastboot] Delay PMON service for better fastboot performance (#10745) 2022-05-15 23:31:32 -07:00
pmon.timer [202012] [Fastboot] Delay PMON service for better fastboot performance (#10745) 2022-05-15 23:31:32 -07:00
qos_config.j2 [202012] Apply separated DSCP_TO_TC_MAP and TC_TO_QUEUE_MAP on dualtor (#12792) 2022-11-23 21:49:00 +08:00
radv.service.j2 [services] introduce sonic.target (#5705) 2021-03-04 21:23:05 +00:00
restapi.service.j2 [services] introduce sonic.target (#5705) 2021-03-04 21:23:05 +00:00
sflow.service.j2 [services] introduce sonic.target (#5705) 2021-03-04 21:23:05 +00:00
snmp.service.j2 [services] kill container on stop in warm/fast mode (#10511) 2022-04-18 14:27:48 -07:00
snmp.timer Grouping delayed services under a target for config reload checks (#7846) 2021-08-16 07:50:56 +00:00
sonic_debian_extension.j2 [202012][Mellanox] Place FW binaries under platform directory instead of squashfs (#13890) 2023-02-22 17:38:54 +02:00
sonic-delayed.target Grouping delayed services under a target for config reload checks (#7846) 2021-08-16 07:50:56 +00:00
sonic.target [services] introduce sonic.target (#5705) 2021-03-04 21:23:05 +00:00
swss_vars.j2 [swss_vars]: Add 'resource_type' attribute. (#7188) 2021-05-03 10:38:11 -07:00
tacacs-config.service Add service to restore TACACS from old config (#7560) 2021-06-07 06:02:32 +00:00
tacacs-config.timer Add service to restore TACACS from old config (#7560) 2021-06-07 06:02:32 +00:00
telemetry.service.j2 [services] kill container on stop in warm/fast mode (#10511) 2022-04-18 14:27:48 -07:00
telemetry.timer Grouping delayed services under a target for config reload checks (#7846) 2021-08-16 07:50:56 +00:00
updategraph.service.j2 [config-setup]: create a SONiC configuration management service (#3227) 2019-12-04 07:15:58 -08:00