Re: [PATCH] firmware_loader: Expose requested firmware names as sysfs entries
From: Javier Martinez Canillas
Date: Mon Nov 02 2026 - 06:21:35 EST
"Danilo Krummrich" <dakr@xxxxxxxxxx> writes:
Hello Danilo,
Thanks a lot for your feedback.
> (Cc: Corentin)
>
> On Sat Oct 17, 2026 at 4:27 PM CEST, Javier Martinez Canillas wrote:
>> Most initramfs image creation tools (e.g., dracut or initramfs-tools) have
>> options to create initramfs images that are either generic or tailored to
>> a running system. For example, dracut has the --host-only option for this.
>>
>> That option allows to have a smaller initramfs image which only contains a
>> sub-set of the kernel modules, libraries, binaries and configuration data.
>>
>> One thing that can't be queried in a running system is the set of firmware
>> names that were requested by the kernel to support the different devices.
>>
>> Let's expose this information as sysfs entries to allow initramfs creation
>> tools to determine the set of firmware names that are needed by a system.
>>
>> On an AM625 BeaglePlay board, the following will be exposed through sysfs:
>>
>> $ grep -H . /sys/class/firmware/requested*
>> /sys/class/firmware/requested0:powervr/rogue_33.15.11.3_v1.fw
>> /sys/class/firmware/requested1:ath3k-1.fw
>> /sys/class/firmware/requested2:regulatory.db
>> /sys/class/firmware/requested3:regulatory.db.p7s
>> /sys/class/firmware/requested4:ti-connectivity/wl1271-nvs.bin
>> /sys/class/firmware/requested5:ti-connectivity/wl18xx-conf.bin
>> /sys/class/firmware/requested6:ti-connectivity/wl18xx-fw-4.bin
>>
>> Signed-off-by: Javier Martinez Canillas <javierm@xxxxxxxxxx>
>
> This was discussed before in [1]. I rejected it back then because userspace can
> already collect this information through existing interfaces.
>
Oh, I missed that patch from Corentin and I did search if anyone else proposed
something similar before...
> However, I can see how having a queryable history could simplify automated
Yeah, there is clearly a gap or otherwise we wouldn't need for example the
70devicetree-firmware [0] dracut's module to query "firmware-name" properties
from the Device Tree that was added by Hans, Dave's proposal to add FW group
MODULE_FIRMWARE_GROUP*() metadata to the Linux kernel modules' modinfo [1] or
the Fedora [2] effort to split the linux-firmware package in several RPMs.
> tooling like dracut. Has this been discussed with the dracut maintainers, and is
> there a concrete plan to use this interface?
>
I haven't discussed with the dracut developers yet. I thought it was too early,
given that I didn't know wether this approach would be acceptable or not. I do
have a dracut branch [3] though that I've used for testing purposes:
$ lsinitrd /tmp/initramfs-hostonly.img | grep firmware | wc -l
11
$ lsinitrd /tmp/initramfs-nohostonly.img | grep firmware | wc -l
61
> [1] https://lore.kernel.org/all/20260715131325.26099-1-clabbe@xxxxxxxxxxxx/
>
[0]: https://github.com/dracut-ng/dracut/blob/main/modules.d/70devicetree-firmware/module-setup.sh
[1]: https://lists.freedesktop.org/archives/dri-devel/2023-July/411884.html
[2]: https://fedoraproject.org/wiki/Changes/Linux_Firmware_Minimization
[3]: https://github.com/martinezjavier/dracut/tree/hostonly-firmware-support
--
Best regards,
Javier Martinez Canillas
Core Platforms
Red Hat