[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
compiled/installed)?

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
kernel
  * 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
menuconfig".

Thanks!



Reply to: