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,31 +3,10 @@ Installation of the kernel -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 README that comes -with the kernel source tree, and find out what the other options are. - -Something you could do, is take the .config -file from your host distribution's kernel source tree and copy it to -$LFS/usr/src/linux-&kernel-version;. -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 -make mrproper command below, then copy the -.config file over, then run -make menuconfig followed by the rest of the commands -(make oldconfig may be better in some situations. -See the README file for more details when to use -make oldconfig). - -If you intend to use kernel modules, you will need an -/etc/modules.conf file. Information pertaining -to modules and to kernel configuration in general may be found in the -kernel documentation, which is stored stored in -/usr/src/linux-&kernel-version;/Documentation. The -modules.conf man page and the kernel HOWTO at - may also be of -interest to you. +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 README +file in the kernel source tree for alternative methods. Prepare for compilation by running the following command: @@ -38,18 +17,60 @@ team recommends that this command be issued prior to each kernel compilation. You shouldn't rely on the source tree being clean after untarring. -make menuconfig && -make dep && -make bzImage && -make modules && -make modules_install +Configure the kernel via a menu-driven interface: -Kernel compilation has finished, but the files created are still -in the source tree. The path to the kernel file, -arch/i386/boot/bzImage below, may vary depending -on the platform you're using. +make menuconfig -cp arch/i386/boot/bzImage /boot/lfskernel && -cp System.map /boot +make oldconfig may be more appropriate +in some situations. See the README file for +more information. + +If you wish, you may skip kernel configuration by copying the +kernel config file, .config, from your host +system to the +$LFS/usr/src/linux-&kernel-version; +directory. + +Verify dependencies and create dependency information files: + +make dep + +Compile the kernel image: + +make bzImage + +Compile the drivers which have been configured as modules: + +make modules + +If you intend to use kernel modules, you will need an +/etc/modules.conf file. Information pertaining +to modules and to kernel configuration in general may be found in the +kernel documentation, which is stored stored in +/usr/src/linux-&kernel-version;/Documentation. The +modules.conf man page and the kernel HOWTO at + may also be of +interest to you. + +Install the modules: + +make modules_install + +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 /boot +directory. + +The path to the kernel file may vary depending on the platform +you're using. Issue the following command to install the kernel: + +cp arch/i386/boot/bzImage /boot/lfskernel + +System.map 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: + +cp System.map /boot