|
@@ -3,22 +3,45 @@
|
|
|
<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>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
|
|
@@ -29,27 +52,25 @@ 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>Install the modules:</para>
|
|
|
|
|
|
-<para><screen><userinput>make mrproper</userinput></screen></para>
|
|
|
+<para><screen><userinput>make modules_install</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>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>make menuconfig &&
|
|
|
-make dep &&
|
|
|
-make bzImage &&
|
|
|
-make modules &&
|
|
|
-make modules_install</userinput></screen></para>
|
|
|
+<para><screen><userinput>cp arch/i386/boot/bzImage /boot/lfskernel</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><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 arch/i386/boot/bzImage /boot/lfskernel &&
|
|
|
-cp System.map /boot</userinput></screen></para>
|
|
|
+<para><screen><userinput>cp System.map /boot</userinput></screen></para>
|
|
|
|
|
|
</sect2>
|