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!

