[LAU] Building a Debian realtime kernel

nescivi nescivi at gmail.com
Sun May 31 20:47:43 EDT 2009


Hiho,

I've finally tried to make a realtime kernel for Debian, as posted on my site 
here: http://www.nescivi.nl/?p=111 (and also below, but without cross-
references).

However, I'm still getting xruns in jackd, at rather uncritical settings 
(large period sizes...).

So I'm wondering what else could be going wrong...

I also found it a bit weird that the Debian package building did not make the 
initrd image.

sincerely,
Marije


----------------------

I’ve finally sat down and tried to make a realtime kernel for Debian, for my 
64bit machine.
 I followed the instructions I found in this post on the Debian forums.
First, I got the Debian sources for 2.6.29, from my repository (so using 
synaptic).
It puts the sources in /usr/src.
Then I got the latest realtime patches from 
http://www.kernel.org/pub/linux/kernel/projects/rt/
Then I made a dir in my home directory

 mkdir kernel
 cd kernel
 cp /usr/src/linux-source-2.6.29.tar.gz .
 tar -xf linux-source-2.6.29.tar.gz
 mv linux-source-2.6.29 linux-2.6.29-source-rt
 cd linux-2.6.29-source-rt
 bzcat ../patch-2.6.29.4-rt16.bz2 |patch -p1
 
I added this to the Makefile:
EXTRAVERSION = -rt16
To start from my current kernel configuration
 make oldconfig
Then I got a whole bunch of questions, most of which I answered taking the 
default options. Only for the realtime-preemption question I chose option 4, 
the realtime option.
I looked at the options with menuconfig, but didn’t really change anything 
more there. The timer frequency mentioned in the post above seems to be 
preceded by the dynamic ticks option, which was turned on.
 make menuconfig
I had to unselect “staging” and the “comedi” drivers as these caused errors 
during building, and according to some messages on LAU I don’t really need it.
Build a kernel the Debian way:
 make-kpkg clean
 time fakeroot make-kpkg --initrd -rev mz1 kernel_image kernel_headers
 
To also build a source package:
 
 time fakeroot make-kpkg --initrd -rev mz1 kernel_image kernel_headers 
kernel_source
 
This will take a while.
Your new kernel & headers now live in ../kernel Use dpkg -i to install (as 
root).
 dpkg -i ../linux-headers-*.deb ../linux-image-*.deb
So good so far… but the kernel didn’t boot yet…
 and the initrd file was missing
So with the initramfs-tools from the debian repository,
 I did (as root)
 mkinitramfs -o /boot/initrd.img-2.6.29-rt16 2.6.29-rt16
 which created the initrd image.
Also editing it appropriately in grub (/boot/grub/menu.lst) so that the boot 
process knows about it.




More information about the Linux-audio-user mailing list