I use Debian Squeeze with a custom kernel but I have a problem when I want to build the Nvidia kernel module.
I extracted Debian's linux-source to my home directory where I compiled a custom kernel-image and kernel-headers.
I used this command:
MAKEFLAGS="CC=/usr/lib/ccache/gcc-4.3" make-kpkg --rootcmd fakeroot --initrd --append-to-version=-c0.6 --revision=2.6.32 kernel-image kernel-headers
After this finished I installed the image and headers and created the Nvidia kernel module. Everything worked fine.
However, if I remove the linux-source from my home directory then I can't build the kernel module:
ERROR: Unable to find the kernel source tree for the currently running kernel.
Please make sure you have installed the kernel source files for your
kernel and that they are properly configured; on Red Hat Linux systems,
for example, be sure you have the 'kernel-source' or 'kernel-devel' RPM
installed. If you know the correct kernel source files are installed,
you may specify the kernel source path with the '--kernel-source-path'
command line option.
So my question is why does this kernel module need the source I used to compile the kernel when I have the headers for that kernel installed?