domingo, 22 de noviembre de 2009

Cómo instalar TinyOS usando apt-get en Debian

Hola de nuevo, esta vez nuevamente voy a escribir algo relacionado con linux y el desarrollo de una tarea (jajaja, últimamente es todo lo que hago por estos lados...). Para el ramo de Redes 2 tenemos que hacer una tarea programando un Tmote, y para ello debemos utilizar nesC: Un lenguaje de programación de sistemas para Networked Embedded System, como motes; y TinyOS: TinyOS es un sistema operativo open source basado en componentes para redes de sensores inalámbricas.
TinyOS tiene los precompilados listos para instalar sobre sistemas basados en Red Hat, sin embargo, debido a la amplia cobertura de Debian, hay personas que han convertido dichos paquetes a precompilados .deb, además de tener un repositorio con dichos paquetes. Debo agradecer a dichas personas, porque gracias a ellas es que he podido instalar TinyOS en mi pc con Debian (la opción vista en clases para poder trabajar con TinyOS requería la instalación de una máquina virtual). A continuación pongo la página de los autores de donde obtuve la información: clic aquí. Básicamente escribiré lo que hice yo en mi caso particular al momento de instalar las cosas necesarias para utilizar TinyOS.

En primer lugar tenemos que tener instalado Java SDK (pondré en otra entrada cómo instalar Java SDK, para no hacer interminable este post).

Luego, modificamos el repositorio de nuestro equipo, esto lo hacemos entrando como root a la consola del sistema, si tenemos instalado gnome, podemos utilizar gedit para modificar el archivo, de lo contrario, se puede usar nano y otro editor por consola.

su
gedit /etc/apt/sources.list


Una vez abierto el documento con la lista de los repositorios, agregamos la siguiente línea con el fin de que podamos acceder a los precompilados de TinyOS, el repositorio pertenece a la universidad de Bremen.

deb http://www.comnets.uni-bremen.de/~mab/debian tinyos/

Guardamos las modificaciones y cerramos el gedit. A continuación debemos actualizar la lista de repositorios de nuestro computador, ejecutando el siguiente comando como root:

apt-get update

Finalmente para instalar TinyOS, ejecutamos lo siguiente:

apt-get install tinyos-1.x

Nos preguntará si queremos instalar las dependencias, respondemos que Sí ("s" ó "y"). Una vez instalado TinyOS debemos configurar algunas cosas antes de poder utilizarlo. Primero modificamos la pertenencia del siguiente archivo: /opt/tinyos-1.x, con el fin de poder hacer uso de él sin la necesidad de acceder como root al sistema. Esto lo logramos utilizando el siguiente comando:

chown -R usuario /opt/tinyos-1.x

donde en usuario debemos reemplazar por el usuario que utilizamos. Ahora debemos configurar algunas variables de entorno para poder utilizar TinyOS (pongo las que yo utilicé, para más información visitar la página de referencia en inglés), conviene agregar lo siguiente al final archivo .bashrc que se encuentra en el directorio principal de nuestra cuenta de usuario.

export TOSROOT="/opt/tinyos-1.x"
export TOSDIR=$TOSROOT/tos
export CLASSPATH=".:$TOSROOT/tools/java:$TOSROOT/tools/java/jars/jdom.jar"
export MAKERULES="$TOSROOT/tools/make/Makerules"
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/lib/"
export TELOS_REV=B


Para comprobar que realmente hemos realizado todo bien, debemos compilar un archivo de prueba que viene incluido y que viene precargado al instalar TinyOS:

cd $TOSROOT/apps/Blink
make telosb


Si todo resultó bien, podemos intentar instalar un programa de prueba en el Tmote, para esto realizar lo siguiente:

make telosb reinstall,0 bsl

Luego de cargar correctamente en el mote el programa de prueba, el led rojo del Tmote, se debiera encender con una frecuencia de 1 [Hz].

Espero que todo les haya resultado bien, dejo nuevamente el link de la página de donde obtuve la información de referencia para que la visiten en caso de cualquier duda.

Saludos
Jqro

Referencia:
http://www.comnets.uni-bremen.de/typo3site/index.php?id=48

Publicado en conjunto con http://jqro.wordpress.com

martes, 10 de noviembre de 2009

El compilador de Java y Debian

