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.