mirror of
https://git.linuxfromscratch.org/lfs.git
synced 2025-01-31 03:11:57 +00:00
Rename the Linux Libc Headers pages
git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@7817 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
This commit is contained in:
parent
93bc4a2875
commit
5bc82c5b16
69
chapter05/linux-headers.xml
Normal file
69
chapter05/linux-headers.xml
Normal file
@ -0,0 +1,69 @@
|
||||
<?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-tools-linux-headers" role="wrap">
|
||||
<?dbhtml filename="linux-headers.html"?>
|
||||
|
||||
<title>Linux-Headers-&linux-version;</title>
|
||||
|
||||
<indexterm zone="ch-tools-linux-headers">
|
||||
<primary sortas="a-Linux-Headers">Linux-Headers</primary>
|
||||
<secondary>tools, headers</secondary>
|
||||
</indexterm>
|
||||
|
||||
<sect2 role="package">
|
||||
<title/>
|
||||
|
||||
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
|
||||
href="../chapter06/linux-headers.xml"
|
||||
xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
<segtitle>&diskspace;</segtitle>
|
||||
|
||||
<seglistitem>
|
||||
<seg>&linux-headers-ch5-sbu;</seg>
|
||||
<seg>&linux-headers-ch5-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>mkdir /tools/tmp
|
||||
make mrproper
|
||||
make headers_check
|
||||
make INSTALL_HDR_PATH=/tools/tmp headers_install
|
||||
cp -R /tools/tmp/include/* /tools/include
|
||||
rm -r /tools/tmp</userinput></screen>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="content">
|
||||
<title/>
|
||||
|
||||
<para>Details on this package are located in
|
||||
<xref linkend="contents-linux-headers" role="."/></para>
|
||||
|
||||
</sect2>
|
||||
|
||||
</sect1>
|
@ -1,66 +0,0 @@
|
||||
<?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-tools-linux-libc-headers" role="wrap">
|
||||
<?dbhtml filename="linux-libc-headers.html"?>
|
||||
|
||||
<title>Linux-Libc-Headers-&linux-libc-headers-version;</title>
|
||||
|
||||
<indexterm zone="ch-tools-linux-libc-headers">
|
||||
<primary sortas="a-Linux-Libc-Headers">Linux-Libc-Headers</primary>
|
||||
<secondary>tools, headers</secondary>
|
||||
</indexterm>
|
||||
|
||||
<sect2 role="package">
|
||||
<title/>
|
||||
|
||||
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
|
||||
href="../chapter06/linux-libc-headers.xml"
|
||||
xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
<segtitle>&diskspace;</segtitle>
|
||||
|
||||
<seglistitem>
|
||||
<seg>&linux-libc-headers-ch5-sbu;</seg>
|
||||
<seg>&linux-libc-headers-ch5-du;</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
<title>Installation of Linux-Libc-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 Application Programming Interface (API) stable
|
||||
version of the Linux headers.</para>
|
||||
|
||||
<para>Install the header files:</para>
|
||||
|
||||
<screen><userinput>cp -Rv include/asm-i386 /tools/include/asm
|
||||
cp -Rv include/linux /tools/include</userinput></screen>
|
||||
|
||||
<para>If your architecture is not i386 (compatible), adjust the first command
|
||||
accordingly.</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="content">
|
||||
<title/>
|
||||
|
||||
<para>Details on this package are located in
|
||||
<xref linkend="contents-linux-libc-headers" role="."/></para>
|
||||
|
||||
</sect2>
|
||||
|
||||
</sect1>
|
@ -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>
|
Loading…
Reference in New Issue
Block a user