aboutsummaryrefslogtreecommitdiffstats
path: root/chapter06/linux-headers.xml
diff options
context:
space:
mode:
authorMatthew Burgess <matthew@linuxfromscratch.org>2006-10-04 17:15:25 +0000
committerMatthew Burgess <matthew@linuxfromscratch.org>2006-10-04 17:15:25 +0000
commit5bc82c5b1691953659286d9b75c1588b523f33a3 (patch)
tree9cc2dbca6e2ae1a16fa416bd7304a2c22d69f712 /chapter06/linux-headers.xml
parent93bc4a2875fdabce7ca6a338cfb04dc9aa04015f (diff)
Rename the Linux Libc Headers pages
git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@7817 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
Diffstat (limited to 'chapter06/linux-headers.xml')
-rw-r--r--chapter06/linux-headers.xml94
1 files changed, 94 insertions, 0 deletions
diff --git a/chapter06/linux-headers.xml b/chapter06/linux-headers.xml
new file mode 100644
index 000000000..1e30ed87f
--- /dev/null
+++ b/chapter06/linux-headers.xml
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+ "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
+
+<sect1 id="ch-system-linux-headers" role="wrap">
+ <?dbhtml filename="linux-headers.html"?>
+
+ <title>Linux-Headers-&linux-version;</title>
+
+ <indexterm zone="ch-system-linux-headers">
+ <primary sortas="a-Linux-Headers">Linux-Headers</primary>
+ </indexterm>
+
+ <sect2 role="package">
+ <title/>
+
+ <para>The Linux-Headers expose the kernel's API for use by Glibc.</para>
+
+ <segmentedlist>
+ <segtitle>&buildtime;</segtitle>
+ <segtitle>&diskspace;</segtitle>
+
+ <seglistitem>
+ <seg>&linux-headers-ch6-sbu;</seg>
+ <seg>&linux-headers-ch6-du;</seg>
+ </seglistitem>
+ </segmentedlist>
+
+ </sect2>
+
+ <sect2 role="installation">
+ <title>Installation of Linux-Headers</title>
+
+ <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>Apply the following patch to provide <command>unifdef</command>, which
+ the installation of the kernel headers requires:</para>
+
+<screen><userinput>patch -Np1 -i ../linux-&linux-version;-unifdef-1.patch</userinput></screen>
+
+ <para>Install the header files:</para>
+
+<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>
+
+<screen><userinput>chown -Rv root:root /usr/include/{asm,linux}</userinput></screen>
+
+ <para>Make sure the users can read the headers:</para>
+
+<screen><userinput>find /usr/include/{asm,linux} -type d -exec chmod -v 755 {} \;
+find /usr/include/{asm,linux} -type f -exec chmod -v 644 {} \;</userinput></screen>
+
+ </sect2>
+
+ <sect2 id="contents-linux-headers" role="content">
+ <title>Contents of Linux-Headers</title>
+
+ <segmentedlist>
+ <segtitle>Installed headers</segtitle>
+
+ <seglistitem>
+ <seg>/usr/include/{asm,linux}/*.h</seg>
+ </seglistitem>
+ </segmentedlist>
+
+ <variablelist>
+ <bridgehead renderas="sect3">Short Descriptions</bridgehead>
+ <?dbfo list-presentation="list"?>
+ <?dbhtml list-presentation="table"?>
+
+ <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-headers linux-headers">
+ <primary sortas="e-/usr/include/{asm,linux}/*.h">/usr/include/{asm,linux}/*.h</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ </variablelist>
+
+ </sect2>
+
+</sect1>