Archive

Posts Tagged ‘XO’

Truco para las XOs 1.0 que no encuentran su Access Point

February 8, 2014 Leave a comment

En un mensaje en la lista server-devel del proyecto “una laptop para cada niño”, se desarrolló una conversación interesante el 7 de Febrero del 2014, en la cual Anna explica que no sabía que el problema de las XOs 1.0 de no encontrar su Access Point era tan común.

Ella propone una solución, que es de correr, en el terminal de la XO 1.0, el comando

iwlist eth0 scan | grep

varias veces hasta que aparezca en la lista. Una vez el aparezca, ella regresa a la vista de vencindaje de red y le da click al círculo y se asocia.
Dice que esto funciona para toda la duración de la ejecución de la laptop, pero que hay que volver a empezar una vez reinicia. Agrega que solo ocurre con unas de las XOs, y la gran mayoría funciona perfectamente.

Pero este correo viene en respuesta a otro correo de James Cameron, que propone un script para arreglar este problema automáticamente.
También indica que el problema, algunas veces, proviene de una antena rota (de recepción o de emisión, ya que hay una de cada una) y que se puede hacer una prueba de antena como descrito en: http://wiki.laptop.org/go/Antenna_testing

Anteriormente, en la misma conversación (“XO-1 classrooms” don’t reliably connect to many/most Wifi AP’s”), Adam Host mencionaba un procedimiento de prueba involucrando por lo mínimo 10 XO’s que, dice, funciona mucho mejor con dos modelos específicos de Access Points. Se puede encontrar toda la discusión (en Inglés) en su historial Mailman: http://lists.laptop.org/pipermail/server-devel/

Categories: OLPC, Spanish Tags: ,

Sugar Camp Lima 2011

October 20, 2011 Leave a comment

Escribo este artículo solo porque me doy cuenta que por ahora es muy difícil todavía encontrar información sobre el evento relacionado a la imagen (= el software) que se encuentra en las XO, las portátiles del proyecto One Laptop Per Child (Una Laptop Para Cada Niño, o OLPC) que se está organizando para los 18 y 19 de Noviembre 2011.

Entonces las respuestas a las preguntas más comunes son:

  • Qué es? : Se trata de un evento durante el cual se harán la mayor cantidad posible de esfuerzos para generar una imagen software y varias guías para poner en las pequeñas laptops verdes. Esta imagen trae muchas mejoras que hará que los niños puedan (1) usar su laptop más tiempo (ahorra la energía mejor), (2) tener más recursos didácticos en Español y quizás en Quechua y Aymara, también en zonas sin conectividad a Internet, (3) usar su laptop con más tranquilidad, ya que una gran cantidad de problemas técnicos han sido resueltos, (4) conocer más sobre la ciudadanía, la nutrición y una serie de temas que son relevantes para los niños de todos orígenes
  • Donde? : Se producirá en el Escuelab, que es un lugar de intercambio en el centro de Lima, a 200 pasos del centro de la plaza San Martin
  • Cuando?: Los días 18 (en la noche) y 19 (todo el día) de Noviembre del 2011
  • Quienes irán?: Ya tenemos confirmada la presencia de una cantidad importante de actores de áreas de software libre, de tecnologías, de defensa de la ciudadanía digital y del gobierno, así como personas que tienen esta increible oportunidad de conocer el Quechua o el Aymara. Pero lo más importante es que Usted, quien está sensibilizado a este gran problema de la educación infantil en Perú, esté presente para tomar contacto con nosotros y ayudarnos en este gran esfuerzo.

El Gobierno no tiene la responsabilidad de hacer estas cosas. Nosotros como ciudadanos elegimos el Gobierno, nosotros tenemos que mostrarle lo que esperamos de el. Ven y ayúdanos a mostrárselo!

BeezNest estará presente y apoyará como pueda en el evento, a través de su conocimiento y de su ánimo.

Instalar Chamilo en una XO 1.0

September 5, 2011 3 comments

Revolucionando el modelo de distribución de contenido pedagógico en zonas rurales de paises en desarrollo…

Este artículo sigue mi previo artículo sobre la XO y un intento para instalar Chamilo como servidor, intento que falló por falta de RAM. El objetivo aquí es de permitir a otros, a partir de este procedimiento, de instalar por completo un servidor de Chamilo (a la excepción de la videoconferencia y del convertidor de PowerPoint en lecciones) para permitir su uso con otras XO en un salón de clase sin conectividad a internet.

La idea es que el aporte en salón de clase permita introducir una noción de e-learning colaborativo y a distancia en un pueblo, y la acumulación de recursos educativos (y su posible re-uso a partir de cursos elaborados por el ministerio de educación, descargables desde una cabina internet e instalables en una versión local de Chamilo). Faltan unos pasos todavía en este procedimiento general, pero en la medida de lo posible esta guía debería eliminar unas barreras comunes en el montaje de la plataforma.

Picture of Chamilo 1.8.8.4 server on the OLPC's XO

