Instalando ubuntu en una xo

Mirando soluciones para tener otros sistemas operativos sobre la XO del proyecto OLPC y luego de que me lo pidieran como un favor especial. Decidí aventurarme a hacer una instalación de Ubuntu en la XO del amigo de un amigo. La instalación se realiza sobre una memoria SD.

La imagen a instalar es una adaptación de ubuntu-intrepid para la XO disponible para descarga usando este torrent.

Una vez finalizada la descarga se debe guardar el archivo OLPCFiles-intrepid-200811130.tar.bz2 en una memoria USB.

De aquí en adelante todo el proceso se puede realizar desde cualquier XO con Sugar (funcionaria igual con cualquier computador con alguna distribución GNU/Linux)

Preparación de la XO

  1. Se debe tener la clave de desarrollador de la máquina.
  2. Se debe tener instalada la versión de Sugar 8.2.0 o superior
  3. Se debe tener la versión de Firmware q2e18 o superior

Instalación de Ubuntu en la tarjeta SD

Sin que este puesta la tarjeta SD, inserte la memoria USB con el archivo OLPCFiles-intrepid-200811130.tar.bz2 en alguno de los puertos.

Inicie la actividad Terminal en Sugar.

Revise cual es el nombre de la USB. Esta operación se puede hacer de varias formas, una es ejecutar
$mount | grep /dev/sd

hasta encontrar una línea como la siguiente
/dev/sda1 on /media/USB
donde el nombre de la memoria es USB

Tenga en cuenta ese nombre, va a ser necesario más adelante.

Para los siguientes comandos se necesita que tenga acceso a la consola como root, para hacerlo escriba
$su -l
Si tiene los permisos necesarios para esta operación en lugar de $ aparecerá ahora #.

Como root, lo primero es detener el haldaemon:
#/etc/init.d/haldaemon stop

Ahora si, inserte la memoria SD. Todos los datos en la memoria se perderán en el proceso, así que vacéela antes de usarla.

Borre el MBR y la tabla de partición:
#dd if=/dev/zero of=/dev/mmcblk0 bs=4096 count=1

Haga la nueva tabla de partición:
#echo -e ‘,,L,*\n\n\n’ | sfdisk /dev/mmcblk0

Cree el sistema de archivos para el root:
#mke2fs -jLOLPCRoot /dev/mmcblk0p1

Monte el sistema de archivos y desempaque el archivo del sistema en él (recuerda el nombre de la USB?, en este paso se necesita):
#mount /dev/mmcblk0p1 /mnt
#cd /mnt
#tar xvjf /media/USB/OLPCFiles-intrepid-20081130.tar.bz2

Esta parte toma algún tiempo, cuando finalice el proceso copie la clave de desarrollador en la memoria
#cp /security/* security/

Si quiere usar el modo de ahorro de energía agresivo ejecute el comando:
touch /mnt/etc/xo-suspend/aggressive

Y listo, ahora hay que reiniciar la máquina, después de que se apague y antes de que reinicie puede quitar la USB pero no la SD.
#reboot

Si todo va bien, al reiniciar debe arrancar el nuevo sistema desde la memoria SD. Aparecerá el logo de ubuntu con el dibujo de una XO en el centro.

Inicie la sesión usando como usuario olpc y como contraseña olpcolpc

El escritorio instalado en esta versión de ubuntu es xfce.

Ya dentro del nuevo sistema es necesario cambiar la contraseña de ingreso por una nueva, hacer una actualización del sistema e instalar algunos paquetes nuevos. Para eso necesitamos conectarnos a internet. El ícono de la conexión se encuentra en la barra de abajo al pie de los escritorios. Una vez conectados para hacer la actualización y demás tareas pendientes nuevamente vamos a utilizar la terminal. En este caso, la barra de acceso a las aplicaciones está en la parte superior al centro, hay un vínculo directo al terminal ahí.

Para cambiar la contraseña de ingreso

$passwd
Ingrese la contraseña actual olpcolpc e ingrese dos veces la nueva contraseña.

Para la actualización
$sudo aptitude update
$sudo aptitude safe-upgrade
$sudo aptitude reinstall ssl-cert
$sudo aptitude clean
$sudo /etc/init.d/cups start
$mkdir .mplayer
$echo -e ‘vo=sdl\nframedrop=1\nlavdopts=skiploopfilter=all:fast=1’ > .mplayer/config
$exit

Para instalar paquetes nuevos se utiliza la orden sudo aptitud install. Por ejemplo, algo útil para instalar es el plugin de flash y el de java para las páginas web que lo necesiten.
$sudo aptitud install flashplugin-nonfree
$sudo ln -s /etc/alternatives/firefox-flashplugin /usr/lib/firefox-addons/plugins/flashplugin-alternative.so
$sudo aptitud install sun-java6-plugin

De la misma forma se pueden instalar otros programas (gimp, inkscape, msttcorefonts, openoffice, etc). Hay que revisar el espacio disponible en la SD para no quedarse sin espacio. Eso se puede hacer con el comando
$df -l

Y eso es todo, al finalizar el proceso se tiene una instalación funcional de ubuntu en la XO. Si se quiere volver a usar Sugar, sólo basta apagar la máquina, remover la memoria SD y volver a prenderla.

Las instrucciones originales de la instaalción de ubuntu en la Xo fueron publicadas inicialmente en este foro de olpcnews, mis agradecimientos a teapot por su excelente documentación.