- /usr/include/asm is linked to -> /usr/src/linux-2.4/include/asm instead of /usr/src/linux/include/asm - /usr/include/linux is linked to -> /usr/src/linux-2.4/include/linux instead of /usr/src/linux/include/linux the above two cause problems because the actual kernel used for 7.0beta is 2.2.16 at this time. In particular, this causes a problem when compiling new kernel modules and trying to insmod it into the wrong compiled kernel.
Not a bug; you should point the external module build at the correct kernel source tree (for example, /usr/src/linux-2.2.16/include/linux.)
the module file should not have to include the direct include path. it should especially not have to include based on version number if no specific version number is required. #include <linux/module.h> ought to include the correct module file from /usr/src/<linux kernel version>/include/linux. In the past, the links have been (correctly) from /usr/src/linux -> /usr/src/<linux kernel version> and /usr/include/linux (and asm) -> /usr/src/linux/include/linux (and asm).
Linebreaks, please. The problem is that /usr/include/linux is used by glibc for all userland compiles; these should not be kernel-version dependent. modules implicitly need to know the kernel version you're running, so having them point at a separate directory is sensible. For example, pointing it at /usr/src/linux should work OK on a beta box. Plus, Linus himself has decreed that /usr/include/linux and /usr/include/asm should be *directories* used by glibc, and should not be changed with each new kernel installed; so has he said, so it shall be done (look at rawhide; it's been changed this way there.) In short, this was changed intentionally, and we aren't changing back.