Package: kernel-package Version: 10.047 Severity: normal I tried to compile third-party modules for 2.6.16, following the description in README.modules. It turned out that the descriptions could and should be improved.
Below USER INSTRUCTIONS, the second item says: ,---- | 2) Get kernel sources from your favorite location. (For | pre-packaged kernels, it may be possible to build third | party modules by getting the kernel-headers package that | corresponds to the kernel-image package you have installed, | and pointing the build system of the kernel headers -- some | packaged modules packages provide an easy way to use the | kernel-headers packages, by allowing you to specify it like so: | [cd $MODULE_LOC/$module/; | ./debian/rules KSRC=/usr/src/kernel-headers-X.Y.ZZ binary | ]) `---- I'm using a debian kernel, and therefore wanted to try the "headers only" way. However, the command above does not work, since make-kpkg must first create the debian/ subdirectory in the modules directories. Maybe you mean "prepackaged modules" - but I was using the sources for three modules packaged for non-free, madwifi, thinkpad and fglrx, and those come with tarballs in /usr/src/ that do not contain a debian/ subdirectory. I don't know whether any prepackaged module debs exist that already contain a debian/ directory. Anyway, it should be explained how it's possible to compile modules with headers only for any kind of module sources. So this method does not work. I then fetched the complete kernel sources, unpacked them to /usr/src/linux-source-2.6.16/, copied /boot/config-2.6.16-2-686 to .config and further followed the instructions: ,---- | 5) If you are building a kernel that is custom configured to your | specifications at this time, go ahead and configure the | kernel with `make config', `make menuconfig', or `make | xconfig.' To build a new kernel-image package, execute: | make-kpkg --revision number kernel_image `---- So the configure part is done, but I don't want to build a new kernel-image package at all, so I skipped this part. ,---- | 6) To build the actual module packages, execute: | make-kpkg modules_image | This will generate a <name>-modules-<kernel version>.deb file in | the parent directory. The revision you supplied while building the | kernel shall be used automatically. | | If you are using an official Debian kernel-image with specific | options (kernel-image-x.y.z-foo), you should append this version | for modules compilation: | make-kpkg --append-to-version -foo modules_image `---- Since this refers to using official Debian kernels, and it doesn't make sense to recreate the kernel image then, I thought it should also work this way. But it doesn't. First, make-kpkg complains that I need to run at least "make-kpkg debian" first. I did that, but after that include/linux/version.h does not exist, and I get an error message that versions don't match (the one from version.h is, well, the empty string). This is the only point where I think not only README.modules needs adjustment, but also the error message from make-kpkg: It should tell me what I have to run to make the modules_image target actually work. Since I and my computer had enough time, I just compiled a (useless) kernel image along with the modules images, and that worked fine. I've also been told that I could have used module-assistant which would download the needed headers for me. But I think the information in README.modules should be better understandable and more correct. Unfortunately I don't know yet how I should have proceeded, and therefore cannot provide a better text. If this bug report leads to a discussion after which I know better how to do it, I offer to write a patch. But maybe you already have something prepared, or it can be copied from somewhere? Regards, Frank -- System Information: Debian Release: 3.1 APT prefers unstable APT policy: (99, 'unstable') Architecture: i386 (i686) Kernel: Linux 2.6.16-2-686 Locale: [EMAIL PROTECTED], [EMAIL PROTECTED] (charmap=ISO-8859-15) Versions of packages kernel-package depends on: ii dpkg 1.10.28 Package maintenance system for Deb ii dpkg-dev 1.10.28 Package building tools for Debian ii file 4.12-1 Determines file type using "magic" ii gcc [c-compiler] 4:3.3.5-3 The GNU C compiler ii gcc-3.3 [c-compiler] 1:3.3.5-13 The GNU C compiler ii gettext 0.14.4-2 GNU Internationalization utilities ii make 3.81-1bpo1 The GNU version of the "make" util ii perl 5.8.4-8sarge4 Larry Wall's Practical Extraction ii po-debconf 1.0 manage translated Debconf template -- no debconf information -- Frank Küster Single Molecule Spectroscopy, Protein Folding @ Inst. f. Biochemie, Univ. Zürich Debian Developer (teTeX)