Update to perl-5.32.0.
[linux_from_scratch.git] / chapter05 / linux-headers.xml
blob213fe7dc33b3e400e987bb733aaff6f7061f2771
1 <?xml version="1.0" encoding="ISO-8859-1"?>
2 <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3   "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4   <!ENTITY % general-entities SYSTEM "../general.ent">
5   %general-entities;
6 ]>
8 <sect1 id="ch-tools-linux-headers" role="wrap">
9   <?dbhtml filename="linux-headers.html"?>
11   <sect1info condition="script">
12     <productname>linux-headers</productname>
13     <productnumber>&linux-version;</productnumber>
14     <address>&linux-url;</address>
15   </sect1info>
17   <title>Linux-&linux-version; API Headers</title>
19   <indexterm zone="ch-tools-linux-headers">
20     <primary sortas="a-Linux">Linux</primary>
21     <secondary>tools, API headers</secondary>
22   </indexterm>
24   <sect2 role="package">
25     <title/>
27     <para>The Linux API Headers (in linux-&linux-version;.tar.xz) expose the
28     kernel's API for use by Glibc.</para>
30     <segmentedlist>
31       <segtitle>&buildtime;</segtitle>
32       <segtitle>&diskspace;</segtitle>
34       <seglistitem>
35         <seg>&linux-headers-tmp-sbu;</seg>
36         <seg>&linux-headers-tmp-du;</seg>
37       </seglistitem>
38     </segmentedlist>
40   </sect2>
42   <sect2 role="installation">
43     <title>Installation of Linux API Headers</title>
45     <para>The Linux kernel needs to expose an Application Programming Interface
46     (API) for the system's C library (Glibc in LFS) to use.  This is done
47     by way of sanitizing various C header files that are shipped in the Linux
48     kernel source tarball.</para>
50     <para>Make sure there are no stale files embedded in the package:</para>
52 <screen><userinput remap="pre">make mrproper</userinput></screen>
54     <para>Now extract the user-visible kernel headers from the source.
55     The recommended make target <quote>headers_install</quote> cannot be
56     used, because it requires <application>rsync</application>, which may not
57     be available. The headers are first placed in
58     <filename class="directory">./usr</filename>, then copied to the needed
59     location.</para>
61 <screen><userinput remap="make">make headers
62 find usr/include -name '.*' -delete
63 rm usr/include/Makefile
64 </userinput><userinput remap="install">cp -rv usr/include $LFS/usr</userinput></screen>
66   </sect2>
68   <sect2 id="contents-linux-headers" role="content">
69     <title>Contents of Linux API Headers</title>
71     <segmentedlist>
72       <segtitle>Installed headers</segtitle>
73       <segtitle>Installed directories</segtitle>
75       <seglistitem>
76         <seg>/usr/include/asm/*.h, /usr/include/asm-generic/*.h,
77         /usr/include/drm/*.h, /usr/include/linux/*.h, /usr/include/misc/*.h,
78         /usr/include/mtd/*.h, /usr/include/rdma/*.h, /usr/include/scsi/*.h, 
79         /usr/include/sound/*.h, /usr/include/video/*.h, 
80         and /usr/include/xen/*.h</seg>
81         <seg>/usr/include/asm, /usr/include/asm-generic, /usr/include/drm,
82         /usr/include/linux, /usr/include/misc, /usr/include/mtd, 
83         /usr/include/rdma, /usr/include/scsi, /usr/include/sound, 
84         /usr/include/video, and /usr/include/xen</seg>
85       </seglistitem>
86     </segmentedlist>
88     <variablelist>
89       <bridgehead renderas="sect3">Short Descriptions</bridgehead>
90       <?dbfo list-presentation="list"?>
91       <?dbhtml list-presentation="table"?>
93       <varlistentry id="asm">
94         <term><filename class="headerfile">/usr/include/asm/*.h</filename></term>
95         <listitem>
96           <para>The Linux API ASM Headers</para>
97           <indexterm zone="ch-tools-linux-headers asm">
98             <primary sortas="e-/usr/include/asm/*.h">/usr/include/asm/*.h</primary>
99           </indexterm>
100         </listitem>
101       </varlistentry>
103      <varlistentry id="asm-generic">
104         <term><filename class="headerfile">/usr/include/asm-generic/*.h</filename></term>
105         <listitem>
106           <para>The Linux API ASM Generic Headers</para>
107           <indexterm zone="ch-tools-linux-headers asm-generic">
108             <primary sortas="e-/usr/include/asm-generic/*.h">/usr/include/asm-generic/*.h</primary>
109           </indexterm>
110         </listitem>
111       </varlistentry>
113       <varlistentry id="drm">
114         <term><filename class="headerfile">/usr/include/drm/*.h</filename></term>
115         <listitem>
116           <para>The Linux API DRM Headers</para>
117           <indexterm zone="ch-tools-linux-headers drm">
118             <primary sortas="e-/usr/include/drm/*.h">/usr/include/drm/*.h</primary>
119           </indexterm>
120         </listitem>
121       </varlistentry>
123       <varlistentry id="linux">
124         <term><filename class="headerfile">/usr/include/linux/*.h</filename></term>
125         <listitem>
126           <para>The Linux API Linux Headers</para>
127           <indexterm zone="ch-tools-linux-headers linux">
128             <primary sortas="e-/usr/include/linux/*.h">/usr/include/linux/*.h</primary>
129           </indexterm>
130         </listitem>
131       </varlistentry>
133       <varlistentry id="misc">
134         <term><filename class="headerfile">/usr/include/misc/*.h</filename></term>
135         <listitem>
136           <para>The Linux API Miscellaneous Headers</para>
137           <indexterm zone="ch-tools-linux-headers misc">
138             <primary sortas="e-/usr/include/misc/*.h">/usr/include/misc/*.h</primary>
139           </indexterm>
140         </listitem>
141       </varlistentry>
143       <varlistentry id="mtd">
144         <term><filename class="headerfile">/usr/include/mtd/*.h</filename></term>
145         <listitem>
146           <para>The Linux API MTD Headers</para>
147           <indexterm zone="ch-tools-linux-headers mtd">
148             <primary sortas="e-/usr/include/mtd/*.h">/usr/include/mtd/*.h</primary>
149           </indexterm>
150         </listitem>
151       </varlistentry>
153       <varlistentry id="rdma">
154         <term><filename class="headerfile">/usr/include/rdma/*.h</filename></term>
155         <listitem>
156           <para>The Linux API RDMA Headers</para>
157           <indexterm zone="ch-tools-linux-headers rdma">
158             <primary sortas="e-/usr/include/rdma/*.h">/usr/include/rdma/*.h</primary>
159          </indexterm>
160         </listitem>
161       </varlistentry>
163       <varlistentry id="scsi">
164         <term><filename class="headerfile">/usr/include/scsi/*.h</filename></term>
165         <listitem>
166           <para>The Linux API SCSI Headers</para>
167           <indexterm zone="ch-tools-linux-headers scsi">
168             <primary sortas="e-/usr/include/scsi/*.h">/usr/include/scsi/*.h</primary>
169           </indexterm>
170         </listitem>
171       </varlistentry>
173       <varlistentry id="sound">
174         <term><filename class="headerfile">/usr/include/sound/*.h</filename></term>
175         <listitem>
176           <para>The Linux API Sound Headers</para>
177           <indexterm zone="ch-tools-linux-headers sound">
178            <primary sortas="e-/usr/include/sound/*.h">/usr/include/sound/*.h</primary>
179           </indexterm>
180         </listitem>
181       </varlistentry>
183       <varlistentry id="video">
184         <term><filename class="headerfile">/usr/include/video/*.h</filename></term>
185         <listitem>
186           <para>The Linux API Video Headers</para>
187           <indexterm zone="ch-tools-linux-headers video">
188             <primary sortas="e-/usr/include/video/*.h">/usr/include/video/*.h</primary>
189           </indexterm>
190         </listitem>
191       </varlistentry>
193       <varlistentry id="xen">
194         <term><filename class="headerfile">/usr/include/xen/*.h</filename></term>
195         <listitem>
196           <para>The Linux API Xen Headers</para>
197           <indexterm zone="ch-tools-linux-headers xen">
198             <primary sortas="e-/usr/include/xen/*.h">/usr/include/xen/*.h</primary>
199           </indexterm>
200         </listitem>
201       </varlistentry>
203     </variablelist>
205   </sect2>
207 </sect1>