This example was done using Fedora 8 on an AMD64 system. Adjust the following as needed for the target system.

First, take a look at which rt patches are available by looking at http://www.kernel.org/pub/linux/kernel/projects/rt. Having selected an rt patch, download it...

wget http://www.kernel.org/pub/linux/kernel/projects/rt/patch-2.6.23.11-rt14.bz2

Then get the Linux kernel sources that match the rt patch...

wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.23.11.tar.bz2

Uncompress the patch...

bunzip2 patch-2.6.23.11-rt14.bz2

Uncompress and extract the kernel sources...

bunzip2 linux-2.6.23.11.tar.bz2
tar xvf linux-2.6.23.11.tar

Apply the rt patch...

cd linux-2.6.23.11
patch -p1 < ../patch-2.6.23.11-rt14

Get the distribution's kernel config file, and apply it to the new kernel...

yum install kernel-devel
rpm -ql kernel-devel | grep "\.config" (to find the .config file)
cp /usr/src/kernels/2.6.23.9-85.fc8-x86_64/.config .
make oldconfig

In the 'make oldconfig' process it will ask about any features or selections that were not found in the distribution's .config file. Make sure to choose "Real Time" support when presented with that question.

Build and install the new real-time kernel...

make
make modules
make modules_install
make install

The /etc/grub.conf file is updated with a pointer to the new real-time kernel, however the default kernel to boot from is the old kernel. To change the default booting kernel to point to the new real-time kernel, change the line that says "default=" to point to the appearance of the new real-time kernel. Usually, default=0.

At this point the system can be rebooted into the new real-time kernel. Be aware, however, that any problems with the new kernel or its installation could cause the system to fail to boot properly. Any custom-built drivers may need to be rebuilt at this time.

Once booted into the real-time kernel you should notice processes named similar to "IRQ-4" for each interrupt. Adjusting the real-time prioritization of these processes should give the desired result. For example...

chrt -f -p 80 `pidof IRQ-4`

This should fulfill the real-time needs for the device on IRQ-4.