On Fri, Jul 1, 2022 at 1:57 PM Ben Cotton <bcotton(a)redhat.com> wrote:
https://fedoraproject.org/wiki/Changes/Linux_Firmware_Minimization
This document represents a proposed Change. As part of the Changes
process, proposals are publicly announced in order to receive
community feedback. This proposal will only be implemented if approved
by the Fedora Engineering Steering Committee.
== Summary ==
Split linux-firmware into more subpackages, and add the ability to
automatically install firmware based on the hardware present
== Owner ==
* Name: [[User:Salimma|Michel Alexandre Salim]],
[[User:Dcavalca|Davide Cavalca]]
* Email: michel(a)fb.com, dcavalca(a)fb.com
== Detailed Description ==
The `linux-firmware` RPM is very large (175M src.rpm, 287M
*.noarch.rpm per 20211027-126) that bundles most of the system
firmware loaded by the kernel, regardless of whether it’s actually
needed. Some additional firmwares are already split up into individual
subpackages. This change would extend that, splitting out most firmare
into appropriate subpackages. The Change would also make the
subpackages `Supplements` the appropriate `modalias(...)` for the
hardware they support and `Provides`
`firmware(kmodname/firmwarefile.bin)`
Candidates for splitting out:
* CPU firmwares
* GPU firmwares
* Non-Intel wifi firmwares
* Bluetooth firmwares
Conversely some firmware could probably be grouped together, e.g. have
iwlwifi-firmware that pulls in iwl*-firmware (corresponding to
openSUSE's kernel-firmware-iwlwifi).
We will also introduce `linux-firmware-all` that will pull in all
subpackages; this will make it easier to manage the firmware packages
in different Fedora variants.
A DNF plugin will be written to make use of the `Supplements` metadata
to automatically install the appropriate firmware packages based on
the hardware present on the system (see openSUSE's `libzypp`:
https://github.com/openSUSE/libzypp/blob/a34d857dbe3b16d4a7e0219cd213cc5a...
and
https://github.com/openSUSE/libzypp/blob/7f345ea4892fd02345e8de47c2a08ab5...)
== Feedback ==
== Benefit to Fedora ==
This would save a lot of disk space on Fedora installations, and make
it easier to test individual firmware updates by replacing a single
subpackage. It will also bring us into alignment with openSUSE (see
their
[
https://code.opensuse.org/package/kernel-firmware/blob/master/f/kernel-fi...
kernel-firmware.spec]).
This is sorely needed, and I'm really looking forward to this being implemented!
--
真実はいつも一つ!/ Always, there's only one truth!