Explorar o código

Rename the Linux Libc Headers pages

git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@7817 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
Matthew Burgess %!s(int64=19) %!d(string=hai) anos
pai
achega
5bc82c5b16
Modificáronse 3 ficheiros con 92 adicións e 93 borrados
  1. 69 0
      chapter05/linux-headers.xml
  2. 0 66
      chapter05/linux-libc-headers.xml
  3. 23 27
      chapter06/linux-headers.xml

+ 69 - 0
chapter05/linux-headers.xml

@@ -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>

+ 0 - 66
chapter05/linux-libc-headers.xml

@@ -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>

+ 23 - 27
chapter06/linux-libc-headers.xml → chapter06/linux-headers.xml

@@ -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>