diff options
Diffstat (limited to 'chapter08')
-rw-r--r-- | chapter08/kernel-inst.xml | 87 |
1 files changed, 54 insertions, 33 deletions
diff --git a/chapter08/kernel-inst.xml b/chapter08/kernel-inst.xml index e05ab2786..5d63dd322 100644 --- a/chapter08/kernel-inst.xml +++ b/chapter08/kernel-inst.xml @@ -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> |