Chamilo 1.8.8.4 corriendo en la XO 1.0, como servidor!

El cambio de modelo de distribución de contenido pedagógico que este pequeño paso implica tiene un impacto posiblemente gigantesco para los 2 próximos años.

Paso 0: Conectarse a internet

Para todo lo que sigue, se supone que la XO estará conectada a internet por un buen tiempo. Si no tiene la posibilidad de mantenerla conectada, aguarde este procedimiento hasta tener esta oportunidad, sino podría tener que dejar el procedimiento en el medio, lo que podría dañar su sistema.

Paso 1: actualizar la XO (opcional)

Si tiene una XO que fecha un poco, vale la pena actualizarla. Se puede actualizar la XO a partir del sitio de OLPC, siguiendo el procedimiento explicado aquí: http://wiki.laptop.org/go/Olpc-update#Simple_online_update y en particular para la versión de Julio de 2011, el procedimiento exacto aquí: http://wiki.laptop.org/go/Release_notes/11.2.0#XO-1_2 . Se planifica una nueva versión para Noviembre 2011. A este momento, será necesario consultar la página siguiente: http://wiki.laptop.org/go/Releases para saber cual es la última versión.

En esta explicación, me basaré en un sistema de Julio 2011.

Paso 2: actualizar la base de aplicaciones disponibles para el sistema operativo

Una vez instalada la actualización, será necesario actualizar la base de aplicativos disponibles en total libertad para instalar en su XO. Para esto, usaremos un comando propio al sistema operativo (en base a Linux RedHat), pero primero tenemos que conectarnos como se debe.

En la laptop, presione simultáneamente las teclas CTRL + ALT + F3 (o el tercer botón a partir de arriba a la izquierda en el teclado, el que normalmente da la vista de redes inalámbricas disponibles alrededor). Esto les dará una vista terminal. Se puede regresar a la vista gráfica en cualquier momento presionando CTRL + ALT + F5 (o el quinto botón a partir de la izquierda). Si en cualquier momento se siente perdido, puede apagar la laptop para después reiniciarla, presionando y manteniendo el podón de encendido/apagado por más de 5 segundos.

Una vez en el terminal, lanzar los comandos siguientes:

-bash-3.2# su

bash-3.2#

Note la diferencia entre las dos líneas… cuando no haya un prefijo “-“, significa que está en modo administrador. Por lo tanto, puede hacer cosas peligrosas para el sistema. Para salir de este modo, simplemente entrar el comando “exit” seguido de la tecla “enter”. Siga bien las instrucciones siguientes para no hacer nada daniño para su XO.

bash-3.2# yum update

Aparecerán progresivamente unas líneas como sigue:

updates-newkey                                                                                          | 3.4 kB     00:00
8b20a393f4caa93598f1148bc171d320b45c1814-primary.sqlite. | 4.4 MB     04:26
fedora                                                                                                             | 2.4 kB     00:00
primary.sqlite.bz2                                                                                      | 6.1 MB     01:40
olpc_development                                                                                      | 1.9 kB     00:00
primary.sqlite.bz2                                                                                      | 565 kB     00:11
olpc-joyride                                                                                                  |  951 B     00:00
primary.xml.gz                                                                                           |  82 kB     00:03
olpc-joyride                                                                                                  325/325
updates                                                                                                          | 2.6 kB     00:00
primary.sqlite.bz2                                                                                      | 9.1 kB     00:00
Excluding Packages from Fedora 9 – i386 – Updates Newkey
Finished
Excluding Packages from Fedora 9 – i386
Finished
Excluding Packages from OLPC Development repo based off of Fedora 9
Finished
Excluding Packages from Fedora 9 – i386 – Updates
Finished
Setting up Update Process
Resolving Dependencies
–> Running transaction check
–> Processing Dependency: NetworkManager >= 0.6.5 for package: olpc-update
—> Package NetworkManager-glib.i386 1:0.7.1-1.fc9 set to be updated
–> Processing Dependency: NetworkManager = 1:0.7.1-1.fc9 for package: NetworkManager-glib
–> Finished Dependency Resolution
1:NetworkManager-glib-0.7.1-1.fc9.i386 from updates-newkey has depsolving problems
–> Missing Dependency: NetworkManager = 1:0.7.1-1.fc9 is needed by package 1:NetworkManager-glib-0.7.1-1.fc9.i386 (updates-newkey)
olpc-update-2.18-1.noarch from installed has depsolving problems
–> Missing Dependency: NetworkManager >= 0.6.5 is needed by package olpc-update-2.18-1.noarch (installed)
Error: Missing Dependency: NetworkManager = 1:0.7.1-1.fc9 is needed by package 1:NetworkManager-glib-0.7.1-1.fc9.i386 (updates-newkey)
Error: Missing Dependency: NetworkManager >= 0.6.5 is needed by package olpc-update-2.18-1.noarch (installed)

Dejelo acabar tránquilamente (puede tomar un cierto tiempo).

Paso 3: Instalar el software necesario

