build -rt kernel

NOTE

With the newest kernels, it's enough to add

these lines to /etc/security/limits.conf :

@audio - rtprio 99

@audio - memlock 512000

@audio - nice -19

and this line to /etc/pam.d/su :

session required pam_limits.so

Then you don't need an -rt patched kernel like explained in this HowTo.

This how-to is part of the AVLinux install but I like it, so I'll put it online here.

(There's also this howto by Ralf Maldorf)

HOWTO BUILD A CUSTOM -RT KERNEL FOR DEBIAN (in 13 steps)

#1: USING Kernel 2.6.29.6 AS AN EXAMPLE

*Check for latest stable Kernel at www.kernel.org (+ matching -rt patch) and update text as necessary*

To be more clear about matching -rt patch: in this example the number 2.6.29.6 must be both in the kernel and -rt patch names.

#2: INSTALL DEPENDENCIES (AS ROOT)

apt-get install build-essential bin86 kernel-package libqt3-headers libqt3-mt-dev wget libncurses5 libncurses5-dev

#3: MOVE TO /usr/src *Where Kernel is to be built

cd /usr/src

#4: MAKE YOURSELF ROOT

su

Password:

#5: DOWNLOAD AND UNPACK THE KERNEL SOURCE PACKAGE

wget -c http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.29.6.tar.bz2 && tar -xvjf linux-2.6.29.6.tar.bz2

#6: REMOVE LINK TO LINUX DIR, MAKE NEW LINK TO NEW KERNEL, MOVE TO LINUX DIR

rm -rf linux && ln -s /usr/src/linux-2.6.29.6 linux && cd /usr/src/linux

#7: DOWNLOAD THE REALTIME (-rt) KERNEL PATCH *MUST MATCH WITH KERNEL VERSION*

wget -c http://www.kernel.org/pub/linux/kernel/projects/rt/patch-2.6.29.6-rt23.bz2

#8: APPLY THE -RT PATCH TO KERNEL

bzcat patch-2.6.29.6-rt23.bz2| patch -p1

#9: IMPORT YOUR CURRENT KERNEL CONFIGURATION AND OPTIONS

cp /boot/config-$(uname -r) .config && yes "" | make oldconfig

#10: CREATE YOUR NEW KERNEL CONFIGURATION (WITH GUI) OR USE CLI OPTION BELOW. #YOU WILL WANT TO CONFIGURE WITH "Preemptible Kernel" AND "1000hz" TIMING #AT THE VERY LEAST

make xconfig

#10: CREATE YOUR NEW KERNEL CONFIGURATION (WITH CLI)

make menuconfig

#11: BUILD A KERNEL PACKAGE TO INSTALL & SHARE

make-kpkg clean

#12: THEN THIS

fakeroot make-kpkg --initrd --append-to-version=-rt kernel_image kernel_headers

#13: IF ALL GOES WELL YOU WILL FIND 2 DEB PACKAGES IN /usr/src/ WITH A KERNEL IMAGE AND KERNEL HEADERS THAT CAN BE INSTALLED WITH SYNAPTIC

More tutorials:

Debian forums tutorial for 2.6.26.5-rt8