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

Reply via email to