无法理解为什么不应该使用 /usr/src/linux 进行内核开发

Rah*_*hul 5 linux kernel build linux-kernel

我正在阅读 Robert Love 所著的《Linux 内核开发》。我遇到了一条我无法完全理解的线:-

The kernel source is installed in /usr/src/linux. You should not use this source tree for development because the kernel version against which your C library is compiled is often linked to this tree.

看起来我无法将它与一些非常基本的概念联系起来。

Ava*_*ons 0

/usr/src/linux 区域有一组(通常不完整的)库头文件使用的内核头文件。它们应该与库相匹配,而不是搞乱。/usr/include/linux 中的标头是“私有”的,但这些标头应该是在编译库(特别是 glibc)时使用的标头,并且使用 /usr/src 中的链接进行黑客攻击是一个错误,因为 Linus 试图这样做解释很多次——有时相当有力。内核编译中使用的标头不会在 /usr/src/linux 的子目录中搜索,而是特定于内核版本,并且不同版本之间可能会有很大差异,或者至少您不能保证它们不会。