we will be working here
download all required files
axel -a http://www.kernel.org/pub/linux/kernel/v3.0/linux-3.6.6.tar.bz2
tar xjvf linux-3.6.6.tar.bz2 && cd linux-3.6.6/
axel -a http://www.kernel.org/pub/linux/kernel/projects/rt/3.6/patch-3.6.6-rt17.patch.bz2
test the RT patch before actually patch it ( make sure you are now in /usr/src/linux-3.6.6/ )
bzcat patch-3.6.6-rt17.patch.bz2|patch -p1 --dry-run
if everything seem ok, lets really patch it
bzcat patch-3.6.6-rt17.patch.bz2|patch -p1
remove the -rt17 prefix local kernel version. this seem to cause problem when running make-kpkg later
copy current kernel configuration
make clean && make mrproper && cp /boot/config-$(uname -r) ./.config
configure our kernel
below is the setting that use, please find the menu by browsing the menu config console
note: please choose processor family accordingly
Processor Type and Features
[ ] Enable MPS table
Processor family (Core 2/newer Xeon) -->
[ ] IBM Calgary IOMMU support
Preemption Model (Fully Preemptible Kernel (RT)) -->
Timer frequency (1000 HZ) -->
[ ] kernel crash dumps
Kernel Hacking
[ ] Enable unused/obsolete exported symbols
[ ] Kernel debugging
[ ] Compile the kernel with frame pointers
RCU Implementation (Preemptible tree-based hierarchical RCU) -->
below is the setting to enable general support for (most) webcams
Device Drivers -->
[*] Multimedia Support -->
[*] Cameras/video grabbers support
.
.
[*] Video capture adapters (NEW) -->
[*] V4L USB devices -->
<M> USB Video Class (UVC)
[ ] = untick
[*] = tick
[optional] this is gcc option tuned for my machine and i'm using Intel(R) Core(TM)2 Duo CPU E4500, yours may differ
export CFLAGS="-O2 -pipe -march=native --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=2048 -mtune=native -mfpmath=sse -m64";
export CXXFLAGS="$CFLAGS"
lets compile our kernel and build the .deb package (you may choose your own append_to_version= )
CONCURRENCY_LEVEL=$(getconf _NPROCESSORS_ONLN) fakeroot make-kpkg --initrd --append_to_version=-zxr --revision=0 kernel_image kernel_headers
cd ..
dpkg -i linux-*3.6.6*.deb
reboot to and select your new kernel. check your kernel and you should see something like below
┌─[novatech][~]
└──╼ uname -a
Linux ZX10R 3.6.6-zxr
that's it... kernel compilation is not a rocket science after all isn't?
have fun with your blazing fast responsive desktop ~
foot notes:
- this guide can use to compile normal kernel without RT patch
- if you would like recompile the kernel after enabling some modules in menuconfig, below is how make make-kpkg faster
export CLEAN_SOURCE=no
CONCURRENCY_LEVEL=$(getconf _NPROCESSORS_ONLN) fakeroot make-kpkg --initrd --append_to_version=-zxr --revision=0 kernel_image kernel_headers