aboutsummaryrefslogtreecommitdiffstats
path: root/chapter05/kernelheaders.xml
blob: e535ff5d5943b9dc92fd234a86dfa8882eabbbe7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
<sect1 id="ch-tools-kernel-headers">
<title>Installing Linux-&kernel-version; headers</title>
<?dbhtml filename="kernel-headers.html" dir="chapter05"?>

<screen>&buildtime; &kernel-time-headers;
&diskspace; &kernel-compsize-headers;</screen>

<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>

<sect2>
<title>Installation of the kernel headers</title>

<para>As some packages need to refer to the kernel header files, we're going
to unpack the kernel archive now, set it up, and copy the required files to a
place where <userinput>gcc</userinput> can later find them.</para>

<para>Prepare for the header installation with:</para>

<screen><userinput>make mrproper</userinput></screen>

<para>This ensures that the kernel tree is absolutely clean. The kernel team
recommends that this command be issued prior to <emphasis>each</emphasis> kernel
compilation. You shouldn't rely on the source tree being clean after
untarring.</para>

<para>Create the <filename>include/linux/version.h</filename> file:</para>

<screen><userinput>make include/linux/version.h</userinput></screen>

<para>Create the platform-specific <filename>include/asm</filename>
symlink:</para>

<screen><userinput>make symlinks</userinput></screen>

<para>Install the platform-specific header files:</para>

<screen><userinput>mkdir /tools/include/asm
cp include/asm/* /tools/include/asm
cp -R include/asm-generic /tools/include</userinput></screen>

<para>Install the cross-platform kernel header files:</para>

<screen><userinput>cp -R include/linux /tools/include</userinput></screen>

<para>There are a few kernel header files which make use of the
<filename>autoconf.h</filename> header file. Since we do not yet configure the
kernel, we need to create this file ourselves in order to avoid compilation
failures. Create an empty <filename>autoconf.h</filename> file:</para>

<screen><userinput>touch /tools/include/linux/autoconf.h</userinput></screen>

</sect2>

</sect1>