I was reading Linux Device Driver 3rd edition, in chapter 2 there is one line
"This requirement have been changed from the previous versions of kernel, where current set of header files were sufficient. 2.6 modules are linked against object files found in the kernel source tree; the result is more robust module loader"
If kernel headers are enough to compile the loadable kernel module. Why do we need to build the kernel? Why it actually needs the object files?
What is this robustness ?
Robust module loader or module ?
[Edit] what happened before 2.6?
[Edit] Do we have object files in kernel shipped with distros?