Installation of the kernel 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: make mrproper This ensures that the kernel tree is absolutely clean. The kernel team recommends that this command be issued prior to each kernel compilation. You shouldn't rely on the source tree being clean after untarring. Configure the kernel via a menu-driven interface: make menuconfig 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 simply copying the kernel config file, .config, from your host system (assuming it is available) to the unpacked linux-&kernel-version; directory. However, we don't recommend this option. You're much better off exploring all the configuration menus and creating your own kernel configuration from scratch. For POSIX shared memory support, ensure that the kernel config option "Virtual memory file system support" is enabled. It resides within the "File systems" menu and is normally enabled by default. Verify dependencies and create dependency information files: make CC=/opt/gcc-2.95.3/bin/gcc dep Compile the kernel image: make CC=/opt/gcc-2.95.3/bin/gcc bzImage Compile the drivers which have been configured as modules: make CC=/opt/gcc-2.95.3/bin/gcc 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 found in the linux-&kernel-version;/Documentation directory. The modules.conf man page and the kernel HOWTO at may also be of interest to you. Install the modules: make CC=/opt/gcc-2.95.3/bin/gcc modules_install As nothing is complete without documentation, build the manual pages that come with the kernel: make mandocs And install these pages: cp -a Documentation/man /usr/share/man/man9 Kernel compilation has finished, but some of the files created still reside in the source tree. To complete the installation, two files need 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