msgbartop
Adam Palmer MBCS CITP, Linux, PHP Programmer, MySQL Developer, Embedded Hardware, Security Consultant
Did my blog help you? Please link to me!
  dns test
 
RSS Feed
msgbarbottom

16 Sep 08 Adam’s Custom Kernel

I haven’t been doing much custom kernel building lately. I find that the only kernels I change are those on my VM host machines, and/or using apt-get for a general upgrade.

Nevertheless, here’s how I go about building my custom kernels for VM host machines running debian etch, using 2.6.18 of course:

apt-get install linux-source-2.6.18


[ You can also grab one from: http://www.kernel.org/pub/linux/kernel/v2.6/ ]

Make sure you install other relevant tools that you might not have:
apt-get install gcc libncurses5-dev libc6-dev automake binutils

cd /usr/src/
tar -xjf linux-2.6.18.tar.bz2
ln -s /usr/src/linux-2.6.18 /usr/src/linux
make clean
make menuconfig

Scroll to the bottom and select the option to load a configuration. Select /boot/config-2.6.18.

I then set my Processor family to suit, usually support RAM size up to 64G, and change the tick speed from 250MHz to 1000MHz.

Save and exit, now run:

make dep
make
make modules
make install
make modules_install
mkinitramfs -o /boot/initrd.img-2.6.18 2.6.18

Lastly edit your /boot/grub/menu.lst, and add [where /dev/sda1 is your root device]:

title Debian GNU/Linux, kernel 2.6.18
root (hd0,0)
kernel /boot/vmlinuz-2.6.18 root=/dev/sda1 ro
initrd /boot/initrd.img-2.6.18
savedefault

Make sure that you leave your existing kernel entries in place so that you can boot them if your upgrade fails.

Before reboot, check the following:
- root=/dev/sda1 is a correct and valid root device for your setup.
- All files mentioned in the addition to menu.lst exist and are named correctly
- You have backups of your current kernels and modules, and are able to boot them if necessary

reboot

Tags: , , , , , , , ,



Leave a Comment