I usually custom compile my kernel and generate the header files with the following command:
Code:
fakeroot make-kpkg --initrd --append-to-version=generic-ide kenrel_image kernel_headers
However, I noticed that there are some difference in the headers files that get generated with the above command as compared to the header files that are available from Debian repo.
For example, the
header files for 2.6.24 kernel have files like:
Code:
debian:/usr/src/linux-headers-2.6.24-etchnhalf.1-686/arch/x86# ls
Kconfig Kconfig.cpu Kconfig.debug kernel Makefile Makefile_32 Makefile_32.cpu Makefile_64
However, if I custom compile the above kernel from Debian sources (2.6.24), the headers files does not have the above files:
Code:
debain:/usr/src/linux-headers-2.6.24-generic-ide/arch/x86# ls
boot ia32 Kconfig.cpu kernel lib mach-es7000 mach-visws Makefile mm pci vdso xen
crypto Kconfig Kconfig.debug lguest mach-default mach-generic mach-voyager math-emu oprofile power video
As you can see from above output, files like Makefile_32, Makefile_32.cpu are not present, if I generate kernel headers files using the make-kpkg command as mentioned in the beginning of the post.
I happened to notice the above issue, while I was trying to compile a out-of-tree kernel module and the "make" command for those sources (some graphics card drm module) worked with the default header files (linux-headers-2.6.24-etchnhalf.1-686) but did not work with (linux-headers-2.6.24-generic-ide) because it did not find the Makefile_32.
Although I was able to fix the problem by copying the Makefile_32 from linux-headers-2.6.24-etchnhalf.1-686 but I would like to know why there is a difference. This is bit of a concern because it unnecessarily breaks the out-of-tree module compilation process because of trivial reasons.
Can anybody throw some light on this?