aboutsummaryrefslogtreecommitdiffstats
path: root/chapter08/kernel-inst.xml
blob: e05ab27862a72313ef245f028e8e03b4b3550ef1 (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
<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>

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

<para>Building the kernel involves a few steps: configuring it and compiling
it. There are a few ways to configure the kernel. If you don't like the
way this book does it, read the <filename>README</filename> that comes
with the kernel source tree, and find out what the other options are.</para>

<para>Something you could do, is take the <filename>.config</filename>
file from your host distribution's kernel source tree and copy it to
<filename class="directory">$LFS/usr/src/linux-&kernel-version;</filename>.
This way you don't have to configure the entire kernel from scratch and
can use your current values. If you choose to do this, first run the
<userinput>make mrproper</userinput> command below, then copy the
<filename>.config</filename> file over, then run
<userinput>make menuconfig</userinput> followed by the rest of the commands
(<userinput>make oldconfig</userinput> may be better in some situations.
See the <filename>README</filename> file for more details when to use
<userinput>make oldconfig</userinput>).</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>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><screen><userinput>make menuconfig &amp;&amp;
make dep &amp;&amp;
make bzImage &amp;&amp;
make modules &amp;&amp;
make modules_install</userinput></screen></para>

<para>Kernel compilation has finished, but the files created are still
in the source tree. The path to the kernel file,
<filename>arch/i386/boot/bzImage</filename> below, may vary depending
on the platform you're using.</para>

<para><screen><userinput>cp arch/i386/boot/bzImage /boot/lfskernel &amp;&amp;
cp System.map /boot</userinput></screen></para>

</sect2>