| 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;</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 | 
|---|
| 49 | make headers_check | 
|---|
| 50 | make INSTALL_HDR_PATH=/usr headers_install | 
|---|
| 51 | find /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> | 
|---|