All of lore.kernel.org
 help / color / mirror / Atom feed
From: Michael Conrad <mconrad@intellitree.com>
To: linux-kernel@vger.kernel.org
Subject: How do I enumerate firmware used by compiled-in drivers?
Date: Tue, 17 Dec 2013 01:39:45 -0500	[thread overview]
Message-ID: <52AFF1B1.4000303@intellitree.com> (raw)

Hi, I am trying to maintain an initrd for a homebrew Linux distro. I'm 
having a problem where kernel modules are gradually shifting from 
linux/firmware to /lib/firmware, which breaks my initrd (which currently 
uses CONFIG_FIRMWARE_IN_KERNEL).  I am looking for a way to extract a 
list of needed firmware files from my compiled kernel so that I can 
include them in my initrd.  I want to automate this so that I don't have 
to fight it on every kernel upgrade.  A helpful fellow on freenode 
#kernel pointed out that modinfo contains a list of firmware names, but 
didn't know any way to find that information for compiled-in drivers.  
Is there any way I can do this?

More context:

I have an initrd, so I'm ok with the idea of switching from 
firmware-in-kernel to /lib/firmware.  However /lib/firmware is 57 MB and 
contains many firmware files which aren't even used by Linux 3.10.17 or 
by my configuration.  I want to include only the ones that the kernel 
might try to load.

I want to support most popular network and storage chipsets, plus a few 
specific less popular ones, so I have lots of drivers selected (some 
modules, some compiled-in) and I don't want to be surprised when a 
driver (like bnx2) decides to switch from an in-kernel firmware to a 
lib/firmware file.  I want my kernel-build script to search for and 
include these AUTOMATICALLY, because there are too many to inspect them 
by hand each time I upgrade.

Does anyone have advice for this?

Thanks in advance.
-Mike

                 reply	other threads:[~2013-12-17  6:39 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=52AFF1B1.4000303@intellitree.com \
    --to=mconrad@intellitree.com \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.