Construir una estación de cálculos climáticos a partir de un ordenador viejo.

Resumen: aprovecharemos un ordenador antiguo para montar una especie de estación de cálculo de modelos climáticos para contribuir a esclarecer algunas dudas sobre el cambio climático y poder hacer predicciones al respecto. Para conseguirlo, entraremos a formar parte del proyecto ClimatePrediction.net, dirigido por la Universidad de Oxford, que usa una red de computación distribuida basada en el programa informático BOINC. Una vez instalado correctamente, el sistema tiene que ponerse en marcha sin más intervención del usuario que encender el equipo (por lo que no será necesario ni pantalla ni teclado). Haremos una instalación del sistema base de Debian Testing sin x-window-system (es decir, sin sistema de ventanas ni escritorio gráfico) como apoyo para instalar BOINC.

Instalación del sistema operativo

Con un CD de instalación por red de Debian Testing he instalado el sistema base, sin siquiera entorno gráfico. No será necesario para que el invento funcione. Completado este proceso, el equipo se ha reiniciado y en entorno de línea de comandosha requerido los datos de inicio de sesión (nombre de usuario y contraseña). En la instalación he creado el usuario alvaro y sus datos son los que uso ahora.

Instalación del paquete boinc-client

He instalado el programa BOINC mediante la orden:

apt-get install boinc-client

Hay que ejecutarla como superusuario, de manera que antes hay que introducir la orden “su” y la contraseña del usuario root (superusuario).

Cuando el apt, el programa de instalación de Debian, ha instalado BOINC y todas sus dependencias, ha mostrado el texto:

Starting BOINC core client: boinc_client.

Autologin, inicio de sesión automático

Como el ordenador ha ejecutado BOINC sin más intervención mía que encenderlo y no mantendé conectado ni siquiera el monitor, ni el ratón ni el teclado, es necesario que se inicie la sesión automáticamente con el usuario alvaro. Para ello, seguiremos los pasos siguientes con la sesión iniciada como superusuario:

Instalamos el paquete mingetty:

apt-get install mingetty

Abrimos con el editor vi el archivo /etc/inittab:

vi /etc/inittab

Cambiamos la línea:

1:2345:respawn:/sbin/getty 38400 tty1

Por esta otra:

1:2345:respawn:/sbin/mingetty --noclear --autologin alvaro tty1

Obviamente hay que cambiar el nombre de usuario alvaro por el que corresponda.

Para hacer esta pequeña edición con el editor vi, hay que dirigir el cursor hasta el punto a editar, presionar “a” que activa el modo de inserción en la siguiente posición del cursor y escribir –autologin alvaro. El comando de vi para guardar y salir es :wq.

Estos cambios afectan a un archivo importante del sistema. Escribimos reboot para reiniciar.

Configuración de BOINC

Las siguientes órdenes que hay que introducir ya no se tienen que ejecutar como superusuario sino como usuario habitual, en mi caso, alvaro, que es con el que se ha iniciado sesión automáticamente si todo ha ido bien.

Podemos ejecutar:

boinc_cmd --host localhost --get_state

Con el objetivo de comprobar que hasta ahora todo funciona como es debido. Recibiremos un mensaje en pantalla con diferentes subapartados que informan del estado de boinc. Todos estarán vacíos, seguramente, dado que aún no nos hemos inscrito en ningún proyecto.

Ahora ejecutaremos los siguientes comandos de configuración:

boinc_cmd --host localhost --set_run_mode always
boinc_cmd --host localhost --set_network_mode always

Este es el punto en el que nos uniremos al proyecto ClimatePrediction.net.

En caso de que aún no tengamos una cuenta activa de BOINC en este proyecto, podemos crear una nueva cuenta mediante el comando:

boinc_cmd --host localhost --create_account http://climateprediction.net [email protected] CONTRASEÑA NOMBREDEUSUARIO

Dónde dice [email protected] debe ir una dirección de correo electrónico real; dónde CONTRASEÑA, una contraseña inventada; y, dónde NOMBREDEUSUARIO, un nombre de usuario que elijamos, que nos servirá para identificarnos en este y otros proyectos que usen BOINC y en los diferentes servicios de estadísticas de participación en proyectos BOINC que existen.

En mi caso ya tengo una cuenta activa en este proyecto, así que ejecuto:

boinc_cmd --host localhost --lookup_account http://climateprediction.net [email protected] CONTRASEÑA

Cambiando, claro está, [email protected] por la dirección de correo real y CONTRASEÑA por la contraseña que se corresponde.

Como resultado de ejecutar esto recibiremos en pantalla una larga cadena e caracteres que usaremos a continuación al ejecutar el siguiente comando:

boinc_cmd --host localhost --project_attach http://climateprediction.net la_larga_cadena_de_caracteres

Hay que introducir donde he puesto la_larga_cadena_de_caracteres la cadena de caracteres que acabamos de recibir.

Con esto ya estaremos trabajando en el proyecto ClimatePrediction.net, lo cual significa que nuestro ordenador recibirá una serie de datos de Internet (modelos climáticos), los procesará (hará cálculos) y mandará los resultados a los responsables del proyecto, quiénes los usarán para estudiar el cambio climático y hacer predicciones al respecto.

Podemos comprobar el estado de BOINC en cualquier momento mediante la orden:

boinc_cmd --host localhost --get_state

Authorization failure: -155

A modo de nota adicional, durante el proceso me ha aparecido el error Authorization failure: -155 que he solucionado ejecutando boinc_cmd desde su propia carpeta, es decir, modificando ligeramente todos los comandos que he ido introduciendo de forma que comenzaran por ./boinc_cmd y habiendo ejecutado previamente cd /usr/bin/.

¡Se acabó!

No hay que hacer nada más. Ya podemos retirar, si queremos, la pantalla, el teclado, el ratón, etc.: el ordenador pondrá en marcha todo lo necesario para que cumpla el cometido que le hemos encargado con solo encenderlo, sin ningún esfuerzo más.

Referències

Ageless. boinc_cmd giving “Authorization failure: -155”. [Fecha de consulta: 19/10/2007]. Disponible en <http://boinc.berkeley.edu/dev/forum_thread.php?id=977&nowrap=true#4831>.

Annagul. HOW-TO BOINC. [Fecha de consulta: 19/10/2007]. Disponible en <http://softwarelibre.uca.es/boinc_howto>.

A través del monitor. Como de BOINC en Linux. [Fecha de consulta: 19/10/2007]. Disponible en <http://atravesdelmonitor.lamatriz.org/como-de-boinc-en-gnulinux>.

BOINC Project. The BOINC command tool. [Fecha de consulta: 19/10/2007]. Disponible en <http://boinc.berkeley.edu/trac/wiki/BoincCmd>.

John Kodis. Autologin with mingetty. Linux Gazette, 1988 [Fecha de consulta: 19/10/2007]. Disponible en <http://www.tldp.org/LDP/LG/issue27/kodis.html>.

Michael Kupsch. Installing the BOINC-client on Debian GNU/Linux. [Fecha de consulta: 19/10/2007]. Disponible en <http://www.mk-stuff.de/artikel/installing_boinc/>.