== How do I compile a kernel? == (These instructions assume we are installing version 2.6.0 of the kernel, replace all instances with the version you are trying to build. These instructions are also x86-specific; other architecture's build procedures may differ.) * Download your tarball from ftp.XX.kernel.org where XX is your country code. If there isn't a mirror for your country, just pick a near one. * Unpack the tarball in your home directory {{{ bzip2 -dc linux-2.6.0.tar.bz2 | tar xvf - }}} (Replace bzip2 with gzip if you downloaded the .gz) * cd into the linux directory. You'll now need to configure the kernel to select the features you want/need. There are several ways to do this.. a. make config Command line questions. a. make oldconfig (Useful only if you kept a .config from a previous kernel build) a. make menuconfig (ncurses based) a. make gconfig (GTK+ based X-Windows configuration) a. make xconfig (QT based X-Windows configuration) * Now we can build the kernel (for older kernel like 2.4.x first build the dependencies with "make dep"). {{{ make }}} * Wait. When its finished, it will have build both the kernel (bzImage) and the modules (for older kernels like 2.4.x, you need to run "make bzImage ; make modules"). * Become root to be able to install modules and kernel. Everything before this point can and should be done as a normal user, there is really no need to be root to compile a kernel. It's actually a very bad idea to do everything as root because root is too powerful, one single mistake is enough to ruin your system completely. * Install the modules. {{{ make modules_install }}} * Install the new kernel.. {{{ cp arch/i386/boot/bzImage /boot/vmlinuz-2.6.0 cp System.map /boot/System.map-2.6.0 }}} * Edit /etc/lilo.conf, and add these lines... {{{ image = /boot/vmlinuz-2.6.0 label = 2.6.0 }}} Also copy your root=/dev/??? line here too. * Run /sbin/lilo, reboot, and enjoy. If you get modversion problems (symbols ending in _Rxxxxxxxx), have a look at [http://www.tux.org/lkml/#s8-8 this question] in the linux-kernel mailing list FAQ to solve the problem. Still not getting it? Try this [http://www.digitalhermit.com/linux/Kernel-Build-HOWTO.html more indepth tutorial] ---- ["CategoryFAQ"]