Una vez recupere la mano (línea con cursor cuadrado cintillando), entre los comandos siguientes:

bash-3.2# yum install nginx mysql-server mysql php php-mysql php-common php-gd php-mbstring

Esto les dará un resultado largote como el siguiente, al fin del cual se les preguntará si están de acuerdo con descargar algo de 29M (les había dicho: es necesario tener una conexión internet por un rato). indicar que sí, presionando “y”.

Excluding Packages from Fedora 9 – i386 – Updates Newkey
Finished
Excluding Packages from Fedora 9 – i386
Finished
Excluding Packages from OLPC Development repo based off of Fedora 9
Finished
Excluding Packages from Fedora 9 – i386 – Updates
Finished
Setting up Install Process
Parsing package install arguments
Resolving Dependencies
–> Running transaction check
—> Package mysql-server.i386 0:5.0.77-1.fc9 set to be updated
–> Processing Dependency: perl-DBD-MySQL for package: mysql-server
–> Processing Dependency: perl(POSIX) for package: mysql-server
–> Processing Dependency: libmysqlclient_r.so.15(libmysqlclient_15) for package: mysql-server
–> Processing Dependency: perl(warnings) for package: mysql-server
–> Processing Dependency: perl(Data::Dumper) for package: mysql-server
–> Processing Dependency: perl(strict) for package: mysql-server
–> Processing Dependency: perl(Sys::Hostname) for package: mysql-server
–> Processing Dependency: perl(File::Path) for package: mysql-server
–> Processing Dependency: libmysqlclient.so.15(libmysqlclient_15) for package: mysql-server
–> Processing Dependency: perl-DBI for package: mysql-server
–> Processing Dependency: perl(Getopt::Long) for package: mysql-server
–> Processing Dependency: perl(vars) for package: mysql-server
–> Processing Dependency: perl(File::Copy) for package: mysql-server
–> Processing Dependency: /usr/bin/perl for package: mysql-server
–> Processing Dependency: perl(File::Temp) for package: mysql-server
–> Processing Dependency: libmysqlclient.so.15 for package: mysql-server
–> Processing Dependency: perl(DBI) for package: mysql-server
–> Processing Dependency: perl(File::Basename) for package: mysql-server
–> Processing Dependency: libmysqlclient_r.so.15 for package: mysql-server
—> Package mysql.i386 0:5.0.77-1.fc9 set to be updated
—> Package nginx.i386 0:0.6.36-1.fc9 set to be updated
–> Processing Dependency: libperl.so for package: nginx
—> Package php-mysql.i386 0:5.2.9-2.fc9 set to be updated
–> Processing Dependency: php-pdo for package: php-mysql
—> Package php-common.i386 0:5.2.9-2.fc9 set to be updated
–> Running transaction check
—> Package perl.i386 4:5.10.0-68.fc9 set to be updated
–> Processing Dependency: perl(Module::Pluggable) for package: perl
–> Processing Dependency: perl(version) for package: perl
–> Processing Dependency: perl(Pod::Simple) for package: perl
—> Package perl-DBD-MySQL.i386 0:4.005-8.fc9 set to be updated
—> Package perl-libs.i386 4:5.10.0-68.fc9 set to be updated
—> Package php-pdo.i386 0:5.2.9-2.fc9 set to be updated
—> Package perl-DBI.i386 0:1.607-1.fc9 set to be updated
—> Package mysql-libs.i386 0:5.0.77-1.fc9 set to be updated
–> Running transaction check
—> Package perl-Pod-Simple.i386 1:3.07-68.fc9 set to be updated
–> Processing Dependency: perl(Pod::Escapes) >= 1.03 for package: perl-Pod-Simple
—> Package perl-Module-Pluggable.i386 1:3.60-68.fc9 set to be updated
—> Package perl-version.i386 3:0.74-68.fc9 set to be updated
–> Running transaction check
—> Package perl-Pod-Escapes.i386 1:1.04-68.fc9 set to be updated
–> Finished Dependency Resolution

Dependencies Resolved

================================================================================
Package                  Arch    Version            Repository           Size
================================================================================
Installing:
mysql                    i386    5.0.77-1.fc9       updates-newkey       3.3 M
mysql-server             i386    5.0.77-1.fc9       updates-newkey       9.8 M
nginx                    i386    0.6.36-1.fc9       updates-newkey       328 k
php-common               i386    5.2.9-2.fc9        updates-newkey       238 k
php-mysql                i386    5.2.9-2.fc9        updates-newkey        81 k
Installing for dependencies:
mysql-libs               i386    5.0.77-1.fc9       updates-newkey       1.5 M
perl                     i386    4:5.10.0-68.fc9    updates-newkey        11 M
perl-DBD-MySQL           i386    4.005-8.fc9        fedora               165 k
perl-DBI                 i386    1.607-1.fc9        updates-newkey       776 k
perl-Module-Pluggable    i386    1:3.60-68.fc9      updates-newkey        29 k
perl-Pod-Escapes         i386    1:1.04-68.fc9      updates-newkey        23 k
perl-Pod-Simple          i386    1:3.07-68.fc9      updates-newkey       196 k
perl-libs                i386    4:5.10.0-68.fc9    updates-newkey       904 k
perl-version             i386    3:0.74-68.fc9      updates-newkey        33 k
php-pdo                  i386    5.2.9-2.fc9        updates-newkey        63 k

