Basically I have the situation when box is booting from usb (gentoo-minimal.iso) but installation is lacking the firmware for killer 1525 (ath10k). The filesystem is mounted as ro and I can't put needed firmware into /lib/firmware. What are the other ways to load firmware in this situation?

Basically what I'm trying to is to make udev rule that will point the kernel to look up firmware and drivers for my wifi card within usb drive or some other place that is not mounted ro.

Update 1.

It's possible on other live cd when they are used in hybrid iso mode like SystemRescueCd. I'm not sure why it's possible there but not possible on gentoo original minimal livecd as they both are founded on gentoo live cd.

  • On Debian: one could use an additional media to load firmware, live USB can be used with persistence (some extra step in order to have an additional partition). I expect similar tools also in gentoo – Giacomo Catenazzi Feb 28 '16 at 15:50
  • @Giacomo Catenazzi yeah I know that it's possible there but don't have understanding how it works and how can I achieve it in my case – d3day Feb 29 '16 at 11:09

Option 1

You can still bind another directory over /lib/firmware. Copy the existing firmware to a temporary directory, add your new firmware, then bind the temp directory over the /lib/firmware directory.

mkdir /tmp/firmware
cp -r /lib/firmware/* /tmp/firmware/
cp -r my_firmware /tmp/firmware/
mount -o bind /tmp/firmware /lib/firmware

You'll have to reload the ath module mounting so that it can pick up the firmware. Now any firmware you add to /tmp/firmware will be available to the system

Option 2

Add a firmware_class.path argument to the kernel command line to add an additional search path for the kernel firmware loader See kernel documentation

When the liveCD boots try this:

gentoo firmware_class.path=/tmp/firmware
| improve this answer | |
  • Yeah I guess it will do for me, but how can I create an udev rule so it will lookup firmware in additional folders rather than copying all the firmware folder contents? – d3day Mar 3 '16 at 9:00
  • 1
    It's been a while since I've booted a gentoo livecd. Does it support overlayfs? If so I'll update the answer with that option. It goes something like mount -t overlayfs -o lowerdir=/lib/firmware,upperdir=/tmp/firmware overlayfs /lib/firmware – Thomas Zwaagstra Mar 4 '16 at 19:55
  • As for the udev rule, I believe it normally just calls the firmware helper. I don't think you can make the change you're looking for directly in the udev rule, I think it would have to change the configuration of the firmware helper – Thomas Zwaagstra Mar 4 '16 at 19:58
  • regarding the gentoo livecd it doesn't support overlayfs zcat /proc/config.gz | grep OVERLAY produces #CONFIG_OVERLAY_FS is not set – d3day Mar 16 '16 at 18:27
  • I came across a potentially better method that should work. I haven't tested it yet but it should allow you to add another search path to the kernel-based firmware loader (introduced in linux-3.7). Cheers! – Thomas Zwaagstra Mar 16 '16 at 20:30

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.