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

Re: [why is kernel recompilation necessary?]

Krzys Majewski wrote:
> Hm, I guess my question was unclear. What I'm wondering about is
> how the linux kernel works and how the windows kernel works. I know
> that one of them is open source and the other isn't. At the same time
> I'm too lazy to dig deeply for this information. So I guess I was hoping
> someone would post an answer like, "The windows kernel maps a piece of
> memory to an adapter on the motherboard, and the drivers sit in that memory"
> or "The linux kernel has hooks for every possible module, and these
> hooks do/don't have to be explicitly compiled in every time a new
> module is installed", etc.
> -chris

This touches on a question that popped into my head the other day, so if
I may be permitted to add to Chris' question....

When you do a "make menuconfig" (or one of the other methods), and you
specify to include support for, say, a 3c905 NIC, as a module, are you
doing anything to the kernel, or are you just making changes to a script
to tell it to compile the module?

In other words, does the "make menuconfig" do one thing (specify what
the kernel will look like including modules/hooks to modules), or does
it do two things (specify what the kernel will look like (without any
hooks to the modules) and what module code needs to be

In still other words, can you do the following?
  * use "make menuconfig" today to specify kernel options for a minimal
kernel, and not mark module stuff like NICs and sound cards, etc,
  * then "make dep" and "make zImage" to compile the kernel,
  * then boot off that kernel and run for a day or two
  * then come back in a day or two and re-run "make menuconfig" and
specify some modules
  * then "make modules" and "make modules_install" without compiling the
  * resulting in a working kernel that can use the modules compiled a
day or two later

In still other words, can you use "make menuconfig" to compile a minimal
kernel and then add modules later from whatever source even though you
didn't tell the kernel to expect these modules when you did the "make


Reply to: