|
@@ -5,54 +5,50 @@
|
|
|
%general-entities;
|
|
|
]>
|
|
|
|
|
|
-<sect1 id="ch-system-linux-libc-headers" role="wrap">
|
|
|
- <?dbhtml filename="linux-libc-headers.html"?>
|
|
|
+<sect1 id="ch-system-linux-headers" role="wrap">
|
|
|
+ <?dbhtml filename="linux-headers.html"?>
|
|
|
|
|
|
- <title>Linux-Libc-Headers-&linux-libc-headers-version;</title>
|
|
|
+ <title>Linux-Headers-&linux-version;</title>
|
|
|
|
|
|
- <indexterm zone="ch-system-linux-libc-headers">
|
|
|
- <primary sortas="a-Linux-Libc-Headers">Linux-Libc-Headers</primary>
|
|
|
+ <indexterm zone="ch-system-linux-headers">
|
|
|
+ <primary sortas="a-Linux-Headers">Linux-Headers</primary>
|
|
|
</indexterm>
|
|
|
|
|
|
<sect2 role="package">
|
|
|
<title/>
|
|
|
|
|
|
- <para>The Linux-Libc-Headers package contains the
|
|
|
- <quote>sanitized</quote> kernel headers.</para>
|
|
|
+ <para>The Linux-Headers expose the kernel's API for use by Glibc.</para>
|
|
|
|
|
|
<segmentedlist>
|
|
|
<segtitle>&buildtime;</segtitle>
|
|
|
<segtitle>&diskspace;</segtitle>
|
|
|
|
|
|
<seglistitem>
|
|
|
- <seg>&linux-libc-headers-ch6-sbu;</seg>
|
|
|
- <seg>&linux-libc-headers-ch6-du;</seg>
|
|
|
+ <seg>&linux-headers-ch6-sbu;</seg>
|
|
|
+ <seg>&linux-headers-ch6-du;</seg>
|
|
|
</seglistitem>
|
|
|
</segmentedlist>
|
|
|
|
|
|
</sect2>
|
|
|
|
|
|
<sect2 role="installation">
|
|
|
- <title>Installation of Linux-Libc-Headers</title>
|
|
|
+ <title>Installation of Linux-Headers</title>
|
|
|
|
|
|
- <para>For years it has been common practice to use <quote>raw</quote>
|
|
|
- kernel headers (straight from a kernel tarball) in <filename
|
|
|
- class="directory">/usr/include</filename>, but over the last few
|
|
|
- years, the kernel developers have taken a strong stance that this
|
|
|
- should not be done. This gave birth to the Linux-Libc-Headers Project,
|
|
|
- which was designed to maintain an API stable version of the Linux
|
|
|
- headers.</para>
|
|
|
+ <para>The Linux kernel needs to expose an Application Programming Interface
|
|
|
+ (API) for the system's C library (Glibc in LFS) to utilize. This is done
|
|
|
+ by way of sanitizing various C header files that are shipped in the Linux
|
|
|
+ kernel source tarball.</para>
|
|
|
|
|
|
- <para>Add a userspace header and syscall support for the inotify feature
|
|
|
- available in newer Linux kernels:</para>
|
|
|
+ <para>Apply the following patch to provide <command>unifdef</command>, which
|
|
|
+ the installation of the kernel headers requires:</para>
|
|
|
|
|
|
-<screen><userinput>patch -Np1 -i ../&linux-inotify-patch;</userinput></screen>
|
|
|
+<screen><userinput>patch -Np1 -i ../linux-&linux-version;-unifdef-1.patch</userinput></screen>
|
|
|
|
|
|
<para>Install the header files:</para>
|
|
|
|
|
|
-<screen><userinput>install -dv /usr/include/asm
|
|
|
-cp -Rv include/asm-i386/* /usr/include/asm
|
|
|
-cp -Rv include/linux /usr/include</userinput></screen>
|
|
|
+<screen><userinput>make mrproper
|
|
|
+make headers_check
|
|
|
+make INSTALL_HDR_PATH=/usr headers_install</userinput></screen>
|
|
|
|
|
|
<para>Ensure that all the headers are owned by root:</para>
|
|
|
|
|
@@ -65,8 +61,8 @@ find /usr/include/{asm,linux} -type f -exec chmod -v 644 {} \;</userinput></scre
|
|
|
|
|
|
</sect2>
|
|
|
|
|
|
- <sect2 id="contents-linux-libc-headers" role="content">
|
|
|
- <title>Contents of Linux-Libc-Headers</title>
|
|
|
+ <sect2 id="contents-linux-headers" role="content">
|
|
|
+ <title>Contents of Linux-Headers</title>
|
|
|
|
|
|
<segmentedlist>
|
|
|
<segtitle>Installed headers</segtitle>
|
|
@@ -81,11 +77,11 @@ find /usr/include/{asm,linux} -type f -exec chmod -v 644 {} \;</userinput></scre
|
|
|
<?dbfo list-presentation="list"?>
|
|
|
<?dbhtml list-presentation="table"?>
|
|
|
|
|
|
- <varlistentry id="linux-libc-headers">
|
|
|
+ <varlistentry id="linux-headers">
|
|
|
<term><filename class="headerfile">/usr/include/{asm,linux}/*.h</filename></term>
|
|
|
<listitem>
|
|
|
<para>The Linux API headers</para>
|
|
|
- <indexterm zone="ch-system-linux-libc-headers linux-libc-headers">
|
|
|
+ <indexterm zone="ch-system-linux-headers linux-headers">
|
|
|
<primary sortas="e-/usr/include/{asm,linux}/*.h">/usr/include/{asm,linux}/*.h</primary>
|
|
|
</indexterm>
|
|
|
</listitem>
|