These classnotes are depreciated. As of 2005, I no longer teach the classes. Notes will remain online for legacy purposes

UNIX01/Basics Of Kernel Compilation

Classnotes | UNIX01 | RecentChanges | Preferences

Essentially, Linux Kernel recompilation is a very simple and straight-forward process. After unarchiving the Kernel source, you simply change into the newly created directory contain the source and issue the following commands:
 # make clean
 # make mrproper
 # make xconifg (or some other config choice)
 # make dep
 # make bzImage
 # make modules
 # make modules_install
 # make install (unless you want to install the image by hand)

When you come to the config choice, that is where things get complicated. You have a variety of conifg choices, one of them is "xconfig" which presents the following graphical configuration menu:

Another is "menuconfig" which presents you with the following text-based menu:

Others include simple Q&A style configs ("Do you want 386 Support?" "Do you want to enable I2C?", etc) and even one which presents you with a text adventure ("You are standing in the forest. An Elf stands before you. The Elf asks, 'Do you want Firewire support?'").

Once in these menus, things get rather complicated. Each menu has levels of options and sub-options. Some choices enable or disable others, and some require extra code be patched in. We will not go into the details of these in this class (though, we will in "UNIX02/Kernel Recompilation"). There is also an excellent HOWTO on the subject at The Linux Documentation Project:



Classnotes | UNIX01 | RecentChanges | Preferences
This page is read-only | View other revisions
Last edited August 9, 2003 3:04 pm (diff)
Search:
(C) Copyright 2003 Samuel Hart
Creative Commons License
This work is licensed under a Creative Commons License.