Gli header del kernel si trovano nella directory /usr/src/linux/include/linux e /usr/src/linux/include/asm. Queste directory in passato, venivano linkate simbolicamente alle directory /usr/include/linux e /usr/include/asm
Questa soluzione causava diversi problemi. Infatti, è propio Linus Torvalds, in una discussione sulla Linux Kernel Mailing List a parlare di questo problema:
I would suggest that people who compile new kernels should:
- not have a single symbolic link in sight (except the one that the kernel build itself sets up, namely the linux/include/asm symlink that is only used for the internal kernel compile itself)
And yes, this is what I do. My /usr/src/linux still has the old 2.2.13 header files, even though I haven't run a 2.2.13 kernel in a _loong_ time. But those headers were what Glibc was compiled against, so those headers are what matches the library object files.
And this is actually what has been the suggested environment for at least the last five years. I don't know why the symlink business keeps on living on, like a bad zombie. Pretty much every distribution still has that broken symlink, and people still remember that the linux sources should go into /usr/src/linux even though that hasn't been true in a _loong_ time.
Daniele Salamina, Relazione di Laurea, Progettazione e realizzazione di una distribuzione GNU/Linux, Settembre 2004