Transaction Summary
================================================================================
Install     15 Package(s)
Update       0 Package(s)
Remove       0 Package(s)

Total download size: 29 M
Is this ok [y/N]: y

Esto les dará ya otra pantalla de descarga como esta:

Downloading Packages:
(1/15): perl-Pod-Escapes-1.04-68.fc9.i386.rpm            |  23 kB     00:03
(2/15): perl-Module-Pluggable-3.60-68.fc9.i386.rpm       |  29 kB     00:02
(3/15): perl-version-0.74-68.fc9.i386.rpm                |  33 kB     00:02
(4/15): php-pdo-5.2.9-2.fc9.i386.rpm                     |  63 kB     00:02
(5/15): php-mysql-5.2.9-2.fc9.i386.rpm                   |  81 kB     00:03
(6/15): perl-DBD-MySQL-4.005-8.fc9.i386.rpm              | 165 kB     00:09
(7/15): perl-Pod-Simple-3.07-68.fc9.i386.rpm             | 196 kB     00:30
(8/15): php-common-5.2.9-2.fc9.i386.rpm                  | 238 kB     00:52

Es probable que el sistema le pide confirmación varias veces. Es muy probable que no haya ningun riesgo mayor en validar esta pedidas de seguridad. En realidad, existe un riesgo pero es muy poco probable que alguien esté destinando algo malicioso para las XO, por lo tanto y por enfoque a la sencillez ante todo, ignoramos este paso.

Ahora queremos descargar Chamilo, pero no cualquier versión de Chamilo. Queremos una versión disminuida con solo los idiomas Inglés, Español, Francés, Brasilenio y Quechua. Por lo tanto podemos lanzar el comando siguiente:

wget http://chamilo.googlecode.com/files/chamilo-1.8.8.4-mini.tar.gz

Si la última versión de Chamilo es distinta de la 1.8.8.4, puede averiguar la URL correcta desde la lista de paquetes aquí: http://code.google.com/p/chamilo/downloads/list

Una vez todos estos elementos mencionados así como esta guía han sido descargados, ya puede desconectar la conección internet: no debería ser necesaria a partir de este punto.

Paso 4: Determinar el nombre de su portal

Para que sus alumnos luego puedan conectarse a Chamilo a través de la interconexión de las XO, necesitan tener un nombre específico al cual tendrán que apuntar sus navegadores (estamos viendo la posibilidad con Sebastián Silva de crear una “Aplicación Chamilo” que permita quitar este requerimiento, pero todavía no está).

Por lo tanto, tiene que decidir de un nombre parecido a una URL en el cual su Chamilo va a estar disponible. Recomendamos, si es que su institución tiene un nombre de dominio, de usar este. Por ejemplo, para un colegio imaginario “Las palomitas” que tendría como dominio “www.palomitas.edu.pe”, usaríamos “aula1.palomitas.edu.pe”. Por ahora no parece ser muy importante, pero si a futuro su portal se vuelve más usado, podría ser muy práctico haber pensado en algo así en el etapa de instalación.

Paso 5: Configurar la base de datos

MySQL es un sistema ligero si uno usa las mediciones comunes en sistemas, pero cuando se trata de instalarlo en una XO, suele ser una buena idea bajar sus requerimientos para que su uso de memoria no sea tan alto, porque la memoria en una XO 1.0 es realmente un recurso escaso.

Aquí debería aprender a usar VI para poder hacer un buen trabajo, pero tratemos de explicarlo en unos pasos simples:

bash-3.2# vi /etc/my.cnf

posicionar el cursos sobre la línea después de “old_passwords=1”

teclar la letra “i”

copiar las siguientes líneas hasta “skip networking”

query_cache_limit = 1M
query_cache_size = 4M
key_buffer = 1M
max_allowed_packet = 8M
thread_stack = 2K
thread_cache_size = 16
tmp_table_size = 2M
max_heap_table_size = 1M
sort_buffer_size = 2M
;The following two settings prevent MySQL from booting. Hence disabled.
;table_open_cache = 16
;table_definition_cache = 64
read_buffer_size = 128
max_connections = 64
key_buffer_size = 4M
skip-innodb
skip_networking

ahora presionar succesivamente:  “escape” (la tecla más arriba a la derecha), “:”, “wq”, “enter”.

Esto debería haberles devuelto al terminal

bash-3.2# /etc/init.d/mysql start

Ahora tenemos una base de datos MySQL funcionando. Es tiempo de definir nuestro portal de Chamilo.

Paso 6: Configurar el servidor web

