reassign 370651 kernel thanks On 6 Jun 2006, Frank Küster said:
> 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. The description is fine for header packages and source packages that are produced by kernel-package itself. However, official header and source packages are incomplete, and are missing information useful for compiling third party modules using kernel-package. Since the information is removed _after_ make-kpkg has created it, I am redirecting this bug report. > 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 . header packages produced by make-kpkg already have this directory. This is removed, for some reason, from the official header packages, breaking the building of third party modules by end users using make-kpkg, or any possibility of just running ./debian/rules modules_image directly. > 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 an> y kind of module sources. > So this method does not work. For official kernel header packages, no, since they are incomplete. > 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. Err. This has nothing to do with kernel-package, include/linux/version.h is created by the kernel buld system, and since you are taking a short cut, you are expected to know that make oldconfig would create that. > Since I and my computer had enough time, I just compiled a (useless) > kernel image along with the modules images, and that worked fine. Well, that was the default mechanism. > 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? I think you ran into a broken header package, or, at least, one that is not condusive to building third party modules with kernel-package; and so I am redirecting this bug. manoj -- Boy, that crayon sure did hurt! Manoj Srivastava <[EMAIL PROTECTED]> <http://www.debian.org/%7Esrivasta/> 1024D/BF24424C print 4966 F272 D093 B493 410B 924B 21BA DABB BF24 424C