source: BOOK/final-system/common/linux-headers.xml @ c5afbba

clfs-3.0.0-systemdsystemd
Last change on this file since c5afbba was 559f774, checked in by William Harrington <kb0iic@…>, 8 years ago

Add &linux-version2; entity to the required parts of the book that need the full kernel version rather than just the &linux-version; entity. I.E. 3.14.8 instead of 3.14

  • Property mode set to 100644
File size: 4.2 KB
Line 
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]>
7
8<sect1 id="ch-system-linux-headers" role="wrap">
9  <?dbhtml filename="linux-headers.html"?>
10
11  <title>Linux-Headers-&linux-version;-&linux-version2;</title>
12
13  <indexterm zone="ch-system-linux-headers">
14    <primary sortas="a-Linux-Headers">Linux-Headers</primary>
15  </indexterm>
16
17  <sect2 role="package">
18    <title/>
19
20    <para>The Linux Kernel contains a make target that installs
21    <quote>sanitized</quote> kernel headers.</para>
22
23  </sect2>
24
25  <sect2 role="installation">
26    <title>Installation of Linux-Headers</title>
27
28    <note os="a">
29      <para>There is no actual package called "Linux-Headers" in this book.
30      This step involves "sanitizing" and installing a number of header files
31      from the Linux kernel source so that they can used by other packages.
32      Therefore, for this step you will need to unpack the kernel tarball
33      (<filename>linux-&linux-version;.tar.xz</filename>) and
34      <command>cd</command> into its source
35      directory before entering the commands on this page.</para>
36    </note>
37
38    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
39    href="../../bootable/x86/kernel.xml"
40    xpointer="xpointer(//*[@os='p1'])"/>
41
42    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
43    href="../../bootable/x86/kernel.xml"
44    xpointer="xpointer(//*[@os='p2'])"/>
45
46    <para os="b">Install the kernel header files:</para>
47
48<screen os="c"><userinput>make mrproper
49make headers_check
50make INSTALL_HDR_PATH=/usr headers_install
51find /usr/include -name .install -or -name ..install.cmd | xargs rm -fv</userinput></screen>
52
53    <variablelist os="d">
54      <title>The meaning of the make commands:</title>
55
56      <varlistentry os="d1">
57        <term><parameter>make mrproper</parameter></term>
58        <listitem>
59          <para>Ensures that the kernel source dir is clean.</para>
60        </listitem>
61      </varlistentry>
62
63      <varlistentry os="d2">
64        <term><parameter>make headers_check</parameter></term>
65        <listitem>
66          <para>Sanitizes the raw kernel headers so that they can be used
67          by userspace programs.</para>
68        </listitem>
69      </varlistentry>
70
71      <varlistentry os="d3">
72        <term><parameter>make INSTALL_HDR_PATH=/usr headers_install</parameter></term>
73        <listitem>
74          <para>This will install the kernel headers into
75          <filename class="directory">/usr/include</filename>.</para>
76        </listitem>
77      </varlistentry>
78
79      <varlistentry os="d4">
80        <term><parameter>find /usr/include -name .install -or -name ..install.cmd | xargs rm -fv</parameter></term>
81        <listitem>
82          <para>Removes a number of unneeded debugging files that were installed.</para>
83        </listitem>
84      </varlistentry>
85
86    </variablelist>
87
88  </sect2>
89
90  <sect2 id="contents-linux-headers" role="content">
91    <title>Contents of Linux-Headers</title>
92
93    <segmentedlist>
94      <segtitle>Installed headers</segtitle>
95      <segtitle>Installed directories</segtitle>
96
97      <seglistitem>
98        <seg>/usr/include/{asm,asm-generic,drm,linux,mtd,rdma,scsi,sound,video,xen}/*.h</seg>
99        <seg>/usr/include/asm, /usr/include/asm-generic, /usr/include/drm,
100        /usr/include/linux, /usr/include/mtd, /usr/include/rdma,
101        /usr/include/scsi, /usr/include/sound, /usr/include/uapi,
102        /usr/include/video, /usr/include/xen</seg>
103      </seglistitem>
104    </segmentedlist>
105
106    <variablelist>
107      <bridgehead renderas="sect3">Short Descriptions</bridgehead>
108      <?dbfo list-presentation="list"?>
109      <?dbhtml list-presentation="table"?>
110
111      <varlistentry id="linux-headers">
112        <term><filename
113        class="headerfile">/usr/include/{asm,asm-generic,drm,linux,mtd,rdma,sound,video}/*.h</filename></term>
114        <listitem>
115          <para>The Linux API headers</para>
116          <indexterm zone="ch-system-linux-headers linux-headers">
117            <primary
118            sortas="e-/usr/include/{asm,linux}/*.h">/usr/include/{asm,linux}/*.h</primary>
119          </indexterm>
120        </listitem>
121      </varlistentry>
122
123    </variablelist>
124
125  </sect2>
126
127</sect1>
Note: See TracBrowser for help on using the repository browser.