[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: "modconf" sees no modules at all in recompiled kernel



On Tuesday 14 September 2004 06:35, Eric Dickner wrote:
> <snip>----------------------
> Incidentally, if you didn't build your kernel the
> Debian way, did you
> specifically make the modules?  If you didn't, you
> won't have modules
> to
> load, even if you specified them in the config.
>
> Justin Guerin
> --------------------------------
>
> No, I didn't.  I just followed the instructions that I
> found for recompiling kernels. They didn't mention
> anything about all this. I assumed that the things
> that worked and had been configured under the old
> kernel would be there for the new one.  In a lot of
> cases this is true, but not for the drivers and
> modules(!)?
>
> I guess then, my question is, how do I go about
> rebuilding the drivers?  Do I run "debconf" again or
> something?  It is important to me that I use the
> generic kernel recompile for administrative reasons;
> if getting the debian distribution upgrade package is
> the only way to upgrade in debian then I need to know
> that.
>
> I just thought there would be a way to do it that is
> "distribution agnostic".
>
> ejd
>
Well, generic directions about building your kernel should include 
directions on how to build the driver modules.  

The configuration of your old kernel can be used to provide information for 
your new kernel, but you still have to answer a few questions, as newer 
kernels include capabilities that older kernels don't have.  A good place 
to start is to copy the /boot/config-2.2.20 file as .config in your kernel 
source tree, and type "make oldconfig"  This will take the answers given in 
your old config and apply them to your new config, and only ask you the 
questions that are new.  I've never heard about anyone configuring a 2.4.27 
kernel with a 2.2.20 config, though, so I can't vouch for it working.  
Still, if it does work, then you've taken the configuration for the drivers 
and modules from your old kernel and applied it automatically to your new 
one.

Regardless, if it doesn't work, you can always configure your kernel the old 
fashioned way, by answering all the questions yourself.  Reading the help 
files included will give you a lot of insight into what your kernel can do.

When you've finished configuring the kernel, do a "make modules" and a "make 
modules_install".  You will then have modules to choose from, provided you 
opted to build drivers as modules when you answered the questions in the 
configuration section.  If you build everything into the kernel, you will 
have no modules.  Note that as long as you don't change options that you 
built into the kernel, you don't have to recompile the kernel after you 
tweak your config.  That is, if the only changes you made was to mark some 
drivers as modules instead of not included, you only need to build the 
modules.

Check out these instructions for generic kernel compile instructions.  The 
document is old, but as far as I know, it still works.
http://www.linuxplanet.com/linuxplanet/tutorials/202/1/

Also, if you are interested in doing things the Debian way, if only to see 
how it's different, check out section 9.2 of this page:
http://www.debian.org/doc/FAQ/ch-kernel.en.html

Hope that helps,
Justin Guerin



Reply to: