aboutsummaryrefslogtreecommitdiffstats
path: root/chapter06/kernel-exp.xml
blob: 21bfabd20d6af5e501337c088337b5c38d66435e (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
<sect2>
<title>Command explanations</title>

<para><userinput>ln -s /static/bin/pwd /bin/pwd</userinput>: In the kernel
source, the path to the <filename>pwd</filename> program is hard-wired as
<filename>/bin/pwd</filename>, so we create a temporary symlink to account
for that. At the end we remove it again.</para>

<para><userinput>make mrproper</userinput>: 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 and that you
shouldn't rely on the source tree being clean after untarring.</para>

<para><userinput>make include/linux/version.h</userinput> and
<userinput>make symlinks</userinput>: This creates the
<filename>include/linux/version.h</filename> file and the platform-specific
<filename class="symlink">include/asm</filename> symlink.</para>

<para><userinput>mkdir /usr/include/asm</userinput>
, <userinput>cp include/asm/* /usr/include/asm</userinput> and
<userinput>cp -R include/asm-generic /usr/include</userinput>:
These commands copy the platform-specific assembler kernel header files to
<filename class="directory">/usr/include/asm</filename> and <filename
class="directory">/usr/include/asm-generic</filename>.</para>

<para><userinput>cp -R include/linux /usr/include</userinput>:
This command copies the cross-platform kernel header files to
<filename>/usr/include</filename>.</para>

<para><userinput>touch /usr/include/linux/autoconf.h</userinput>: This
creates an empty <filename>autoconf.h</filename> file.  As we do not yet
configure the kernel, we have to create this file ourselves for those few
kernel header files that make use of it, to avoid compilation failures.</para>

</sect2>