fedora-coreos-docs icon indicating copy to clipboard operation
fedora-coreos-docs copied to clipboard

kernel: show how to add custom node-local firmware blobs

Open lucab opened this issue 4 years ago • 1 comments

It looks like some users are having troubles bringing custom firmware blobs to their nodes, mostly because the default location under /usr/lib/firmware is read-only.

The proper way to do that would be instead to store the blobs somewhere in node-local storage (e.g. /var or /usr/local) and tweak the kernel search path to look it up there.

In a manual way, this is how it looks like (dummy regulatory.db example):

# rpm-ostree kargs --append firmware_class.path=/usr/local/lib/firmware/updates --reboot

# cat /sys/module/firmware_class/parameters/path
/usr/local/lib/firmware/updates

# mkdir -p /usr/local/lib/firmware/updates
# touch /usr/local/lib/firmware/updates/regulatory.db
# modprobe cfg80211 && dmesg | grep regulatory
[...]
[  787.974091] platform regulatory.0: loading /usr/local/lib/firmware/updates/regulatory.db failed with error -22
[  787.974769] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
[  787.975334] cfg80211: failed to load regulatory.db
[...]

We should port this into a Butane config and add it to our docs.

lucab avatar Oct 04 '21 07:10 lucab

Hopefully we can get the kernel default search path augmented, requiring less manual fiddling in the future. Asked for that in https://bugzilla.redhat.com/show_bug.cgi?id=2010641.

lucab avatar Oct 05 '21 09:10 lucab