home | list info | list archive | date index | thread index

Re: [OCLUG-Tech] how to configure a kernel *minimally* based on running system?

  • Subject: Re: [OCLUG-Tech] how to configure a kernel *minimally* based on running system?
  • From: "Robert P. J. Day" <rpjday [ at ] crashcourse [ dot ] ca>
  • Date: Fri, 26 Apr 2013 13:33:50 -0400 (EDT)
On Fri, 26 Apr 2013, Alex Pilon wrote:

> On Fri, Apr 26, 2013 at 12:48:37PM -0400, Robert P. J. Day wrote:
> > if there's a simple way to do this, i've managed to miss it. i want to
> > configure and build a new kernel for my 64-bit ubuntu laptop to prep
> > for writing and loading numerous kernel modules for an upcoming device
> > driver course, so i did the obvious:
> >
> >   $ make defconfig
>
> 	$ make help | grep localmodconfig
> 	  localmodconfig  - Update current config disabling modules not loaded
>     $ make localmodconfig
> 	$ make nconfig # to remove code that is statically linked, or to
> 	               # add/remove other features
>
> Any modules that aren't loaded won't get compiled in. See `make help` in
> the root of the kernel source directory for further help.

  apparently, there are some subtleties here. based on my reading, it
appears that "make localmodconfig" will *remove* entries for modules
currently not loaded, so i started with:

$ make allmodconfig

at which point i expected to find thousands of module selections in my
generated .config, and i wasn't disappointed:

$ grep =m .config | wc -l
3756
$

but then if i run "make localmodconfig" twice, i get:

$ make localmodconfig
using config: '.config'
WARNING: ATH9K_HW is required, but nothing in the
  current config selects it.
WARNING: ATH_COMMON is required, but nothing in the
  current config selects it.
WARNING: ATH9K_COMMON is required, but nothing in the
  current config selects it.
module ath9k did not have configs CONFIG_ATH9K
module uas did not have configs CONFIG_USB_UAS
module ath did not have configs CONFIG_ATH_COMMON
module ath9k_hw did not have configs CONFIG_ATH9K_HW
module ath9k_common did not have configs CONFIG_ATH9K_COMMON
#
# configuration written to .config
#

*** Error during update of the configuration.
...

which suggests there's a subtle misconfiguration in some Kconfig
files. i'll poke around further but this looks pretty much like what
i'm after, thanks again.  i really need to keep up to date on new
kernel make targets.

rday

-- 

========================================================================
Robert P. J. Day                                 Ottawa, Ontario, CANADA
                        http://crashcourse.ca

Twitter:                                       http://twitter.com/rpjday
LinkedIn:                               http://ca.linkedin.com/in/rpjday
========================================================================