Instalación y Compilación del kernel en tiempo real en Debian
Para hacer gran parte de esta explicación usé otras que encontré en internet (de las cuales estoy muy agradecido) y mi propia “prueba y error”. Voy a explicar la compilación del kernel parcheado para su uso en tiempo real en la distribución de Gnu/Linux Debian y las alternativas a no compilarlo: en Debian y Fedora 9 ó 10 (usando los repositorios CCRMA de la Universidad de Standford):
Primero se deben tener instalados los siguientes paquetes (puede ser que algunos ya estén instalados):
*make ; gcc ; binutils ; libc6-dev ; linux-libc-dev ; libncurses5 ; libncurses5-dev; patch
libqt3-mt-dev y libqt3-headers (si se quiere usar xconfig en vez de menuconfig)
DEBIAN LENNY
1- Descargando y preparando las fuentes (vamos a usar un kernel de la rama 2.6.26 para aprovechar el archivo .config del que ya viene instalado en debian Lenny)
Vamos a la carpeta de las fuentes:
# cd /usr/src/
Descargamos las fuentes del kernel:
# wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.26.8.tar.gz
Descomprimimos las fuentes:
# tar xvzf linux-2.6.26.8.tar.gz
Y creamos un link simbólico para poder trabajar a través de /usr/src/linux:
# ln -s /usr/src/linux-2.6.26.8 /usr/src/linux
2- Aplicando el parche
-Descargamos el parche:
# wget http://www.kernel.org/pub/linux/kernel/projects/rt/patch-2.6.26.8-rt16.gz
-Lo descomprimimos:
# gunzip patch-2.6.26.8-rt16.gz
-Y lo instalamos:
# cd /usr/src/linux # patch -p1 <../patch-2.6.26.8-rt16
3- Configurando y compilando el nuevo Kernel
-Copiamos el fichero antiguo de configuración del kernel que vamos a instalar:
# cp /boot/config-2.6.26-2-686 /usr/src/linux/.config
-Compilamos el menu para poder seleccionar las características del kernel:
# make menuconfig
-Aquí, modificamos las siguientes entradas:
General Setup > Local version: 230508rt (La fecha de la configuración, si usan otra fecha cambien todo los nombres a continuación ¿se entiende?)
Processor type and features > Preemption Mode: Real Time (Esto nos aparecerá si tenemos el parche instalado)
Processor type and features > Timer frequency: 1000 Hz (Útil para cuando trabajemos con Rosegarden)
Processor type and features > Processor Family: Pentium4 (Elegimos el tipo de microprocesador, según sea nuestro caso)
Además, podemos desactivar el OSS (Device Drivers > Sound) , ya que no se usa, o podemos activar los módulos de ALSA dedicados al USB-Audio (Device Drivers > Sound). Es muy importante recordar tildar las opciones del driver Alsa y el modelo del chip de nuestra placa, por ejemplo en el caso de las m-audio de la serie delta: ICE1712 [Envy24].
Hay muchas opciones para desactivar y optimizar el kernel pero depende absolutamente del hardware de la computadora de cada uno y el conocimiento que tengamos de él y de que conozcamos el nombre exacto del módulo que el kernel le asigna.
Finalmente salimos pulsando sobre Exit y guardamos el fichero aceptando la pregunta.
4- Compilar, esto puede durar unas cuantas horas (todo depende de la máquina).
# make && make modules && make modules install
5- Copiar cada cosa a sus lugar :
# cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz-2.6.26.8-rt16230508rt # cp /usr/src/linux/System.map /boot/System.map-2.6.26.8-rt16230508rt # cp /usr/src/linux/.config /boot/config-2.6.26.8-rt16230508rt
6- Generar el initrd:
# mkinitramfs -o /boot/initrd.img-2.6.26.8-rt16230508rt 2.6.26.8-rt16230508rt
7- Editar el grub:
# nano /boot/grub/menu.lst (pueden usar mcedit en vez de nano si lo tienen instalado)
Y agregar las siguientes líneas para que el kernel inicie:
title Debian GNU/Linux, kernel 2.6.26.8-rt16230508rt root (hd0,0) kernel /boot/vmlinuz-2.6.26.8-rt16230508rt root=/dev/hda1 ro quiet initrd /boot/initrd.img-2.6.26.8-rt16230508rt
Reiniciar y seleccionar el kernel real time cuando aparezca el menú del grub.
Nota: en la edición de /boot/grub/menu.lst en la línea “kernel” la unidad raíz puede ser sda1 en ves de hda1.
ALTERNATIVAS A NO COMPILAR
1-DEBIAN LENNY
En Debian se puede utilizar el kernel 2.6.26-2-686 que viene por defecto, ya que tiene muy buen rendimiento, solo nos puede llegar a molestar con el uso de Rosegarden que nos da un mensaje al iniciarlo.
2-DEBIAN LENNY
En Debian otra alternativa a no compilar el kernel es usar el kernel RT de los repositorios 64Studio testing: agregar la siguiente línea a /etc/apt/sources.list:
deb http://apt.64studio.com/64studio/testing/ 64studio main
luego:
#aptitude update #aptitude install linux-image-2.6.21-1-multimedia-486
una vez instalado este kernel comentar odesactivar el repositorio de 64studio.
3-FEDORA 9 ó 10 con reposotorios planet CCRMA
En el caso de Fedora (La alternativa a no compilar el kernel es instalar el del repositorio CCRMA:
#rpm -Uvh http://ccrma.stanford.edu/planetccrma/mirror/fedora/linux/planetccrma/9/i386/planetccrma-repo-1.1-2.fc9.ccrma.noarch.rpm
(así agrego el repositorio, lo mismo para fedora 10 cambiando los 9 por 10)
#yum update
(así actualizo los repositorios)
#yum install planetccrma-core
(así instalo el kernel y se configura automáticamente el archivo de configuración /etc/security/limits.conf)
Luego se pueden instalar una a una las aplicaciones de audio que se requieran desde el repositorio CCRMA ó todas juntas con:
#yum install planetccrma-apps
En el caso que pulse-audio provocara algún problema con el Real Time o con Jack la solución es:
#yum erase pulseaudio
Espero que sirva, ¡Muchas gracias! Matías por el espacio:
PD: Añado unas modificaciones de esta explicación que hizo mi amigo Esteban Segreto, gracias por el copyleft!!!
Gabriel Nicolás González Ferreira.

#1 by Tyto on 24 mayo 2009 - 15:32
Gracias por compartir el “esfuerzo” de vivir en Libertad.
Compartiré esta nota al igual que la página, con algunos amigos.
Osvaldo
#2 by Matias F. Gea on 26 mayo 2009 - 9:22
Excelente artículo!
Le agregué algunas tags y unas etiquetas de preformateo. Cualquier cosa avisame.
Salu2 y espero que sigas escribiendo!