Am Do, den 24.06.2004 schrieb Jeremy Katz um 16:59: > On Thu, 2004-06-24 at 10:29 -0400, Jack Neely wrote: > > On Wed, Jun 23, 2004 at 09:43:54PM -0400, Jeremy Katz wrote: > > > On Thu, 2004-06-24 at 02:14 +0200, Axel Thimm wrote: > > > > In theory, yes, but try to build a kernel module for i686 on an athlon > > > > box. The kernel sources will clash with the running kernel. > > > > > > I'd rather fix this problem than paper over it with the kernel source. > > > Especially since to really do things with the kernel source right now, > > > you have to make changes to the tree in /usr/src. > > > > > > > Really, this is the main issue at stake. Us packagers have been > > building packages of kernel modules for years on 2.4. There is a > > defined way to use the installed kernel-headers to create modules that > > work with 1586, 1686, athlon, and the SMP variations thereon. > > > > Now we have 2.6 and the same thing doesn't work and there's lots of > > confusion about how to build external kernel modules. I know I'm > > confused. > > Bingo. The current situation, though, is far better for a single user > who wants to build a kernel module. I thought it worked fine in most situations before. But I also think the basic approach is better now. > It loses some for packagers. Yes. Really. > Coming up with a solution that makes things easy for the user who just > wants to build a module for their running kernel _and_ the person trying > to package modules for a larger audience will be a big win. ++ > > FC2 has an i586 and i686 kernel packages. The 2.6 kernel is smart > > enough to do the athlon optimizations on the fly, so that's one less > > arch to build for. SMP modules appear to be identical to non-SMP. > > (From what I've gathered...not sure if there should be a difference > > there or not.) How do you build for the i586? I'm not going to remove > > my running kernel to install the i586 arch. > > SMP modules are different from the non-SMP ones, but that's not a > problem as you can install kernel-smp in parallel with your main kernel > package. The i586 vs i686 part is the hard one. Why can't they also contain the arch-part (i586, i686) like they contain the smp-tag. So they were installable all in parallel. With Suse that is possible. I like that very much. And please don't answer "Yes, but that's ugly to look at :-)" ;-) Yes, I know, for most people this in unimportant. And changing machines i686 and i586 happens not that often. That happened much more often when there was a special athlon kernel... > Personally, I think that having a kernel-devel package that puts the > headers somewhere with both the `uname -r` and arch as part of the path > would be useful. That ends up working very nicely for people doing > packaging. Unfortunately, it goes back to making things more difficult > for an end-user. The best thing I've come up with at present for that > is to continue to do like is being done now (headers for the current > kernel in /lib/modules/$(uname -r)/build) and have kernel-devel be in > addition to that. It would be a little bit higher disk space usage, but > as kernel-headers would only need to be installed for special cases, I'm > not sure that's a huge concern. Actually, I guess that /lib/modules/ > $(uname -r)/build could be a symlink to /usr/include/kernel-headers/ > $(uname -r)/$arch and be included as a broken symlink in the package. > That _might_ work for keeping both camps happy. I would really like a solution like that. In fedora.us there ist a package in the QA queue with contains the files from /lib/modules/$(uname -r)/build of all different kernels in /usr/src/. See http://bugzilla.fedora.us/show_bug.cgi?id=1709 > That's just my thinking out loud, though... I'm sure other people have > ideas as well. BTW: IMHO we should also consider if we use the approach (at hole or in parts) that the kernel-developers are working on. See http://www.uwsg.indiana.edu/hypermail/linux/kernel/0406.2/1280.html Arjan also commented in the thread but was not that enthusiastic AFAICS... But I don't what to end in a situation where building external modules is different then the kernel documentation suggest. Or different from all other distributions... Just my 2¢ CU thl