[vox-tech] Building a big kernel verses one that uses modules

ME vox-tech@lists.lugod.org
Fri, 28 May 2004 21:54:34 -0700 (PDT)


me@heyjay.com said:
> Hi,
>
> To piggyback on the other thread "Can't mount root while booting 2.6.5
> kernel"  ME said:
>
>>> How do you eliminate the need for initrd on a system? Simple, make
> support
>>> for all required hardware necessary to get "/" and supported volumes
>>> mounted an permit the booting of your machine to continue.
>
> How do you know what you have to have in the kernel?  I went thru
> 2.6.5's menuconfig and there are a billion options.  I'd like to build a
> small kernel but I don't know what I need what I don't need.  I know I'd
> like it to be built for my AMD chip, I'd like raid.  I know I don't need
> any (except one) of the network drives but the rest...who knows.
>
> I know there is "make defconfig" but then most of the stuff is modules
>
> I guess what I'm asking is there a minumum config that one can start
> with and add to, rather than starting with everthing and knowing what
> you need to get rid of?

Though it is not current to a 2.6.x kernel, I offered a presentationon
building kernels, and one of the key points I tried to address was
gathering information on what options you may want to select when
configuring a kernel.

(Shameless self plug)
http://mike.passwall.com/nblug/kernel-talk/

This is a copy of the presentation with slides, summary of what I said for
each slide, and comments from the people in the audience.

You can skip most of the stuff (theory) up until you get to "HOW"

>From that point until the end, you should find helpful information.

The idea I provide is to use existing running and working kernels to your
advantage. I try to go through various tools made availbale to you as an
admin to inspect the running system and better decide what things you
should enable in your config.

This presentation took nearly 3 hours of straight talking. It really
should be broken into 2 or 3 parts clumped in this order
1) Theory
2) Interface for selection of kernel options (without explanation of what
will be selected)
3) Tools for gathering information about your machine to help decide what
hardware you have, and what you will want to support
4) Step through the actual process of configuring, building, installing
and testing kernels (System.map, modules, etc)
5) Applying kernel patches to enhance security or offer other features.

1, 2 and 3 would probably be one persentation, and 4 and 5 would be part
of a second presentation.

HTH
-ME