Hi, Simon Josefsson <si...@josefsson.org> writes:
> Denis 'GNUtoo' Carikli <gnu...@cyberdimension.org> writes: > >>> Is the syscall available for non-root users? If so isn't that a linux >>> kernel bug, surely non-privileged users shouldn't be allowed to load >>> firmware that can modify hardware behaviour? >> There is no syscall. You can do it by hand with echo and cat. >> >> It works in this way: >> # echo 1 > /sys/class/firmware/loading >> # cat /lib/firmware/my-firmware.bin > \ >> /sys/class/firmware/data >> # echo 0 > /sys/class/firmware/loading >> >> If I remember well, to run that at the right moment, there is also an >> interface to be notified when a firmware is requested. But that can >> also be done with a shell command: >> # nano /bin/my-udev-replacement >> # echo /bin/my-udev-replacement > /proc/sys/kernel/hotplug > > Do these two interfaces work in linux-libre, or is it part of what they > remove? Has anyone described how to load (for example) Intel WiFi blobs > from userspace running linux-libre? They should work, as the loading machinery is not removed, just the requests in Linux sources asking for the non-free blobs. After all, some firmware is free software, and is loaded the same way as the non-free ones: --8<---------------cut here---------------start------------->8--- scheme@(gnu system)> (map package-name %base-firmware) $9 = ("ath9k-htc-ar7010-firmware" "ath9k-htc-ar9271-firmware" "openfwwf-firmware") --8<---------------cut here---------------end--------------->8--- > I like how Replicant was fully free but still allowed me as a user of > the system to load non-free firmware into it. For Linux distributions > it seems you either have to go the non-free route with upstream Linux > kernel (Debian, Fedora etc) or go with linux-libre (Guix, Trisquels' > deblobed variant, etc) that disallow me as user the ability to load > non-free firmware. > > I would prefer a fully free Guix system that allowed me to load non-free > firmware if I so chose. Otherwise I have to use Debian, Fedora, > Non-Guix or something else to use those features of the system. > > Of course, I tend to purchase hardware that is compatible with > linux-libre (and I'm happy with my modern NovaCustom NV41), but I have a > personal struggle how to approach using a laptop that isn't compatible. > It seems there is room for improvement here: I think it should be > possible to run proper Guix on such a system (with some minor add-on > tweaks), and it doesn't seem to be today. I wouldn't say using an extra channel like nonguix is excessively difficult. Certainly a better option than using a foreign distribution if you are used to and like the features of Guix System. It's still be super cool to devise a way to enable freedom 0 in linux-libre, as mentioned in my previous reply. -- Thanks, Maxim