Guía rapida para instalar RTAI sobre Ubuntu 10.10 con kernel 2.6.35.7 Versión 1.0 Jorge Andrés Cerquera Jhon Edwin Cordoba jorancer @ unicauca . edu . co [email protected]COMPILAR EL KERNEL: Debemos instalar los paquetes libncurses5-dev, cvs, build-essential, kernel-package.En una terminal de comandos se teclea: $ sudo apt-get install libncurses5-dev, cvs, build-essential, kernel- package. Descargar la version 2.6.34.0 del kernel de Linux: http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.34.0.tar.bz2 Y la ultima version de RTAI del directorio de magma: Para navegar por los ficheros y directorios teclee en una terminal: $ sudo nautilus
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Guía rapida para instalar RTAI sobre Ubuntu 10.10 con kernel 2.6.35.7Versión 1.0
Jorge Andrés Cerquera Jhon Edwin Cordobajorancer @ unicauca . edu . co [email protected]
COMPILAR EL KERNEL:
Debemos instalar los paquetes libncurses5-dev, cvs, build-essential, kernel-package.En una terminal de comandos se teclea:
cvs -d:pserver;proxy=proxy.unicauca.edu.co;proxyport=3128:[email protected]:/cvs/rtai co magma
*----------------------------*export http _ proxy = http :// proxy . unicauca . edu . co :3128
, 06/04/11,
No funciona —ViktorTowm
cvs -d:pserver;proxy=proxy.unicauca.edu.co;proxyport=3128:[email protected]:/cvs/rtai logincvs -d:pserver;proxy=proxy.unicauca.edu.co;proxyport=3128:[email protected]:/cvs/rtai co magma
*----------------------------*mv magma rtai-3.7.1-magma_date # adapt with your download dateln -s rtai-3.7.1-magma_date rtai
$sudo ln -s magma rtai
Aplicación del parche:
Ubiquese en /usr/src/linux
$cd /usr/src/linux
Para aplicar el parche ejecute el comando:$sudo patch -p1 < /usr/src/rtai/base/arch/x86/patches/hal-linux-2.6.34.0-x86-2.7-02.patch
* USING LINUX NATIVE COMEDI DISTRIBUTION
Starting circa linux-2.6.29 a native COMEDI distribution can be found inLinux own subdirectory "drivers/staging/comedi". So there is no need to install COMEDI, as found at www.comedi.org, anew anymore. Moreover its usewill likely make one surer to have the latest COMEDI update available. What follows explains a prompt, likely provisional, way to exploit such a
possibility. One can expect it will stabilize in RTAI hal patches eventually. Notice that it must be applied to a kernel patched for RTAI already.
Aplicar Parche para Comedi
In Linux:
1 - cd mylinux/drivers/staging/comedi/, where "mylinux" is the path to the elected Linux installation directory. Linux version should be >= 2.6.29
cd /usr/linux/drivers/staging/comedi/
2 - sh /rtaidir/addons/comedi/patchlinuxcomedi, where "rtaidir" is the path to the elected RTAI home directory, not the one you'll install it
sh /usr/src/rtai/addons/comedi/patchlinuxcomedi
3 - Go to the elected Linux installation directory, e.g. cd ../../..
cd /usr/src/linux
4 - Configure Linux to prepare COMEDI modules; they are in the staging part of Linux drivers configuration
sudo make menuconfig
5 - Make
In RTAI:
1 - Nothing special, simply configure RTAI by setting the COMEDI installation directory to "mylinux/drivers/staging/comedi/" and make it as usual2 - Basic COMEDI modules (comedi.ko, kcomedilib.ko, comedi_fc.ko) must be i installed first, followed by all of the needed RTAI modules, including rtai_netrpc.ko if the distributed COMEDI support has to be used, rtai_comedi.ko being the very last to install. Then specific drivers modules follows. Alternative modules installation orders are possible, but the one above should be the best. Beware using depmode, because it does not know RTAI will use dynamic linking through pointers. So it might work but module removal can create problems by cutting still needed links.
Configuración del kernel:
Para esto se hara la copia del archvio de configuración de kernel actual:
sudo cp /boot/config-`uname -r` .config
Ahora ejecute la interfaz de configuración(usaremos menuconfig usted utilice la que desee):
sudo make menuconfig
Luego de copiar el archivo de configuración anterior, se deja todo se deja tal cual, excepto:
Enabled loadable module support--->Module unloading-->enabled--->Source checksum for all modules-->enabled---> Module versioning support ---> disabled
Processor type and features ---> Preemption Model ---> Preemptible Kernel (Low-Latency Desktop) ---> Interrupt pipeline ---> enabled ---> Timer frequency ---> 1000 Hz
Para sistemas de un solo procesador (Un único procesador, maquinas con P3 o P4,etc ), desabilite el soporte, si tiene como es el caso de ésta guía, un Core 2 Duo, Quad, u otro, entonces dejelea habilitada. (Si no sabe que procesador tiene mire nota al final) --->Symmetric multiprocessing suppport-->enabledSi la habilita asegurese de coloca en la opcion maximo numero de CPus: 2 --->Maximum number of CPUs-->2En familia de procesador seleccione la correspondiente a su hardware, aunque para la mayoría de los casos puede seleccionar 586/K5/5x86/6x86/6x86MX y así crear un kernel genérico. ---Processor family-->Core 2Duo (Xeon)
Power management and ACPI options ---> CPU Frequency scaling ---> CPU Frequency scaling ---> disabled ---> APM (Advanced Power Management) BIOS support ---> disabled
Compilar el kernel:
Ubicado en: $cd /usr/src/linux
Ejecute
sudo make-kpkg clean
Ahora para compilar ejecute el comando mostrado abajo, asegurese de obviar la linea CONCURRENCY_LEVEL=2 si solo tiene un procesador o mas de 2 procesadores, en caso de un solo procesador, eliminela; en caso de tener mas de 2 procesadores entonces dejela CONCURRENCY=X, donde X= numero de procesadores.
La parte correspondiente a: --append-to-version -rtai-core2, modifiquela segun su procesador o dejela como --append-to-version -rtai-i386
El tiempo de compilación puede tardar entre 45 y hasta 90 minutos según su equipo, y requiere un considerable espacio en disco duro, cerca de 7 Gigas.
Instalación del kernel:
Si ha descargado los paquetes, ubiquelos en /usr/src, sino siga y ejecute el comando:
Para kernel genericosudo dpkg -i ../linux-headers-2.6.35.7-rtai_r1_i386.deb ../linux-image-2.6.35.7-rtai_r1_i386.deb
Para procesador core2:sudo dpkg -i ../linux-headers-2.6.35.7-rtai-core2_r1_i386.deb ../linux-image-2.6.35.7-rtai-core2_r1_i386.deb
Instalar RTAI:
Compilado e instalación de fuentes
Compile and install RTAI (for now sin Comedi support):
cd /usr/local/src/rtai sudo make menuconfig (or xconfig or gconfig)
Configuración y ajuste:
-General-->(/usr/src/linux) Linux source tree--> linuxEn caso de que haya instalado una version precompilada del kernel, colo aqui la ruta de la carpeta kernel_headers
- Menu Machine (x86): adjust Number of CPUs (default = 2)
Compilar e instalar: sudo make sudo make install
Adicione ':/usr/realtime/bin' a las variables de entorno en '/etc/environment':
sudo sed -i 's/\(PATH=\"\)/\1\/usr\/realtime\/bin:/' /etc/environment
Instalar Comedi
Descargue las fuentes de Comedi http://www.comedi.org/download.html y extrraígalas en:
Al configurar puede fallar y dar errores en libboost-program-options. En /usr/lib, liste todas las librarias libboost:
$ ls | grep libboost
Probablemente tenga libboost_program_options-mt en lugar de libboost-program_options. Necesita entonces cambiar algunas referencias a ésta librería con el nombre correcto. En el archivo comedi_calibrate/configure.ac, busque la linea:
AC_CHECK_LIB([boost_program_options],[main],,AC_MSG_ERROR([Failed to find libboost_program_options.]))
Cambie las opciones del boost_program_options en el primer argumento boost_program_options-mt. Tambien necesita editar /comedi/comedi_soft_calibrate/Makefile.am. Al comienzo en la linea comedi_soft_calibrate_LDADD, cambie lboost_program_options por lboost_program_options-mt. Repita todos los pasos pra compilar COMEDI-CALIBRATE.