Prerequisites:
The user should belong to group src and the following packages should be installed:
wget tar bzip2 build-essential libncurses-dev kernel-package fakeroot
The user should belong to group src and the following packages should be installed:
wget tar bzip2 build-essential libncurses-dev kernel-package fakeroot
cd /usr/src/ wget http://www.kernel.org/pub/linux/kernel/v3.0/linux-3.3.6.tar.bz2 tar jxvf linux-3.3.6.tar.bz2 cp /boot/config-$(uname -r) /usr/src/linux-3.3.6/.config cd linux-3.3.6; make menuconfig make-kpkg clean fakeroot make-kpkg --initrd --revision=custom.1.0 kernel_image sudo dpkg -i ../linux-image-3.3.6_custom.1.0_i386.deb
To optimize your kernel further you might like to try make localmodconfig instead of make menuconfig, it should strip unused modules from your kernel config.
Caution: unplugged devices won't have support in kernel anymore.
If your machine has multiple cores you might also want to add the following line to /etc/kernel-pkg.conf before compiling:
CONCURRENCY_LEVEL=3 ##LEVEL can be set to number of cores x2