[JAMMY][PATCH v2 0/3] Backport support to tolerate ZSTD compressed firmware files

Dimitri John Ledkov dimitri.ledkov at canonical.com
Thu Jul 27 16:31:21 UTC 2023


[ Impact ]

 * To ensure reliable dist-upgrades in case of partial upgrades or
   upgrade failures, it is desirable for LTS GA kernel to support
   features that next-LTS GA kernel will rely on.

 * Specifically it is being discussed to switch linux-firmware to ZSTD
   compressed one

 * To ensure that failed dist-upgrades can still boot after-partial
   upgrade it is desirable to suppport zstd compressed firmware

[ Test Plan ]

 * Boot new build of GA linux kernel with
   CONFIG_FW_LOADER_COMPRESS_ZSTD

 * Check that existing firmware files loaded on a given machine can be
   compressed with zstd and still loaded by this kernel

 * Check that depmod / initramfs-tools all support .zst compressed
   firmware

[ Where problems could occur ]

 * Once this is inroduced in jammy-GA kernel it may cripple into
   focal-hwe kernels too, and people may start relying on this feature
   despite not universally supported by all other focal kernels. This
   should be trivial to catch in SRUs for example, do not accept SRUs
   of firmwares that ship themselves as .zst in Jammy and lower.

[ Other Info ]

 * See
   https://lists.ubuntu.com/archives/ubuntu-devel/2023-July/042652.html

Changes since v1:

 * Squish cherry-pick + sauce, into a single backported from commit
 * Add note what was changed, following which API change commit

Dimitri John Ledkov (1):
  UBUNTU: [Config] Enable FW_LOADER_COMPRESS_ZSTD by default

Randy Dunlap (1):
  firmware_loader: EXTRA_FIRMWARE does not support compressed files

Takashi Iwai (1):
  firmware: Add the support for ZSTD-compressed firmware files

 debian.master/config/annotations     |  3 ++
 drivers/base/firmware_loader/Kconfig | 27 ++++++++--
 drivers/base/firmware_loader/main.c  | 76 ++++++++++++++++++++++++++--
 3 files changed, 98 insertions(+), 8 deletions(-)

-- 
2.34.1




More information about the kernel-team mailing list