Como hemos descargado Chamilo desde la carpeta actual, deberíamos ahora encontrarnos en /home/olpc/. Para verificarlo:

bash-3.2# pwd

Ahí debería tener la mini versión de Chamilo. Para verificarlo:

bash-3.2# ls

Esto debería darme una lista de ficheros. Uno de ellos se llama “chamilo-1.8.8.4-mini.tar.gz”. Es tiempo de descomprimirlo.

bash-3.2# tar zxf chamilo*

bash-3.2# mv chamilo-1.8.8.4-mini chamilo

bash-3.2# chmod -R 0777 chamilo

Si ya no va a necesitar el paquete de Chamilo para ninguna otra cosa, puede eliminarlo para recuperar el espacio usado.

bash-3.2# rm chamilo-1.8.8.4-mini.tar.gz

Ahora tenemos una carpeta que se llama “chamilo”, y se encuentra en /home/olpc/. Por lo tanto, sabemos (porque lo necesitaremos ahora) que la instalación de Chamilo se encuentra en /home/olpc/chamilo/.

Ahora pasemos a la configuración de nginx, nuestro servidor web. Esto se hace en dos pasos: (1) asegurar que el servidor web funcione con páginas HTML simples, y (2) hacerlo funcionar con el lenguaje PHP que permite a Chamilo funcionar.

bash-3.2# vi /etc/nginx/conf.d/virtual.conf