Hola, aquí de nuevo escribiendo sobre Debian y java, esta vez, sobre el compilador. Todo gracias a la tarea que nos dieron en la universidad, tuve que descargar el paquete sdk de java e instalarlo en mi pc con el fin de utilizar el compilador "javac" y otros..., pero al ejecutar el kit, este solo se descomprimió, por lo que tuve que hacer algunas configuraciones para poder utilizarlo, a continuación describo como lo hice, y al final pondré un link a una página que me ayudó mucho.

En primer lugar hay que descargar el kit de desarrollo que nos proporciona java, dejo el link aquí, para que puedan descargarlo. Luego abrimos una consola y accedemos como super usuario. Movemos el archivo al directorio: /usr/java, si no está pueden crearlo:


mkdir /usr/java

luego entramos al directorio donde descargamos el archivo y lo movemos:

cd /directorio-de-descarga
mv jdk-6u17-linux-i586.bin /usr/java/


Ahora vamos al directorio /usr/java, le damos permisos de ejecución al archivo y luego lo ejecutamos:
cd /usr/java
chmod 755 jdk-6u17-linux-i586.bin
./ jdk-6u17-linux-i586.bin


Cuando este se ejecute aparecerá la licencia del producto, mantenemos presionado el espaciador hasta que nos pregunte si queremos instalar el producto, escribimos yes y damos enter.
Luego el binario descomprimirá todo en un directorio, en mi caso jdk1.6.0_17/. Con eso tenemos lista la instalación del kit de desarrollo de java, lo que queda ahora es configurar a linux para que sepa donde están los compiladores y el resto de las cosas cuando deseemos compilar algo.

Con el java SE instalado, ahora procedemos ejecutar las siguientes comandos:

Para poder generar la documentación de java:
update-alternatives --install /usr/bin/javadoc javadoc /usr/java/jdk1.6.0_17/bin/javadoc 100

Para compilar las cabeceras de paquetes que son nativos del sistema:
update-alternatives --install /usr/bin/javah javah /usr/java/jdk1.6.0_17/bin/javah 100

Para poder ejecutar los programas java que creemos:
update-alternatives --install /usr/bin/java java /usr/java/jdk1.6.0_17/bin/java 100

Y finalmente el compilador java:
update-alternatives --install /usr/bin/javac javac /usr/java/jdk1.6.0_17/bin/javac 100

El jdk tiene además las bibliotecas que se necesitan para crear los paquetes nativos, éstas están dentro del directorio include de la carpeta jdk ( /usr/java/jdk1.6.0_17/include en mi caso).

Espero que haya sido de ayuda ;)

Saludos
Jqro

Casi lo olvido, el link de donde obtuve la información que me ayudó a solucionar mi problema lo dejo acá
Publicado en conjunto con: http://jqro.wordpress.com

sábado, 7 de noviembre de 2009

Problema con sivp en Debian

Hola, acá escribiendo de nuevo sobre un problema que tenía (tenía, porque ya está solucionado) con un paquete del programa scilab. Voy a escribir la solución en parte porque colabora con la comunidad linux y también porque luego se me olvidará como solucionar este tipo de problemas.

El problema era el siguiente, había instalado scilab para hacer una tarea que nos dieron en la universidad, pero el paquete sivp quedó mal instalado y cuando quería volver a instalarlo, o simplemente eliminarlo, me aparecía el siguiente mensaje:

dpkg: error al procesar sivp (--remove):
el subproceso installed pre-removal script devolvió el código de salida de error 1
dpkg: error al reorganizar:
el subproceso installed post-installation script devolvió el código de salida de error 1
Se encontraron errores al procesar:
sivp


Así que buscando por Internet alguna solución, me encontré con una página donde ponían un consejo, dudo que fuese el más adecuado, pero el asunto es que solucionó el problema y pude desinstalar el paquete problemático.
Lo que hay que hacer es sencillo, vamos al siguiente directorio:
cd /var/lib/dpkg/info

y luego eliminamos los que tengan que ver con sivp:

rm sivp.*

Luego hacemos un
dpkg --remove sivp

y solucionado el problema.

Como dije, dudo que sea la opción que se deba hacer para eliminar el problema, sin embargo funciona, los dejo a su criterio, pongo a continuación la fuente de donde obtuve la información (en inglés, por eso me animé a ponerlo en español), clic aquí.

Saludos

Jqro
Publicado en conjunto con http://jqro.wordpress.com