On Mon, May 04, 2020 at 12:45:55PM +0200, Greg KH wrote:
On Mon, May 04, 2020 at 01:26:35PM +0300, Doron Behar wrote:
I hope this question fits to this List.
Today I learned that my distro's `linux-unfree-firmware` package is 491 Mb in size. I'm pretty sure my hardware doesn't need all of these files. Maybe different Linux distros call this package differently, but I'm talking about the firmware files that come from: https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/
I think I can reduce this disk usage if I'll only know what files I can exclude from there.
Is there any official documentation, that states exactly what files from That git repo are needed per device / computer model? Perhaps the official documentation of my Computer's hardware will state that? There's a Linux from scratch webpage[1] that gives some info for popular hardware, but I'm wondering if there's a bit more "official" information available somewhere.
[1]: http://linuxfromscratch.org/blfs/view/svn/postlfs/firmware.html
The kernel macro MODULE_FIRMWARE() will show the firmware file that a specific kernel module needs. So if you look a the output of modinfo for all of the modules that your system needs, you will see a "firmware" line that shows the name that your hardware needs for that specific driver/module.
Thanks for replying greg, So I have the command `modinfo` available, should I just iterate _all_ the files in /usr/lib/modules/5.6.7/kernel ? For example: ``` $ modinfo /usr/lib/modules/5.6.7/kernel/net/ieee802154/ieee802154.ko.xz filename: /usr/lib/modules/5.6.7/kernel/net/ieee802154/ieee802154.ko.xz author: Dmitry Eremin-Solenikov description: IEEE 802.15.4 configuration interface license: GPL v2 depends: retpoline: Y intree: Y name: ieee802154 vermagic: 5.6.7 SMP mod_unload sig_id: PKCS#7 signer: sig_key: sig_hashalgo: unknown signature: ``` Doesn't seem informative regarding firmware files. Should I expect other .ko.xz files to give a line with `firmware: `? Plus, how do I know what modules does my system need and which it doesn't? Doron.