KeyWords: Xenomai, Real Time, Kernel, ubuntu
Recientemente he instalado el framework de tiempo real para linux Xenomai. Para instalarlo me he basado en las indicaciones de [1], pero como surgieron algunos problemas en la instalación he decidido dejas constancia de parte del proceso de instalación.
1. Descarga de las fuentes del Kernel y de Xenomai
- #cd /usr/src
- Descargo las versiones del kernel y de xenomai:
- Versión de Xenomai: 2.4.7
svn co http://svn.gna.org/svn/xenomai/trunk xenomai
- Versión del kernel: 2.6.27.19 de www.kernel.org
- Versión de Xenomai: 2.4.7
- # tar -xjf linux-2.6.xx.yy.tar.bz2
- # ln -s linux-2.6.xx.yy linux
2. Aplicar el parche de Xenomai a las fuentes de Linux
- #cd xenomai -> scripts/prepare-kernel.sh
- Ahí nos pedirá las rutas a las fuentes del kernel a las que queremos aplicar el parche, la máquina en que estamos trabajando y la ruta del parche de xenomai que nos acabamos de descargar.
3. Compilar el Kernel
- # cd /usr/src/linux
- # make menuconfig
- En este paso, al entrar en la configuración del kernel, hubo que ajustar las siguientes opciones:
- <cite> Warning: you enabled APM, CPU Frequency Scaling or ACPI 'processor'
***this options are known to cause troubles with Xenomai
*** note: Xenomai conflicts with PC Speaker support
*** Menu device Drivers/Input device support/Miscellaneous devices
NOTE: Xenomai needs either X_86_LOCAL_APIC enabled or HPET_TIMER disabled </cite>
Por lo tanto hubo que desactivar:
- 'MenuConfig' -> 'Kernel Hacking' -> 'Kernel Debugging' [N]
- 'MenuConfig' ->'Device Drivers' -> 'Input Device Support'-> ' Miscelaneous Devices' -> 'PC Speaker Support' [N]
- 'APM' -> 'CPU Frequency Scaling or ACPI'
- 'Processor Type and Features' ->'HPET_Timer_Support' [N]
- # make
- # make modules_install install
- # update-initramfs -c -k <version>
- # gedit /boot/grub/menu.lst &
- title My Distro (<version>)
title Ubuntu_<version>_Xenomai
root (hd<x>,<x>)
kernel /boot/bzImage-<version> ro root=LABEL=/
initrd /boot/initrd-<version>.img
5. Rearrancar el sistema con la nueva versión del kernel
6. Configurar y compilar Xenomai
- # cd /usr/src/xenomai-2.1
- # ./configure
- # make
- # make install
- reiniciar el sistema
7. Una vez llegados a este punto hay que correr los ejemplos alojados en testsuite
- #cd /usr/src/xenomai/share/testsuite/<exampleName>/./run
8. Posibles fallos al correr los ejemplos del Xenomai
- "Incompatible feature set userland requires "tsc", kernel provides "set fastsynch smp" missing "tsc" "
La primera vez que intenté ejecutar los test salía este fallo, que se corrigió simplemente volviendo al paso 6 Configurar y compilar Xenomai ,
haciendo:
#make cleany en lugar de ./configuration -> ./configuration --disable-x86-tsc
y volviendo a compilar las fuentes de Xenomai.
Espero que sirva de ayuda a los que queráis instalar el sistema de tiempo real en Ubuntu.