source: chapter06/kernel-exp-headers.xml@ 1987d72

10.0 10.0-rc1 10.1 10.1-rc1 11.0 11.0-rc1 11.0-rc2 11.0-rc3 11.1 11.1-rc1 11.2 11.2-rc1 11.3 11.3-rc1 12.0 12.0-rc1 12.1 12.1-rc1 6.0 6.1 6.1.1 6.3 6.4 6.5 6.6 6.7 6.8 7.0 7.1 7.2 7.3 7.4 7.5 7.5-systemd 7.6 7.6-systemd 7.7 7.7-systemd 7.8 7.8-systemd 7.9 7.9-systemd 8.0 8.1 8.2 8.3 8.4 9.0 9.1 arm bdubbs/gcc13 ml-11.0 multilib renodr/libudev-from-systemd s6-init trunk v4_0 v4_1 v5_0 v5_1 v5_1_1 xry111/arm64 xry111/arm64-12.0 xry111/clfs-ng xry111/lfs-next xry111/loongarch xry111/loongarch-12.0 xry111/loongarch-12.1 xry111/mips64el xry111/pip3 xry111/rust-wip-20221008 xry111/update-glibc
Last change on this file since 1987d72 was 1987d72, checked in by Gerard Beekmans <gerard@…>, 22 years ago

second set of commits for keep-chap5-chap6-seperate

git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@1897 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689

  • Property mode set to 100644
File size: 1.7 KB
Line 
1<sect2>
2<title>Why we copy the kernel headers and don't symlink them</title>
3
4<para>In the past, it was common practice for people to symlink the
5/usr/include/linux and asm directories to /usr/src/linux/include/linux
6and asm respectively. This is a <emphasis>bad</emphasis> idea as
7this extract from a post by Linus Torvalds to the Linux Kernel
8Mailing List points out:</para>
9
10<screen>I would suggest that people who compile new kernels should:
11
12 - not have a single symbolic link in sight (except the one that the
13 kernel build itself sets up, namely the "linux/include/asm" symlink
14 that is only used for the internal kernel compile itself)
15
16And yes, this is what I do. My /usr/src/linux still has the old 2.2.13
17header files, even though I haven't run a 2.2.13 kernel in a _loong_
18time. But those headers were what glibc was compiled against, so those
19headers are what matches the library object files.
20
21And this is actually what has been the suggested environment for at
22least the last five years. I don't know why the symlink business keeps
23on living on, like a bad zombie. Pretty much every distribution still
24has that broken symlink, and people still remember that the linux
25sources should go into "/usr/src/linux" even though that hasn't been
26true in a _loong_ time.</screen>
27
28<para>The relevant part here is where he states that the headers should
29be the ones which <emphasis>glibc was compiled against</emphasis>. These are
30the headers which should remain accessible and so by copying them, we ensure
31that we follow these guidelines. Also note that as long as you don't have
32those symlinks, it is perfectly fine to have the kernel sources
33in <filename>/usr/src/linux</filename>.</para>
34
35</sect2>
Note: See TracBrowser for help on using the repository browser.