hi gurus
could you help me with some concepts.
If I wanna build a module for a certain kernel then I need the
corresponding kernel-dev rpms to get all the include files.(I guess
the function of kernel-dev is to generate the source directory in /usr/
src/kernel with all the include files,which can provide macros and
function definitions for building a module)

So if I have the src.rpm ,after install it I can have the linux-
tar.gz, many patch files and a .spec file,with which I can use
rpmbuild to get the source file ,the kernel.rpm,the kernel-
dev.rpms.then I have a question,why do we need the kernel-dev rpm if
we already have those source files?can we build modules for a certain
module with only source files.

another question is what's the difference betwwen kernel-smp-
dev,kernel-dev,kernel-hugemem-dev rpms?I know that they are for
uniprocessor kernel,smp kernel,kernel with huge memory.If their
function is to provide the header files for kernel development or
module building,there would be 3 kinds of header files .However there
are only one type of source(sources included in a directory like
linux-2.6.18 ).How could that be possible?

thanks in advance
if you don't have time to help me could you suggest some articles or
web pages for me to read instead explaining directly.Really appreciate
your help!