Kernel Compilation

David Bruzos david at bruzos.org
Sat Jan 8 10:42:09 EST 2005


Hi there:
I don't use Slackware, but I am sure you can compile the kernel for it.  
I compile the 2.6.x kernel all the time, so here are the steps and some 
notes about it.
Firstable, you don't have to distroy your install when testing a new 
kernel.  You can install the new kernel and keep your old kernel also, 
so if your new kernel does not work, you can just reboot to your old 
one.  When you configure lilo or grub to boot your system, just leave 
your entry for the original kernel and add a new entry for the new 
kernel.

Anyway, here is what you do:

1. Patch the kernel from kernel.org with speakup and/or whatever else 
you need.

2. from the kernel source directory (/usr/src/linux) type:
# make menuconfig
As someone pointed out, this is a much nicer interface than, make 
config.
3. After you are done configuring the kernel, type:
# make bzImage
This will build the static part of the kernel.  You want to do this 
first, because if there are compilation problems in this part, there is 
no point in compiling the kernel modules.  The kernel modules usually 
take a lot longer to compile.

4. Now build the modules:
# make modules

5. If you did not get any errors, it is now time to install your kernel.
# cp arch/i386/boot/bzImage /boot/vmlinuz-2.6.x.xx-whatever
# make modules_install

6. Now, depending on your GNU/Linux distro, you might have to make a 
initrd image.  This can be very important, so you want to research this 
point.  Look in /boot on your system and look for something called 
initrd-2.4.xxx or something like that.

7.  Now, configure your boot loader.  If it is lilo, don't forget to 
run:
# lilo
after you edit the config file.  You should not get any errors from 
lilo.  If you do, then there is some kind of problem.

Notes:

1. If you want to clean your kernel source directory completely type:
# make mrproper
You should do this before compiling your kernel again.  Important, make 
sure you make a copy of your .config file.  If you don't, you will have 
to do the entire configuration all over again.

2. The 2.6.x kernels do not require the:
# make dep
command for building them.  So, you don't need to use it.

3. To have an idea of what configuration options to pick, look at the 
current configuration for your 2.4.x kernel.  You should not use the 
same .config file, but you should use it as a guide.  Just do a make 
menuconfig on the 2.4.x sources from your install and follow it as you 
configure the new kernel.

4. I am not sure about this, but you might need to upgrade your modprobe 
and other module related utilities also.  As someone that knows or look 
it up on the web.

5. Most important, don't give up, it can be done and it gets easier 
every time!


David Bruzos

On Sat, Jan 08, 2005 at 01:58:19AM -0500, ace wrote:
> Hello,
> 
> I am running Slackware version 10.0 freshly installed.  I have a few 
> questions.  I've installed Linux on a few older computers but did not have 
> the chance to really mess around with it bc those systems sucked.
> 
> Firstly, I am aware that Slackware 10 comes with kernel 2.4.26.  Will it 
> work with the latest 2.6.X kernel if I download it from kernel.org and 
> patched it with the latest Speakup sources?
> 
> I have never successfully compiled a kernel before.  Last time, it was on 
> my friend's box and I severely screwed it.  What are the steps one must go 
> through to compile a kernel?  Must I pay attention to each individual 
> option that the configure script asks?  There are over hundreds it seems 
> and I can barely understand any of them.
> 
> Thanks for any information.
> 
> Robby
> 
> Network Administrator of
> irc.talkingirc.com
> http://www.talkingirc.com 
> 
> 
> _______________________________________________
> Speakup mailing list
> Speakup at braille.uwo.ca
> http://speech.braille.uwo.ca/mailman/listinfo/speakup




More information about the Speakup mailing list