2

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.

2
  • 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 Commented Feb 28, 2016 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 Commented Feb 29, 2016 at 11:09

1 Answer 1

2

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 
5
  • 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? Commented Mar 3, 2016 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 Commented Mar 4, 2016 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 Commented Mar 4, 2016 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 Commented Mar 16, 2016 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! Commented Mar 16, 2016 at 20:30

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.