aboutsummaryrefslogtreecommitdiffstats
path: root/chapter08/kernel-inst.xml
blob: 5d63dd3228d04be2f1a95ac041957f4b5bdc1102 (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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>

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

<para>Building the kernel involves a few steps: configuration,
compilation, and installation. If you don't like the way this
book configures the kernel, view the <filename>README</filename>
file in the kernel source tree for alternative methods.</para>

<para>Prepare for compilation by running the following command:</para>

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

<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>Configure the kernel via a menu-driven interface:</para>

<para><screen><userinput>make menuconfig</userinput></screen></para>

<para><userinput>make oldconfig</userinput> may be more appropriate
in some situations. See the <filename>README</filename> file for
more information.</para>

<para>If you wish, you may skip kernel configuration by copying the
kernel config file, <filename>.config</filename>, from your host
system to the
<filename class="directory">$LFS/usr/src/linux-&kernel-version;</filename>
directory.</para>

<para>Verify dependencies and create dependency information files:</para>

<para><screen><userinput>make dep</userinput></screen></para>

<para>Compile the kernel image:</para>

<para><screen><userinput>make bzImage</userinput></screen></para>

<para>Compile the drivers which have been configured as modules:</para>

<para><screen><userinput>make modules</userinput></screen></para>

<para>If you intend to use kernel modules, you will need an
<filename>/etc/modules.conf</filename> file. Information pertaining
to modules and to kernel configuration in general may be found in the
kernel documentation, which is stored stored in
<filename>/usr/src/linux-&kernel-version;/Documentation</filename>. The
modules.conf man page and the kernel HOWTO at
<ulink url="&tldp-root;HOWTO/Kernel-HOWTO.html"/> may also be of
interest to you.</para>

<para>Install the modules:</para>

<para><screen><userinput>make modules_install</userinput></screen></para>

<para>Kernel compilation has finished, but some of the files created
still reside in the source tree. To complete the installation, two
files should to be copied to the <filename>/boot</filename>
directory.</para>

<para>The path to the kernel file may vary depending on the platform
you're using. Issue the following command to install the kernel:</para>

<para><screen><userinput>cp arch/i386/boot/bzImage /boot/lfskernel</userinput></screen></para>

<para><filename>System.map</filename> is a symbol file for the kernel.
It maps the function entrypoints of every function in the kernel API,
as well as the addresses of the kernel data structures for the running
kernel. Issue the following command to install the map file:</para>

<para><screen><userinput>cp System.map /boot</userinput></screen></para>

</sect2>