Compress Kernel Firmware
Summary
Compress Kernel Firmwares to reduce on disk size
Owner
- Name: Peter Robinson
- Email: pbrobinson@fedoraproject.org
- Release notes owner:
Current status
- Targeted release: Fedora 34
- Last updated: 2020-10-15
- FESCo issue: #2485
- Tracker bug: #1888831
- Release Notes tracker: #574
Detailed Description
Since the linux 5.3 kernel there has been support for loading firmware from xz compressed firmware. The upstream linux-firmware respository is now over 900Mb, not including other kernel firmware that are in Fedora but come from other sources. By compessing the firmware with "xz -C crc32", the only option currently supported in the kernel, we can reduce the ondisk size of the firmware by almost half.
Benefit to Fedora
Reduced on disk size of the firmware used by the kernel.
Scope
- Proposal owners:
- Add support upstream to the linux-firmware copy-firmware script to compess the firmware and create the symlinks to the compressed firmware
- Enable the upstream support in the Fedora linux-firmware package to compress the firmware at build time
- Enable compressing firmware in packages that contain firmware used by the kernel: eg alsa-sof-firmware, atmel-firmware, zd1211-firmware
- Enable the CONFIG_FW_LOADER_COMPRESS kernel option (long complete)
- Other developers:
- No impact
- Release engineering: #XXX
- List of deliverables: N/A (not a System Wide Change)
- Policies and guidelines: N/A (not a System Wide Change)
- Trademark approval: N/A (not needed for this Change)
Upgrade/compatibility impact
There should be no upgrade impact, the support was added to the generic firmware loader interface in the kernel.
How To Test
Check devices that need firmware still work. Some devices that need firmware include:
- GPU drivers such as nvidia, AMD and i915
- Wireless drivers such as those from Intel, Broadcom/Cyprus, TI, Qualcomm and Marvel
- Wired network interfaces
- Storage drivers
- USB controllers and drivers
User Experience
Generally users should notice little to no difference.
Dependencies
N/A (not a System Wide Change)
Contingency Plan
- Contingency mechanism: Don't compress kernel firmware
- Contingency deadline: GA
- Blocks release? No.
- Blocks product? No.
Documentation
N/A (not a System Wide Change)
Release Notes
N/A