[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
modules vs. device drivers: Act 2
Ok, after everyone has been saying that modules are completely independent of
the kernel, I'm still skeptical for the following reasons:
1. Why does each module has 3 options (built-in/module/none) in the kernel's
.config file? 2 options should have been enough, as module==none.
2. How is the binding between major/minor device numbers and modules work?
But the most convincing test was very simple:
I have recompiled my 2.0.34 kernel with AHA152X as module. 2 minutes and 40
seconds later (boy, this overclocked Celeron 300A is FAST!) I have saved down
the resulting kernel.
After that, I have commented out the AHA152X flag out of the .config file, and
built the kernel again.
Guess what - I got two different kernels.
If modules are COMPLETELY INDEPENDENT of the kernel, how did I get 2
**different** kernel images??
Since the kernel is gzip'ed but unfortunately has an uncompressed bootstrap
code, preventing the use of gunzip on it, I can't really do something like:
gzip -d zImage | strings | grep aha152x
to prove the kernel has hooks for the aha152x module.
anyone care to explain?
n.b. back in the 1.x days, I remember it was possible to build an uncompressed
kernel image. Is this still possible? even if I can't boot it, I can still run
"strings" on it.
Udi