ponga lo siguiente, como contenido del ficher (puede insertarlo después de las 3 primeras líneas de comentario poniendo el curso en la 4ta línea y presionando “i”. Use el nombre de su colegio en lugar de “palomitas” en la línea que dice “server_name”.

server {
listen        80;
server_name   localhost aula1.palomitas.edu.pe;
root /home/olpc/chamilo/;
index index.php index.html;
location / {
client_max_body_size 20M;
}
location ~ \.php$ {
include /etc/nginx/fastcgi_params;
expires 5m;
fastcgi_pass  127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param  SCRIPT_FILENAME  /home/olpc/chamilo$fastcgi_script_name;
}
}

ahora presionar succesivamente:  “escape” (la tecla más arriba a la derecha), “:”, “wq”, “enter”.

En la línea de comando, entrar:

bash-3.2# /etc/init.d/nginx start

para iniciar al servidor web.

Desde ahora debería poder ver una página de Chamilo desde la aplicación de navegador de su XO. Presione CTRL + ALT + F5 (la quinta tecla arriba del teclado) para regresar en modo visual. Ahí, vaya a su aplicación de navegador (browser) e indique la URL siguiente: http://localhost/documentation/index.html. Debería ver la página de inicio de la documentación de instalación y versiones de Chamilo. Todo conforme? Pase al etapa siguiente…

Presione CTRL + ALT + F3 para regresar al modo terminal, donde lo habíamos dejado.

bash-3.# php-cgi -b 127.0.0.1:9000 -c /etc/php.ini &

Este método de inicio de php no es muy elegante, porque no sobrevivirá una alta carga ni un re-inicio de la máquina, pero hasta mejorar el proceso, será suficiente. Esta última línea tendrá que ser lanzada a cada vez que reinicie su XO, o si el servidor responde “Bad gateway” en algún momento.

Finalmente, y para simplificar todo lo que sigue, edita el fichero /etc/hosts y defina ahí el nombre que usará para su portal:

bash-3.2# vi /etc/hosts

añadir la línea siguiente cambiando el nombre por el que usará

127.0.0.1 aula1.palomitas.edu.pe

salga guardando (“escape” + “:wq” + “enter”)

Ya está para la infraestructura del sistema. Ahora pasemos a instalar Chamilo.

Paso 7: Instalar Chamilo

En los pasos anteriores, se tomó un atajo de simplificación: usaremos el usuario de base de datos “root”. Es fácil cambiar esto antes de instalar Chamilo, pero no *tan* fácil como para detallarlo aquí en unas líneas.

Regrese a la pantalla gráfica con CTRL + ALT + F5. En el navegador, entre: http://aula1.palomitas.edu.pe/ y Enter

Debería aparecer la página del instalador de Chamilo. Básicamente tiene que validar todo y seguir las instrucciones. Las únicas cosas que debe modificar (frente a lo propuesto por defecto en el paso 5 de 6) son:

  • cambiar la dirección del portal (probablemente esté proponiendo http://localhost/, pongale http://aula1.palomitas.edu.pe/ o lo que corresponde para usted)
  • cambiar la contraseña (pongale algo más fácil de recordar y más personal)
  • cambiar la opción “Permitir que los propios usuarios puedan registrarse como creadores de cursos” a “No”

Todo lo demás solo tiene que leer y dar clic en “siguiente”.

Paso 8: Aprovechar

Desde ahora en adelante, el único paso que se tiene que repetir para iniciar el portal son los 2 comandos siguiente en el terminal:

bash-3.2# su

bash-3.2# php-cgi -b 127.0.0.1:9000 -c /etc/php.ini &

Para que sus alumnos puedan aprovechar del portal, tendrá (hasta que desarrollemos una “aplicación Chamilo”) que configurar cada una de las XO para que vinculen el nombre aula1.palomitas.edu.pe con su dirección IP. Para esto, tendrá que identificar su propia dirección en un terminal con el comando /sbin/ifconfig, y de ahí extraer la primera dirección de la línea “inet addr” en la sección “eth0”. Si su dirección es 10.42.43.81, tendrá que añadir la siguiente línea en la XO de los niños:

10.42.43.81 aula1.palominas.edu.pe

De ahí, solo necesitarán cargar http://aula1.palominas.edu.pe en su navegador para poder acceder al aula virtual.

Este artículo será continuado… para que podamos llegar algun día a esto pero con el aporte adicional de un Chamilo con recursos del ministerio de educación respectivo:

Indigenas usando la XO

Actualización sobre proyecto Chamilo + OLPC

September 2, 2011 Leave a comment

Hacen 26 meses, el proyecto OLPC (a través del apoyo de Sebastían Silva) me hizo el gran honor de aceptar el proyecto D0keos + OLPC oficialmente y de prestarnos 9 XO para un periodo de 24 meses. En esta época, yo era fundador y dueño de la empresa D0keos Latinoamérica. Los objetivos del proyecto eran:

  • asegurar la compatibilidad del LMS con las XO
  • implementar una manera de instalar el LMS en una de las XO como servidor
  • difundir el proyecto OLPC en nuestros eventos

En este largo tiempo (que ha pasado muy rápidamente), han ocurrido muchas cosas, de las cuales les voy haciendo un resumen aquí de forma cronológica

  • Junio 2009: recepción de 9 laptops (2 completamente rotas por DHL Perú) y presentación del proyecto OLPC durante el evento D0keos Users Days que organizamos en Lima, con asistencia de 180 profesionales de educación
  • entre Junio 2009 y Diciembre 2009: adecuación de los estilos gráficos por defecto de D0keos a la medida de la pantalla de la XO. De viaje a Colombia, un grupo local de OLPC me invita a exponer en uno de los eventos a los cuales participan.
  • Enero 2010: siguiendo una serie de eventos trágicos en la organización y comunicación en la comunidad de D0keos, lidero el esfuerzo de formación de un nuevo proyecto que no esté impedido de funcionar por barreras comerciales o por sentidos morales traviesos. Nace Chamilo, que colecta una gran mayoría (alrededor de 90%) de los integrantes activos de D0keos. Al mismo tiempo, la empresa cambia de nombre para BeezNest Latino, el nombre que sigue usando hoy día. Durante el año, escribo mis resultados de pruebas de hacer correr Chamilo como servidor en una XO 1.0. Éxito para esta parte, pero todavía es impráctico, por lo que una conversación con Kiko Mayorga (un actor discreto de la beneficiencia tecnológica en Perú) y Sebastían Silva, imaginamos una solución para entregar una tarjeta SD equipada con Chamilo pre-instalado. Este proyecto todavía no se concluye (mucha información que colectar) pero hay buenas esperanzas de que permita alcanzar el objetivo.
  • Todo 2010: un esfuerzo incansable de difusión, de desarrollo y de comunicación dentro de la Asociación Chamilo nos permite lograr más de 300,000 usuarios en un año de existencia. En este transcurso, un evento cada 2 meses nos da la oportunidad de hablar del proyecto OLPC, tocando un público de alrededor de 2500 personas en el año. Vinculos se crean alrededor del proyecto OLPC y empiezo a conocer más de su comunidad.
  • Octubre 2010: Hernan Pachas me pide si puedo entregar una versión de Chamilo que pueda correr en las XS: 6500 de estas tienen que ser distribuidas en escuelas peruanas antes de Junio del 2011. Para esto tendría que proponer esta versión antes del 3 de Noviembre. Después de unos problemas de disponibilidad y de comunicación, no alcanza el tiempo y tengo que abandonar. Nunca tendré respuesta de Hernan sobre si todavía vale la pena hacerlo o no… (lástima).
  • Julio de 2011: invitado a una entrevista en TV online por el Colegio de Ingenieros de Perú y Marketeando.com, hablamos 10 minutos del proyecto y su implementación en Perú
  • Agosto de 2011: el nivel de trabajo por fin comienza a estabilizarse.

Hoy: Chamilo ya se posiciona encima de D0keos en muchos aspectos y por lo tanto me da más tiempo para recordar el proyecto y mi compromiso.

No obstante, por ahora hemos cumplido con las 3 metas propuestas, lo que tengo entendido no es tan común en este tipo de proyectos. Pueden ver el procedimiento de instalación de Chamilo como servidor en la XO 1.0 aquí (falta simplificar un poco).

Ahora quedan los tres proyectos adicionales siguientes:

  • proveer un imagen de tarjeta SD con un procedimiento para que las XO puedan usarla como sistema de arranque
  • desarrollar una “aplicación Chamilo” que permita a las demás XO encontrarla en la red
  • desarrollar una versión especial de Chamilo para XS

Descrubriendo la XO/OLPC

Como lo he mencionado antes, D0keos Latinoamérica acaba de recibir un prestamo de 6 XO para el desarrollo de un proyecto de integración D0keos-OLPC.

Este articulo es el reporte de lo que estoy descubriendo, para que sirva a los demás.

Las XO corren Fedora

[olpc@xo-4B-D2-A3 ~]$ cat /etc/redhat-release
OLPC release 9 (Joyride)
[olpc@xo-4B-D2-A3 ~]$ uname -a
Linux xo-4B-D2-A3.localdomain 2.6.25-20090223.1.olpc.69098d87d56945c #1 PREEMPT Mon Feb 23 13:37:03 EST 2009 i586 i586 i386 GNU/Linux
[olpc@xo-4B-D2-A3 ~]$ cat /proc/version
Linux version 2.6.25-20090223.1.olpc.69098d87d56945c (dilinger@fc6.laptop.org) (gcc version 4.1.2 20070925 (Red Hat 4.1.2-27)) #1 PREEMPT Mon Feb 23 13:37:03 EST 2009

Se puede instalar nuevo software con yum

No conozco muy bien a Fedora, así que pensaba que iba a tener que encontrar mis propios paquetes con rpmfind, pero parece que yum lo hace todo. En el caso de querer instalar a Apache:

yum search httpd

yum install httpd.i386

Parece que esto se conecta a los repositorios de laptop.org, para recojer los paquetes correctos (y sus dependencias) directamente. Indican en el wiki.laptop.org que se puede tambien poner los paquetes necesarios en una llave USB.

Solo 1GB de disco

Bueno, no sabía mucho sobre las XO. Pues aparece que tienen una memoria (tarjeta Flash?) de 1GB, y que la mitad ya está usada por el sistema pre-instalado, dejando menos de 500MB para trabajar.

Configurar idioma

Cambiar el idioma del sistema (que por defecto viene en Inglés) es super sencillo. Dar clic derecho en el símbolo XO, escoger “Configuration panel” y después “Languages”. Ahí, seleccionar (en nuestro caso) Spanish (Peru). Se necesita reiniciar para tomar estos cambios en cuenta.

Conectarse a distancia con SSH

Aquí empiezan las cosas un poco más técnicas, digamos. Aunque el servidor openssh esté pre-instalado, es necesario cambiar la contraseña del usuario “olpc”, que por defecto usa una contraseña no válida “!!”, a algo que usted va a recordar. El hecho de tener una contraseña invalida, en sí, permite deshabilitar la conexión a distancia a través de SSH (osea… es seguro), por lo que darle una contraseña debería ser con una contraseña no fácil de averiguar, porque ahí usted esta dando la posibilidad a cualquier persona de conectarse a su laptop, y desde ahí la persona puede pasar como root y hacer lo que quiere.

[olpc@xo-4B-D2-A3 ~]$ su
bash-3.2# passwd olpc
Cambio de contraseña para el usuario olpc.
Nueva contraseña UNIX :

Bueno, una vez cambiada la contraseña, lo único que tiene que hacer es averiguar la dirección IP de la laptop para conectarse a ella:

bash-3.2# /sbin/ifconfig |grep “inet adr”
inet adr:192.168.1.104  Bcast:192.168.1.255  Masque:255.255.255.0
inet adr:127.0.0.1  Masque:255.0.0.0

En este caso, 192.168.1.104. Entonces, desde otra maquina, puede conectarse con:

$ ssh olpc@192.168.1.104

Nombre único para cada XO

Parece que cada XO tiene un nombre único: cuando uno hace un cat /etc/hosts, aparece un número de tipo xo-4B-D2-A3 o xo-4C-3C-36, que parece ser el nombre único de la máquina.

Problema con los símbolos backticks (`) de MySQL

Parece que hay un problema con el backtick de MySQL en línea de comando, que tiene la mala implicación de no poder crear un usuario específico para Dokeos… (más sobre esto más tarde)

Instalación de Chamilo

La instalación de Dokeos se puede hacer de la manera siguiente (como root o usando sudo)

bash-3.2# yum install httpd.i386 php.i386 mysql.i386 mysql-server.i386 php-mysql.i386 php-mbstring.i386 php-gd.i386

bash-3.2# cd /var/www/html/

bash-3.2# mysql_secure_installation

bash-3.2# wget http://chamilo.googlecode.com/files/chamilo-1.8.8.4.tar.gz

bash-3.2# tar zxf chamilo-1.8.8.4.tar.gz

Considerando que en general la XO se usa en primarias, es muy poco probable que se use más de dos o tres idiomas. En sí, todas los demás idiomas pueden ser eliminadas, borrando la carpeta correspondiente y las entradas de lenguajes en el fichero chamilo-1.8.8.4/main/install/main.sql

bash-3.2# cd main/lang

bash-3.2# rm -rf french_unicode swahili yoruba hebrew ……

bash-3.2# cd ../install

bash-3.2# vi main.sql

(ahí, buscar “swahili” por ejemplo y eliminar todos los idiomas que fueron eliminados por carpeta)

Opcionalmente, para definir un nombre de host (recomendamos aquí usar el nombre del usuario de la máquina), se tiene que definir un VirtualHost en la configuración de Apache, y definir este nombre en el /etc/hosts

bash-3.2# vi /etc/httpd/conf/httpd.conf

bash-3.2# vi /etc/hosts

bash-3.2# /etc/init.d/mysqld start

Por alguna razón, parece que MySQL no puede iniciarse bastante rápido para su propio plazo de inicio (“Timeout error occurred trying to start MySQL Daemon”). El problema viene del script de inicio (/etc/init.d/mysqld) y no directamente de MySQL (aunque el problema que demore mucho en cargar, sí). Para actualizarlo, solo se tiene que editar el fichero

bash-3.2# vi /etc/init.d/mysqld

y mirar para una variable STARTTIMEOUT que tiene un valor de 30, y ponerla a 120. Esto podría ayudar, o no. En mi caso, estoy todavía en este problema, investigando, porque si MySQL no funciona, va a ser muy difícil de integrar Chamilo a una OLPC (tal vez usando SQLite?).

bash-3.2# /etc/init.d/httpd start

Ignorando el problema de creación de un nuevo usuario (no está bien eso pero en ausencia de mejor forma…), se puede dirigir el navegador (o lynx pero se tiene que instalar primero) al http://localhost/chamilo-1.8.8.4/ para instalar Dokeos. Por supuesto, hay mejores formas de hacerlo (más limpias), pero por ahora no es el objetivo. Esto no funciona todavía (conexión denegada). Estaremos actualizando esta documentación dentro de poco.

No determinado

Todavia tengo que encontrar

  • como conocer la dirección IP de otro XO cerca (a partir de su nombre en el mapa)
  • como instalar un servidor Chamilo como una “actividad” de Sugar, para que “compartir” sea en realidad iniciando una conexión a través del navegador de Sugar al servidor Chamilo del otro lado

OLPC project, Escuelab and Dokeos/Chamilo

Today I went to the Escuelab in the centre of Lima to meet with Alberto, Kike Mayorga and Kiko Contreras.

My visit was apparently taken with great interest and they’ve video-interviewed me for some time to talk about DOKUDA and my projects with Dokeos and the OLPC (now updated to Chamilo and the OLPC). Apparently, the idea to have Dokeos/Chamilo run on one of the XO itself was never thought about, and that seemed to be an announcement of uttermost interest to them that this *could* be done at all. They suggested I try straight away (which I did) but my knowledge of Fedora was a bit limited at this point to know where exactly to download the packages. I did try some rpm -q and yum install commands, but without success (yum install apache seemed to trigger the download of something unrelated, I’ll have to investigate this further). Although this is unrelated, I saw that one could actually run Ubuntu on these (not that I have intentions of trying that shortly).

Apparently the problem that would be solved by the install of Dokeos on one of the XO is that when the government is sending XOs to remote areas, it also sends them with a PC pre-installed with Linux, which is supposed to serve as a server for the XO. However, people in remote areas cannot manage them, so someone around tells them “That thing is useless, just install Windows to be able to use it”, and they do. Of course, this is an illegal copy of Windows in most cases.

This brings two moral problems:

  1. Children are curious. When they’ll want to know how the system works, Windows won’t give them the ability to analyse this.
  2. Children want to share. How will the teacher deal with the student wanting to share some proprietary software which most certainly costs about one year of his parents’ revenue? Make him a software pirate at the age of 6 without letting him know about it?

Installing Dokeos on one of the XO’s (where Windows *cannot* be installed) ensures the system can remain there and is “transportable” (they can go on a walk and write about what they’re doing into Dokeos directly if the teacher goes with his XO as well). The only problem so far would be the disk space (and possibly the RAM, but Dokeos uses very little RAM per script loading).

Sebastian Silva apparently is also part of the “team” but is currently in Bolivia if I understood well.

One of the plans of the team is to setup a bus trip in remote areas equipped with the laptops in order to update the systems, reinstall the PCs under Linux and explain them how to use them. That sounds like a lot of fun. I’ll be tracking that project.

Escuelab already confirmed they *did* want to come and show their projects during the e-learning event at the end of June (DOKUDA)

Dokeos Latinoamérica (now BeezNest) lended 6 XO for Dokeos-XO integration

Quickly, because I’m a little out of free time right now, we’ve been lended 6 XO green laptops for 24 months, fo a project we intend to start shortly on a Dokeos-XO integration work.

More details:

I’m very happy about that and I can’t wait to finally be able to work on it. Depending on whether we get them before DOKUDA, the huge e-learning event we’re organizing in Lima, Peru, we might get working on the style before then, to show it off.

%d bloggers like this: