Difference between revisions of "Compiling a kernel"

From Linuxintro
imported>ThorstenStaerk
imported>ThorstenStaerk
Line 15: Line 15:
 
* compile the kernel
 
* compile the kernel
 
  make -j4
 
  make -j4
 +
* compile the drivers
 +
make -j4 modules
 +
* install the drivers
 +
make modules_install
 +
* install the kernel
 +
cp arch/x86_64/boot/bzImage /boot/vmlinuz-2.6.20
 +
* prepare the initial ramdisk
 +
mkinitrd
 +
* add an entry to the bootloader. Let's take grub's /boot/grub/menu.lst:
 +
title 2.6.20-selfcompiled
 +
    root (hd0,0)
 +
    kernel /boot/vmlinuz-2.6.20 root=/dev/sda1
 +
    initrd /boot/initrd-2.6.20

Revision as of 04:59, 2 February 2009

This is an example how to compile a Linux kernel. It has been tested for SUSE Linux 10.2 and kernel 2.6.21, but should work same or similar for every combination.

  • Make sure you have a compiler installed
yast -i gcc
  • Download the kernel from ftp.kernel.org
wget ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.20.tar.bz2
  • unpack the kernel
bunzip linux-2.6.20.tar.bz2
  • unpack the kernel for the second time
tar xvf linux-2.6.20.tar
  • configure the kernel
cd linux-2.6.20
make oldconfig
  • answer some un-understandable questions
  • compile the kernel
make -j4
  • compile the drivers
make -j4 modules
  • install the drivers
make modules_install
  • install the kernel
cp arch/x86_64/boot/bzImage /boot/vmlinuz-2.6.20
  • prepare the initial ramdisk
mkinitrd
  • add an entry to the bootloader. Let's take grub's /boot/grub/menu.lst:
title 2.6.20-selfcompiled
   root (hd0,0)
   kernel /boot/vmlinuz-2.6.20 root=/dev/sda1
   initrd /boot/initrd-2.6.20