ANN: LKMB (Linux Kernel Module Builder) version 0.1.16
Quoted 17 lines
Quoted 7 lines
It is also a bug that parts of the development infrastructure are installed in /lib/modules/<version> and it's somewhat documented that compiling modules needs this /lib/modules/<version> stuff. That may be true for the ideal, simplified Red Hat world but in reality the machine and running OS version of the development machine is likely different from the box it will run on. Mixing development environment and install target only causes confusion.
you make a series of good points before this. However /lib/modules/<version>/build is nothing Red Hat specific. It's something that is the result of a similar discussion long ago where Linus finally decreed this location for finding the full source of modules. Combine that with the makefile dwmw2 showed and you can compile external modules EVERYWHERE on ANY distribution (assuming said distribution doesn't go out of the way to break the decree). Afaik RHL, SuSE, Mandrake, Debian and Slackware at least have this correct.
Quoted 3 lines
Yes it breaks if you move around your source after doing make
modules_install. Yes it breaks if you don't have the tree at all. But both situations are "invalid" wrt the decree, and need a fixed symlink.
Try "make modules INSTALL_MOD_PATH=<whatever>". Then modules will use <whatever>/lib/modules instead of /lib/modules. This works in 2.4 and early 2.5, I haven't tried it with the new kbuild system in recent 2.5. And
I don't know if this is properly documented anywhere.
Paul